1 line
No EOL
64 KiB
Text
1 line
No EOL
64 KiB
Text
{"version":3,"file":"ffmpeg.min.js","mappings":"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","sources":["webpack://FFmpeg/webpack/universalModuleDefinition","webpack://FFmpeg/./src/browser/defaultOptions.js","webpack://FFmpeg/./src/browser/getCreateFFmpegCore.js","webpack://FFmpeg/./src/browser/fetchFile.js","webpack://FFmpeg/./src/config.js","webpack://FFmpeg/./src/createFFmpeg.js","webpack://FFmpeg/./src/index.js","webpack://FFmpeg/./src/utils/errors.js","webpack://FFmpeg/./src/utils/log.js","webpack://FFmpeg/./src/utils/parseArgs.js","webpack://FFmpeg/./node_modules/regenerator-runtime/runtime.js","webpack://FFmpeg/webpack/bootstrap","webpack://FFmpeg/webpack/runtime/define property getters","webpack://FFmpeg/webpack/runtime/hasOwnProperty shorthand","webpack://FFmpeg/webpack/runtime/make namespace object","webpack://FFmpeg/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"FFmpeg\"] = factory();\n\telse\n\t\troot[\"FFmpeg\"] = factory();\n})(self, () => {\nreturn ","import pkg from '../../package.json';\n\n/*\n * Default options for browser environment\n */\nconst corePath = typeof process !== 'undefined' && process.env.NODE_ENV === 'development'\n ? new URL('/node_modules/@ffmpeg/core/dist/ffmpeg-core.js', import.meta.url).href\n : `https://unpkg.com/@ffmpeg/core@${pkg.devDependencies['@ffmpeg/core'].substring(1)}/dist/ffmpeg-core.js`;\n\nexport default { corePath };\n","/* eslint-disable no-undef */\nimport { log } from '../utils/log';\nimport {\n CREATE_FFMPEG_CORE_IS_NOT_DEFINED,\n} from '../utils/errors';\n\n/*\n * Fetch data from remote URL and convert to blob URL\n * to avoid CORS issue\n */\nconst toBlobURL = async (url, mimeType) => {\n log('info', `fetch ${url}`);\n const buf = await (await fetch(url)).arrayBuffer();\n log('info', `${url} file size = ${buf.byteLength} bytes`);\n const blob = new Blob([buf], { type: mimeType });\n const blobURL = URL.createObjectURL(blob);\n log('info', `${url} blob URL = ${blobURL}`);\n return blobURL;\n};\n\n// eslint-disable-next-line\nexport const getCreateFFmpegCore = async ({\n corePath: _corePath,\n workerPath: _workerPath,\n wasmPath: _wasmPath,\n}) => {\n // in Web Worker context\n // eslint-disable-next-line\n if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {\n if (typeof _corePath !== 'string') {\n throw Error('corePath should be a string!');\n }\n const coreRemotePath = new URL(_corePath, import.meta.url).href;\n const corePath = await toBlobURL(\n coreRemotePath,\n 'application/javascript',\n );\n const wasmPath = await toBlobURL(\n _wasmPath !== undefined ? _wasmPath : coreRemotePath.replace('ffmpeg-core.js', 'ffmpeg-core.wasm'),\n 'application/wasm',\n );\n const workerPath = await toBlobURL(\n _workerPath !== undefined ? _workerPath : coreRemotePath.replace('ffmpeg-core.js', 'ffmpeg-core.worker.js'),\n 'application/javascript',\n );\n if (typeof createFFmpegCore === 'undefined') {\n return new Promise((resolve) => {\n globalThis.importScripts(corePath);\n if (typeof createFFmpegCore === 'undefined') {\n throw Error(CREATE_FFMPEG_CORE_IS_NOT_DEFINED(coreRemotePath));\n }\n log('info', 'ffmpeg-core.js script loaded');\n resolve({\n createFFmpegCore,\n corePath,\n wasmPath,\n workerPath,\n });\n });\n }\n log('info', 'ffmpeg-core.js script is loaded already');\n return Promise.resolve({\n createFFmpegCore,\n corePath,\n wasmPath,\n workerPath,\n });\n }\n if (typeof _corePath !== 'string') {\n throw Error('corePath should be a string!');\n }\n const coreRemotePath = new URL(_corePath, import.meta.url).href;\n const corePath = await toBlobURL(\n coreRemotePath,\n 'application/javascript',\n );\n const wasmPath = await toBlobURL(\n _wasmPath !== undefined ? _wasmPath : coreRemotePath.replace('ffmpeg-core.js', 'ffmpeg-core.wasm'),\n 'application/wasm',\n );\n const workerPath = await toBlobURL(\n _workerPath !== undefined ? _workerPath : coreRemotePath.replace('ffmpeg-core.js', 'ffmpeg-core.worker.js'),\n 'application/javascript',\n );\n if (typeof createFFmpegCore === 'undefined') {\n return new Promise((resolve) => {\n const script = document.createElement('script');\n const eventHandler = () => {\n script.removeEventListener('load', eventHandler);\n if (typeof createFFmpegCore === 'undefined') {\n throw Error(CREATE_FFMPEG_CORE_IS_NOT_DEFINED(coreRemotePath));\n }\n log('info', 'ffmpeg-core.js script loaded');\n resolve({\n createFFmpegCore,\n corePath,\n wasmPath,\n workerPath,\n });\n };\n script.src = corePath;\n script.type = 'text/javascript';\n script.addEventListener('load', eventHandler);\n document.getElementsByTagName('head')[0].appendChild(script);\n });\n }\n log('info', 'ffmpeg-core.js script is loaded already');\n return Promise.resolve({\n createFFmpegCore,\n corePath,\n wasmPath,\n workerPath,\n });\n};\n","const readFromBlobOrFile = (blob) => (\n new Promise((resolve, reject) => {\n const fileReader = new FileReader();\n fileReader.onload = () => {\n resolve(fileReader.result);\n };\n fileReader.onerror = ({ target: { error: { code } } }) => {\n reject(Error(`File could not be read! Code=${code}`));\n };\n fileReader.readAsArrayBuffer(blob);\n })\n);\n\n// eslint-disable-next-line\nexport const fetchFile = async (_data) => {\n let data = _data;\n if (typeof _data === 'undefined') {\n return new Uint8Array();\n }\n\n if (typeof _data === 'string') {\n /* From base64 format */\n if (/data:_data\\/([a-zA-Z]*);base64,([^\"]*)/.test(_data)) {\n data = atob(_data.split(',')[1])\n .split('')\n .map((c) => c.charCodeAt(0));\n /* From remote server/URL */\n } else {\n const res = await fetch(new URL(_data, import.meta.url).href);\n data = await res.arrayBuffer();\n }\n /* From Blob or File */\n } else if (_data instanceof File || _data instanceof Blob) {\n data = await readFromBlobOrFile(_data);\n }\n\n return new Uint8Array(data);\n};\n","module.exports = {\n defaultArgs: [\n /* args[0] is always the binary path */\n './ffmpeg',\n /* Disable interaction mode */\n '-nostdin',\n /* Force to override output file */\n '-y',\n ],\n baseOptions: {\n /* Flag to turn on/off log messages in console */\n log: false,\n /*\n * Custom logger to get ffmpeg.wasm output messages.\n * a sample logger looks like this:\n *\n * ```\n * logger = ({ type, message }) => {\n * console.log(type, message);\n * }\n * ```\n *\n * type can be one of following:\n *\n * info: internal workflow debug messages\n * fferr: ffmpeg native stderr output\n * ffout: ffmpeg native stdout output\n */\n logger: () => {},\n /*\n * Progress handler to get current progress of ffmpeg command.\n * a sample progress handler looks like this:\n *\n * ```\n * progress = ({ ratio }) => {\n * console.log(ratio);\n * }\n * ```\n *\n * ratio is a float number between 0 to 1.\n */\n progress: () => {},\n /*\n * Path to find/download ffmpeg.wasm-core,\n * this value should be overwriten by `defaultOptions` in\n * each environment.\n */\n corePath: '',\n },\n};\n","const { defaultArgs, baseOptions } = require('./config');\nconst parseArgs = require('./utils/parseArgs');\nconst { defaultOptions, getCreateFFmpegCore } = require('./node');\nconst { version } = require('../package.json');\n\nconst NO_LOAD = Error('ffmpeg.wasm is not ready, make sure you have completed load().');\n\nmodule.exports = (_options = {}) => {\n const {\n log: optLog,\n logger,\n progress: optProgress,\n ...options\n } = {\n ...baseOptions,\n ...defaultOptions,\n ..._options,\n };\n let Core = null;\n let ffmpeg = null;\n let runResolve = null;\n let runReject = null;\n let running = false;\n let customLogger = () => {};\n let logging = optLog;\n let progress = optProgress;\n let duration = 0;\n let frames = 0;\n let readFrames = false;\n let ratio = 0;\n\n const detectCompletion = (message) => {\n if (message === 'FFMPEG_END' && runResolve !== null) {\n runResolve();\n runResolve = null;\n runReject = null;\n running = false;\n }\n };\n const log = (type, message) => {\n customLogger({ type, message });\n if (logging) {\n console.log(`[${type}] ${message}`);\n }\n };\n const ts2sec = (ts) => {\n const [h, m, s] = ts.split(':');\n return (parseFloat(h) * 60 * 60) + (parseFloat(m) * 60) + parseFloat(s);\n };\n const parseProgress = (message, prog) => {\n if (typeof message === 'string') {\n if (message.startsWith(' Duration')) {\n const ts = message.split(', ')[0].split(': ')[1];\n const d = ts2sec(ts);\n prog({ duration: d, ratio });\n if (duration === 0 || duration > d) {\n duration = d;\n readFrames = true;\n }\n } else if (readFrames && message.startsWith(' Stream')) {\n const match = message.match(/([\\d.]+) fps/);\n if (match) {\n const fps = parseFloat(match[1]);\n frames = duration * fps;\n } else {\n frames = 0;\n }\n readFrames = false;\n } else if (message.startsWith('frame') || message.startsWith('size')) {\n const ts = message.split('time=')[1].split(' ')[0];\n const t = ts2sec(ts);\n const match = message.match(/frame=\\s*(\\d+)/);\n if (frames && match) {\n const f = parseFloat(match[1]);\n ratio = Math.min(f / frames, 1);\n } else {\n ratio = t / duration;\n }\n prog({ ratio, time: t });\n } else if (message.startsWith('video:')) {\n prog({ ratio: 1 });\n duration = 0;\n }\n }\n };\n const parseMessage = ({ type, message }) => {\n log(type, message);\n parseProgress(message, progress);\n detectCompletion(message);\n };\n\n /*\n * Load ffmpeg.wasm-core script.\n * In browser environment, the ffmpeg.wasm-core script is fetch from\n * CDN and can be assign to a local path by assigning `corePath`.\n * In node environment, we use dynamic require and the default `corePath`\n * is `$ffmpeg/core`.\n *\n * Typically the load() func might take few seconds to minutes to complete,\n * better to do it as early as possible.\n *\n */\n const load = async () => {\n log('info', 'load ffmpeg-core');\n if (Core === null) {\n log('info', 'loading ffmpeg-core');\n /*\n * In node environment, all paths are undefined as there\n * is no need to set them.\n */\n const {\n createFFmpegCore,\n corePath,\n workerPath,\n wasmPath,\n } = await getCreateFFmpegCore(options);\n Core = await createFFmpegCore({\n /*\n * Assign mainScriptUrlOrBlob fixes chrome extension web worker issue\n * as there is no document.currentScript in the context of content_scripts\n */\n mainScriptUrlOrBlob: corePath,\n printErr: (message) => parseMessage({ type: 'fferr', message }),\n print: (message) => parseMessage({ type: 'ffout', message }),\n /*\n * locateFile overrides paths of files that is loaded by main script (ffmpeg-core.js).\n * It is critical for browser environment and we override both wasm and worker paths\n * as we are using blob URL instead of original URL to avoid cross origin issues.\n */\n locateFile: (path, prefix) => {\n if (typeof window !== 'undefined' || typeof WorkerGlobalScope !== 'undefined') {\n if (typeof wasmPath !== 'undefined'\n && path.endsWith('ffmpeg-core.wasm')) {\n return wasmPath;\n }\n if (typeof workerPath !== 'undefined'\n && path.endsWith('ffmpeg-core.worker.js')) {\n return workerPath;\n }\n }\n return prefix + path;\n },\n });\n ffmpeg = Core.cwrap(options.mainName || 'proxy_main', 'number', ['number', 'number']);\n log('info', 'ffmpeg-core loaded');\n } else {\n throw Error('ffmpeg.wasm was loaded, you should not load it again, use ffmpeg.isLoaded() to check next time.');\n }\n };\n\n /*\n * Determine whether the Core is loaded.\n */\n const isLoaded = () => Core !== null;\n\n /*\n * Run ffmpeg command.\n * This is the major function in ffmpeg.wasm, you can just imagine it\n * as ffmpeg native cli and what you need to pass is the same.\n *\n * For example, you can convert native command below:\n *\n * ```\n * $ ffmpeg -i video.avi -c:v libx264 video.mp4\n * ```\n *\n * To\n *\n * ```\n * await ffmpeg.run('-i', 'video.avi', '-c:v', 'libx264', 'video.mp4');\n * ```\n *\n */\n const run = (..._args) => {\n log('info', `run ffmpeg command: ${_args.join(' ')}`);\n if (Core === null) {\n throw NO_LOAD;\n } else if (running) {\n throw Error('ffmpeg.wasm can only run one command at a time');\n } else {\n running = true;\n return new Promise((resolve, reject) => {\n const args = [...defaultArgs, ..._args].filter((s) => s.length !== 0);\n runResolve = resolve;\n runReject = reject;\n ffmpeg(...parseArgs(Core, args));\n });\n }\n };\n\n /*\n * Run FS operations.\n * For input/output file of ffmpeg.wasm, it is required to save them to MEMFS\n * first so that ffmpeg.wasm is able to consume them. Here we rely on the FS\n * methods provided by Emscripten.\n *\n * Common methods to use are:\n * ffmpeg.FS('writeFile', 'video.avi', new Uint8Array(...)): writeFile writes\n * data to MEMFS. You need to use Uint8Array for binary data.\n * ffmpeg.FS('readFile', 'video.mp4'): readFile from MEMFS.\n * ffmpeg.FS('unlink', 'video.map'): delete file from MEMFS.\n *\n * For more info, check https://emscripten.org/docs/api_reference/Filesystem-API.html\n *\n */\n const FS = (method, ...args) => {\n log('info', `run FS.${method} ${args.map((arg) => (typeof arg === 'string' ? arg : `<${arg.length} bytes binary file>`)).join(' ')}`);\n if (Core === null) {\n throw NO_LOAD;\n } else {\n let ret = null;\n try {\n ret = Core.FS[method](...args);\n } catch (e) {\n if (method === 'readdir') {\n throw Error(`ffmpeg.FS('readdir', '${args[0]}') error. Check if the path exists, ex: ffmpeg.FS('readdir', '/')`);\n } else if (method === 'readFile') {\n throw Error(`ffmpeg.FS('readFile', '${args[0]}') error. Check if the path exists`);\n } else {\n throw Error('Oops, something went wrong in FS operation.');\n }\n }\n return ret;\n }\n };\n\n /**\n * forcibly terminate the ffmpeg program.\n */\n const exit = () => {\n if (Core === null) {\n throw NO_LOAD;\n } else {\n // if there's any pending runs, reject them\n if (runReject) {\n runReject('ffmpeg has exited');\n }\n running = false;\n try {\n Core.exit(1);\n } catch (err) {\n log(err.message);\n if (runReject) {\n runReject(err);\n }\n } finally {\n Core = null;\n ffmpeg = null;\n runResolve = null;\n runReject = null;\n }\n }\n };\n\n const setProgress = (_progress) => {\n progress = _progress;\n };\n\n const setLogger = (_logger) => {\n customLogger = _logger;\n };\n\n const setLogging = (_logging) => {\n logging = _logging;\n };\n\n const coreFS = () => Core.FS;\n\n log('info', `use ffmpeg.wasm v${version}`);\n\n return {\n setProgress,\n setLogger,\n setLogging,\n load,\n isLoaded,\n run,\n exit,\n coreFS,\n Core,\n FS,\n };\n};\n","require('regenerator-runtime/runtime');\nconst createFFmpeg = require('./createFFmpeg');\nconst { fetchFile } = require('./node');\n\nmodule.exports = {\n /*\n * Create ffmpeg instance.\n * Each ffmpeg instance owns an isolated MEMFS and works\n * independently.\n *\n * For example:\n *\n * ```\n * const ffmpeg = createFFmpeg({\n * log: true,\n * logger: () => {},\n * progress: () => {},\n * corePath: '',\n * })\n * ```\n *\n * For the usage of these four arguments, check config.js\n *\n */\n createFFmpeg,\n /*\n * Helper function for fetching files from various resource.\n * Sometimes the video/audio file you want to process may located\n * in a remote URL and somewhere in your local file system.\n *\n * This helper function helps you to fetch to file and return an\n * Uint8Array variable for ffmpeg.wasm to consume.\n *\n */\n fetchFile,\n};\n","const CREATE_FFMPEG_CORE_IS_NOT_DEFINED = (corePath) => (`\ncreateFFmpegCore is not defined. ffmpeg.wasm is unable to find createFFmpegCore after loading ffmpeg-core.js from ${corePath}. Use another URL when calling createFFmpeg():\n\nconst ffmpeg = createFFmpeg({\n corePath: 'http://localhost:3000/ffmpeg-core.js',\n});\n`);\n\nmodule.exports = {\n CREATE_FFMPEG_CORE_IS_NOT_DEFINED,\n};\n","let logging = false;\nlet customLogger = () => {};\n\nconst setLogging = (_logging) => {\n logging = _logging;\n};\n\nconst setCustomLogger = (logger) => {\n customLogger = logger;\n};\n\nconst log = (type, message) => {\n customLogger({ type, message });\n if (logging) {\n console.log(`[${type}] ${message}`);\n }\n};\n\nmodule.exports = {\n logging,\n setLogging,\n setCustomLogger,\n log,\n};\n","module.exports = (Core, args) => {\n const argsPtr = Core._malloc(args.length * Uint32Array.BYTES_PER_ELEMENT);\n args.forEach((s, idx) => {\n const sz = Core.lengthBytesUTF8(s) + 1;\n const buf = Core._malloc(sz);\n Core.stringToUTF8(s, buf, sz);\n Core.setValue(argsPtr + (Uint32Array.BYTES_PER_ELEMENT * idx), buf, 'i32');\n });\n return [args.length, argsPtr];\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(352);\n"],"names":["root","factory","exports","module","define","amd","self","corePath","pkg","toBlobURL","url","mimeType","log","fetch","arrayBuffer","buf","byteLength","blob","Blob","type","blobURL","URL","createObjectURL","getCreateFFmpegCore","_corePath","_workerPath","workerPath","_wasmPath","wasmPath","WorkerGlobalScope","Error","coreRemotePath","import","href","undefined","replace","createFFmpegCore","Promise","resolve","globalThis","importScripts","CREATE_FFMPEG_CORE_IS_NOT_DEFINED","script","document","createElement","src","addEventListener","eventHandler","removeEventListener","getElementsByTagName","appendChild","readFromBlobOrFile","reject","fileReader","FileReader","onload","result","onerror","code","target","error","readAsArrayBuffer","fetchFile","_data","data","Uint8Array","test","atob","split","map","c","charCodeAt","res","File","defaultArgs","baseOptions","logger","progress","require","parseArgs","defaultOptions","version","NO_LOAD","_options","optLog","optProgress","options","Core","ffmpeg","runResolve","runReject","running","customLogger","logging","duration","frames","readFrames","ratio","message","console","ts2sec","ts","h","m","s","parseFloat","parseMessage","prog","startsWith","d","match","fps","t","f","Math","min","time","parseProgress","detectCompletion","load","mainScriptUrlOrBlob","printErr","print","locateFile","path","prefix","window","endsWith","cwrap","mainName","setProgress","_progress","setLogger","_logger","setLogging","_logging","isLoaded","run","_args","join","args","filter","length","exit","err","coreFS","FS","method","arg","ret","e","createFFmpeg","setCustomLogger","argsPtr","_malloc","Uint32Array","BYTES_PER_ELEMENT","forEach","idx","sz","lengthBytesUTF8","stringToUTF8","setValue","runtime","Op","Object","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","obj","key","value","defineProperty","enumerable","configurable","writable","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","done","GenStateSuspendedYield","makeInvokeMethod","fn","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","this","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","then","unwrapped","previousPromise","callInvokeWithMethodAndArg","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","i","constructor","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","iter","toString","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","o","get","prop","r"],"sourceRoot":""} |