1(function(){"use strict";if(window.__Mp4BoxProbe&&!window.__Mp4BoxProbe.__isStub)return;var l=null;function v(){return window.MP4Box?Promise.resolve():l||(l=new Promise(function(i,w){var n=document.createElement("script");n.src="/vendor/mp4box/mp4box.all.min.js",n.onload=function(){i()},n.onerror=function(){var o=document.createElement("script");o.src="https://timbrica.com/vendor/mp4box/mp4box.all.min.js",o.onload=function(){i()},o.onerror=function(){var r=document.createElement("script");r.src="https://cdn.jsdelivr.net/npm/[email protected]/dist/mp4box.all.min.js",r.onload=function(){i()},r.onerror=function(){w(new Error("mp4box.js failed to load"))},document.head.appendChild(r)},document.head.appendChild(o)},document.head.appendChild(n)}),l)}var y=4*1024*1024,b=64*1024*1024;window.__loadMp4Box=v,window.__Mp4BoxProbe=async function(i){if(!i||typeof i.slice!="function")throw new Error("Mp4BoxProbe: argument is not a Blob/File");return await v(),await new Promise(function(w,n){var o=window.MP4Box.createFile(),r=!1,c=setTimeout(function(){if(!r){r=!0;try{o.flush()}catch{}n(new Error("mp4box probe timeout (>10 s)"))}},1e4);o.onReady=function(t){if(!r){r=!0,clearTimeout(c);var e=(t.tracks||[]).find(function(d){return d.type==="video"}),s=/^(twos|sowt|in24|23ni|in32|23in|fl32|fl64|lpcm|raw ?|ulaw|alaw)$/i,m=(t.tracks||[]).find(function(d){return d.type==="audio"?!0:d.type==="video"?!1:s.test(String(d.codec||"").trim())}),u=!1;try{for(var p=o.moov&&o.moov.traks||[],f=0;f<p.length&&!u;f++){var x=p[f]&&p[f].mdia&&p[f].mdia.hdlr;x&&x.handler==="soun"&&(u=!0)}}catch{}w({duration:t.timescale?t.duration/t.timescale:0,width:e&&e.video?e.video.width:e&&e.track_width||0,height:e&&e.video?e.video.height:e&&e.track_height||0,hasAudio:!!m||u,codec:e?e.codec:"",container:"mp4",tracks:t.tracks||[]})}},o.onError=function(t){r||(r=!0,clearTimeout(c),n(new Error("mp4box parse error: "+(t||"unknown"))))};var a=0,h=0;async function _(){try{for(;!r&&a<i.size;){var t=Math.min(a+y,i.size),e=i.slice(a,t),s=await e.arrayBuffer();if(h+=s.byteLength,h>b){if(r)return;r=!0,clearTimeout(c),n(new Error("mp4box read >"+b+" bytes without finding moov"));return}s.fileStart=a;var m=o.appendBuffer(s);if(r)return;m<=a?a=Math.max(t,m):a=m}if(!r){try{o.flush()}catch{}r||(r=!0,clearTimeout(c),n(new Error("mp4box parsed entire file ("+h+" bytes read) without finding moov")))}}catch(u){if(r)return;r=!0,clearTimeout(c),n(u)}}_()})}})(),typeof window.__drainSharedFunction=="function"&&window.__drainSharedFunction("__Mp4BoxProbe"); 2//# sourceMappingURL=mp4box-probe.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.