{"_id":"@banou/media-player","_rev":"54-54df4591b8c11f4b864b597f8ea8bf79","name":"@banou/media-player","dist-tags":{"latest":"0.10.5"},"versions":{"0.0.0":{"name":"@banou/media-player","version":"0.0.0","author":{"name":"Banou26"},"_id":"@banou/media-player@0.0.0","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"0c927228610151f388414198c7a0d5f37d311a3a","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.0.0.tgz","fileCount":26,"integrity":"sha512-UKqKMIsW5u0QHgzzprvGbxAdjTKRmz7RXUVbNhdobYrgbqd65vBLl5XZ42z4i7Xq0oGY2Y6c435osSA0vTYeuQ==","signatures":[{"sig":"MEQCIDh+X8o8L14qFQ5sqDtgEpjYdiOKfEYtlXvpH18L7rzQAiB061RR9vJlpmdeBP4IZl8WNFuBNfFDulwwYCHtHOKhug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":207425},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"9d3758c5abe7ddb8471afa4bcfb21b0a29666fd3","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/@banou26/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-deps":"copyfiles -u 4 node_modules/@banou26/libav-wasm/build/shared-memory-api_pb.*.js build","copy-worker-wasm":"shx cp node_modules/@banou26/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-deps && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"9.8.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"20.5.1","dependencies":{"osra":"^0.0.11","react":"^18.2.0","jassub":"^1.7.1","mp4box":"^0.5.2","p-queue":"^7.3.4","libav-wasm":"^0.1.7","react-feather":"^2.0.10","react-tooltip":"^4.2.21","@emotion/react":"^11.10.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^4.0.4","copyfiles":"^2.4.1","react-dom":"^18.2.0","typescript":"^4.9.4","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.0.0_1702436794018_0.5737052846038224","host":"s3://npm-registry-packages"}},"0.0.1":{"name":"@banou/media-player","version":"0.0.1","author":{"name":"Banou26"},"_id":"@banou/media-player@0.0.1","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"4e017c8210a6ca07d70feaa7d70a4a82a1ba8e02","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.0.1.tgz","fileCount":26,"integrity":"sha512-7GB3t6ESQoVa3ROX2RUMYEBL2ZsgIpJP3H2nSUQe6el1Ul300K5AWjTf//vPIxi+KZehViEIUJBxnxo+Qkhgwg==","signatures":[{"sig":"MEQCIHKNLXkhTNWX5NTpHSl52rdnQHzpWPXcdMzXwR912mR8AiAvciye4Gqv1ZftaZ3MqLKCrPdiiyfBIpOdeIejhNTc9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":207425},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"551194ccece629d4f29d4bc71a49d4e07e4a17a1","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/@banou26/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-deps":"copyfiles -u 4 node_modules/@banou26/libav-wasm/build/shared-memory-api_pb.*.js build","copy-worker-wasm":"shx cp node_modules/@banou26/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-deps && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"9.8.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"20.5.1","dependencies":{"osra":"^0.0.11","react":"^18.2.0","jassub":"^1.7.1","mp4box":"^0.5.2","p-queue":"^7.3.4","libav-wasm":"^0.1.8","react-feather":"^2.0.10","react-tooltip":"^4.2.21","@emotion/react":"^11.10.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^4.0.4","copyfiles":"^2.4.1","react-dom":"^18.2.0","typescript":"^4.9.4","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.0.1_1702694270436_0.7205342505296768","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@banou/media-player","version":"0.0.2","author":{"name":"Banou26"},"_id":"@banou/media-player@0.0.2","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"4099f8f684640a2523a5aafc9c91b1045d99cb29","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.0.2.tgz","fileCount":26,"integrity":"sha512-glqWw/VC0KDvjewDRqqEoUU7mybMh0tARUqMrzGOt0cdB13LadBzcSc9ppqcGeYIpcbZpOkNErZNFjE4K441KQ==","signatures":[{"sig":"MEUCIDkli2nQc0zcvdMi+2KRF71wkiRi+bcF34ppcbF7oEYVAiEAjChvqmXQ6db+I05cBTp075fw8F758D+cOYGWdcaYxEA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":207425},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"be4942d879812be6b2d8780fd3b8ca5741afa3a7","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/@banou26/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-deps":"copyfiles -u 4 node_modules/@banou26/libav-wasm/build/shared-memory-api_pb.*.js build","copy-worker-wasm":"shx cp node_modules/@banou26/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-deps && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"9.8.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"20.5.1","dependencies":{"osra":"^0.0.11","react":"^18.2.0","jassub":"^1.7.1","mp4box":"^0.5.2","p-queue":"^7.3.4","libav-wasm":"^0.1.9","react-feather":"^2.0.10","react-tooltip":"^4.2.21","@emotion/react":"^11.10.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^4.0.4","copyfiles":"^2.4.1","react-dom":"^18.2.0","typescript":"^4.9.4","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.0.2_1705103583264_0.8233104169898169","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@banou/media-player","version":"0.0.3","author":{"name":"Banou26"},"_id":"@banou/media-player@0.0.3","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"47989b1d57fdef25916eed4a4c3b5a31ee7fe9bd","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.0.3.tgz","fileCount":26,"integrity":"sha512-2gPbz0235m26iiR8p86JChBHmD6wDFLZPp+bLyUOCTvjgfHQXh6QbP1U/VbxMPimo3G8FR7O5geb1ha+w/Z8pQ==","signatures":[{"sig":"MEUCIQCeaPMy/XU7N/1FvCbZlB5kvG4UNQIkrqEiUbADS+a/+AIgdDRaohX5eS9rLZAkdxOp8S74WC1A+4bPPdemnH3KBsk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":207426},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"7e2a2614167b11f4e7ea9a5e5e9161e7692de099","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/@banou26/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-deps":"copyfiles -u 4 node_modules/@banou26/libav-wasm/build/shared-memory-api_pb.*.js build","copy-worker-wasm":"shx cp node_modules/@banou26/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-deps && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"9.8.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"20.5.1","dependencies":{"osra":"^0.0.11","react":"^18.2.0","jassub":"^1.7.1","mp4box":"^0.5.2","p-queue":"^7.3.4","libav-wasm":"^0.1.10","react-feather":"^2.0.10","react-tooltip":"^4.2.21","@emotion/react":"^11.10.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^4.0.4","copyfiles":"^2.4.1","react-dom":"^18.2.0","typescript":"^4.9.4","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.0.3_1705190848947_0.6803618370577413","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@banou/media-player","version":"0.2.0","author":{"name":"Banou26"},"_id":"@banou/media-player@0.2.0","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"0217474d2fe9a34d59450a56e0a0d0f7b91d4125","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.2.0.tgz","fileCount":26,"integrity":"sha512-ZEKoz0aLzXJPXdDpdnnURqt+RBZmR1pzZQsrTVT36YCWg6xOGbD/OhTIQqo0iNUrPq5ptobIKJ4N5V3y9lHWcg==","signatures":[{"sig":"MEUCIBfgSAd3jnsR4+fjm5nSIoFddaAiw6xQKEbGIAWqpKIZAiEA9wgi7HBX2Mcz4GiDR5+rn9zX+d8Z5RxPjvO3JRITjsQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197083},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"34b8642d97e325779a0d8e31eb5bd81ffe2ad015","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"9.8.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"20.5.1","dependencies":{"osra":"^0.0.11","react":"^18.2.0","jassub":"^1.7.1","mp4box":"^0.5.2","p-queue":"^7.3.4","libav-wasm":"^0.3.1","react-feather":"^2.0.10","react-tooltip":"^4.2.21","@emotion/react":"^11.10.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^4.0.4","copyfiles":"^2.4.1","react-dom":"^18.2.0","typescript":"^4.9.4","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.2.0_1708926893615_0.06307326571605776","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"@banou/media-player","version":"0.2.1","author":{"name":"Banou26"},"_id":"@banou/media-player@0.2.1","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"ea7abd02a23604a87dd8ba88593828080b2ae650","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.2.1.tgz","fileCount":26,"integrity":"sha512-k9k0hcnSSpgVOQ/YgFfwolopahHhc/hskKBVgnuPLlBF5KY06rkgvubFuE3XsZKlOxxmOVVu3D860AV64RyWmg==","signatures":[{"sig":"MEYCIQDEBq2Q9Uk6PxZeUqurIJ9WDy2ifYLBobzRLkfobT/8qQIhALXuC27S6ClWGDnKJnRuTQaUDNoLCZxI8XcSqizbGrDy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":196934},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"6ebf9dc3f1cc963ed95389e4340ff1a06a140a92","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"9.8.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"20.5.1","dependencies":{"osra":"^0.0.11","react":"^18.2.0","jassub":"^1.7.1","mp4box":"^0.5.2","p-queue":"^7.3.4","libav-wasm":"^0.3.2","react-feather":"^2.0.10","react-tooltip":"^4.2.21","@emotion/react":"^11.10.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^4.0.4","copyfiles":"^2.4.1","react-dom":"^18.2.0","typescript":"^4.9.4","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.2.1_1708957705670_0.15603964523030456","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"@banou/media-player","version":"0.2.2","author":{"name":"Banou26"},"_id":"@banou/media-player@0.2.2","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"49fdd869398d87bafcea72e3dc7f57d694676886","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.2.2.tgz","fileCount":26,"integrity":"sha512-GzrL8SYwcmY6SdqP2wwLrCIThB4AtgVP5yryehctIbwAzz6iXGEUz0dtCtrkgCfAjYpfEX4AWa8g/KlSF5kGKA==","signatures":[{"sig":"MEUCIQC3fy9RZZWFdrz10Q/asgBk0T/JnGFPZogJUGgZzMQK+QIgCSWJ7MEK3rcNMjd+ITYR/9tbZsorTrSzJ84xjw9jQCM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197354},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"5f04ee76a5effc0fc12daa5d8e3ea99d6a03a633","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"9.8.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"20.5.1","dependencies":{"osra":"^0.0.11","react":"^18.2.0","jassub":"^1.7.1","mp4box":"^0.5.2","p-queue":"^7.3.4","libav-wasm":"^0.3.3","react-feather":"^2.0.10","react-tooltip":"^4.2.21","@emotion/react":"^11.10.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^4.0.4","copyfiles":"^2.4.1","react-dom":"^18.2.0","typescript":"^4.9.4","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.2.2_1708984967479_0.2545723711291612","host":"s3://npm-registry-packages"}},"0.2.3":{"name":"@banou/media-player","version":"0.2.3","author":{"name":"Banou26"},"_id":"@banou/media-player@0.2.3","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"f7e1edb0244f5c3ced108dcb0a5dc9bab68757ae","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.2.3.tgz","fileCount":26,"integrity":"sha512-NTZuX5PO+gDUDGl7C2X2XJr5Yb4wKwoOkkAuoi6BbV9GO4A8e7KitC5OUgpOK8p9usHo49j/sbsCOQEGW42dcg==","signatures":[{"sig":"MEQCIH9obXLGB+dOGc45oDGcihklooyozI0Z9Tuxp2GKQQK7AiAGJaCRmVQvp1aLkuZWqPSsec6m4B2SXNJ6RlWgpf/fjQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":198191},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"578a341d28f47688e00d3e218637aa0df85920dc","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"9.8.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"20.5.1","dependencies":{"osra":"^0.0.11","react":"^18.2.0","jassub":"^1.7.1","mp4box":"^0.5.2","p-queue":"^7.3.4","libav-wasm":"^0.3.3","react-feather":"^2.0.10","react-tooltip":"^4.2.21","@emotion/react":"^11.10.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^4.0.4","copyfiles":"^2.4.1","react-dom":"^18.2.0","typescript":"^4.9.4","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.2.3_1708989554824_0.991870611495488","host":"s3://npm-registry-packages"}},"0.2.4":{"name":"@banou/media-player","version":"0.2.4","author":{"name":"Banou26"},"_id":"@banou/media-player@0.2.4","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"6108d4da5202b5a188fa7d728b224678720ab27e","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.2.4.tgz","fileCount":26,"integrity":"sha512-RWN+72OiPqXJqH+3+wlkHEyWInJT43/UhrV/WIvsDZMEzJcz2rh3mwMbjeL5A+sHM1qxmDJakkYEx8v8OtkKjw==","signatures":[{"sig":"MEYCIQC24h2+31LzlF+BknEJjn9aiCSnjPSe//eF0WZJ7n2rzQIhAIOPORhP2VUIe9Cugtho/iWXpXQlYw+/I0rGcX0xTpP7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":198540},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"cd7afd761bb98f215ec7b3398d7d9915aafe1ff3","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"9.8.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"20.5.1","dependencies":{"osra":"^0.0.11","react":"^18.2.0","jassub":"^1.7.1","mp4box":"^0.5.2","p-queue":"^7.3.4","libav-wasm":"^0.3.3","react-feather":"^2.0.10","react-tooltip":"^4.2.21","@emotion/react":"^11.10.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^4.0.4","copyfiles":"^2.4.1","react-dom":"^18.2.0","typescript":"^4.9.4","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.2.4_1709221830915_0.859342753511595","host":"s3://npm-registry-packages"}},"0.2.5":{"name":"@banou/media-player","version":"0.2.5","author":{"name":"Banou26"},"_id":"@banou/media-player@0.2.5","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"0d3224d7f6996652853fbabba919da859ee329b3","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.2.5.tgz","fileCount":26,"integrity":"sha512-L+UEtBsFEcXUM9oeFhk0zDSrbsufJZGOubFr0phjXntBmuleIXoYb/9oOIBDOjtApPLjYm6wa0S18rnqNYXYQA==","signatures":[{"sig":"MEUCIQDSDOhI4cF9WPQMJOF7Uc8C63pQlYHGyhUacGn6DY8F0gIgSrUvksR0oEZWEuhKbE/CkKZfmluUBVF487446rkI+cI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":198777},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"271ed3e272eadc9e836a4be856ecd8ec122c5ea6","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"9.8.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"20.5.1","dependencies":{"osra":"^0.0.11","react":"^18.2.0","jassub":"^1.7.1","mp4box":"^0.5.2","p-queue":"^7.3.4","libav-wasm":"^0.3.4","react-feather":"^2.0.10","react-tooltip":"^4.2.21","@emotion/react":"^11.10.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^4.0.4","copyfiles":"^2.4.1","react-dom":"^18.2.0","typescript":"^4.9.4","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.2.5_1710037140516_0.22735660227167465","host":"s3://npm-registry-packages"}},"0.2.6":{"name":"@banou/media-player","version":"0.2.6","author":{"name":"Banou26"},"_id":"@banou/media-player@0.2.6","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"3f1fc6a4704720af66e05ca4fcde1e6f51abce58","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.2.6.tgz","fileCount":26,"integrity":"sha512-XaMcg4a/Qt9HvzK8kTFzuZTkxyihKqNJuluv+BpIY0WgcZGuiysk+ZvblKXtf7/mGwUHub+l0XF5FAg77aLnwA==","signatures":[{"sig":"MEUCIQDwoFt7ahcYxCHnhBbch2Usi1OcQhultbJIkihPrP5YiwIgfsu3TrBGTdHSb3dxhh9nP90xs4G1JVM38tDOW0pK5gg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":198801},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"32b0923f22612ac11373f62788abfe690a9b1bf1","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"9.8.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"20.5.1","dependencies":{"osra":"^0.0.11","react":"^18.2.0","jassub":"^1.7.1","mp4box":"^0.5.2","p-queue":"^7.3.4","libav-wasm":"^0.3.4","react-feather":"^2.0.10","react-tooltip":"^4.2.21","@emotion/react":"^11.10.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^4.0.4","copyfiles":"^2.4.1","react-dom":"^18.2.0","typescript":"^4.9.4","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.2.6_1710281583525_0.8012416592804972","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@banou/media-player","version":"0.3.0","author":{"name":"Banou26"},"_id":"@banou/media-player@0.3.0","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"6d0adb34b722303ec5641857e42faddd8e9eb1bf","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.3.0.tgz","fileCount":26,"integrity":"sha512-tvPQJrbk8TW7T7fpd12ujAgfqvlir287VZS38CSM9dxRQFaJuCWrwaJPpwdYEkp/fXHLVsid9XGrd9/qMcanDg==","signatures":[{"sig":"MEQCICPghHXIPJkWwlYEPvBXcxgYucyql2lZNqGbYItexnaDAiAhqTYb3EjaDC7BiI6J7+7+z4EvwL45j/RWE+MjVh83Ww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":201145},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"7d8e36c5be1eb8ecac8081389d9524ba3e1da09a","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"10.5.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"21.7.3","dependencies":{"osra":"^0.0.11","react":"^18.2.0","jassub":"^1.7.1","mp4box":"^0.5.2","p-queue":"^7.3.4","libav-wasm":"^0.3.4","react-feather":"^2.0.10","react-tooltip":"^5.26.3","@emotion/react":"^11.10.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^4.0.4","copyfiles":"^2.4.1","react-dom":"^18.2.0","typescript":"^4.9.4","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.3.0_1723213507368_0.6206588416411432","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"@banou/media-player","version":"0.4.0","author":{"name":"Banou26"},"_id":"@banou/media-player@0.4.0","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"92dc889935430cb1c80f73b1f2b1fa4d1d7feb80","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.4.0.tgz","fileCount":67,"integrity":"sha512-34M/XjSF1oOknzz2lFu0Ps8AXPGKtxIwusBtJI9T+tItyyFArSUUdEdA+flHQmVjqTxAh6GtF72aJQbh6W982A==","signatures":[{"sig":"MEUCIBHEGLnDzdH4lpUr1vk1Ija2W/Ywpt+YStnVoVlJfNxZAiEAyr1I2iWI0UgE/0wvg8q43DFcTH7qV/mxjF8chFu76QE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2366388},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"76dc4f896a7ee01ef1afd40146d4ec6cb883d43e","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","build-dev":"vite build --watch","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"10.5.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"21.7.3","dependencies":{"osra":"^0.1.2","react":"^19.0.0","jassub":"^1.7.18","xstate":"^5.19.1","p-queue":"^7.3.4","react-dom":"^19.0.0","libav-wasm":"^0.5.3","ass-compiler":"^0.1.15","@xstate/react":"^5.0.1","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@emotion/react":"^11.14.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^6.2.1","copyfiles":"^2.4.1","typescript":"^5.8.2","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.4.0_1742073380250_0.6663815758454898","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@banou/media-player","version":"0.4.1","author":{"name":"Banou26"},"_id":"@banou/media-player@0.4.1","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"b32a7b345248c15b29cb1c0ef2f8b99b5b37e1f5","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.4.1.tgz","fileCount":67,"integrity":"sha512-hBrxG1+tTCPxPRjwHEuizmhGBczXpUCTUq4GabB/K0o4Z+Ej3tUFNCuBZ9T3S5Z88VM61Bslil5jio1jVajdrQ==","signatures":[{"sig":"MEUCIAzGaY11ecaS2ax87aoZx5oaKFfHzo/gct7bVr4+3tcRAiEAvHChlBSYeXkyMBffVPiPk04cJmLAm4SHgdSGCj4FfeU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2366388},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"36781fd90366d42003d0774a738c569a572b3a4a","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","build-dev":"vite build --watch","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"10.5.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"21.7.3","dependencies":{"osra":"^0.1.2","react":"^19.0.0","jassub":"^1.7.18","xstate":"^5.19.1","p-queue":"^7.3.4","react-dom":"^19.0.0","libav-wasm":"^0.5.4","ass-compiler":"^0.1.15","@xstate/react":"^5.0.1","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@emotion/react":"^11.14.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^6.2.1","copyfiles":"^2.4.1","typescript":"^5.8.2","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.4.1_1742074381505_0.34556579655333564","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@banou/media-player","version":"0.4.2","author":{"name":"Banou26"},"_id":"@banou/media-player@0.4.2","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"ba6c8278ccadd6cc4a99dc9d4bff664efea057c8","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.4.2.tgz","fileCount":67,"integrity":"sha512-DFj6vQ+Q+kca6sU+bf1PkoOVo/C0UmzyUfMoCeE1Q9hLqKYGOXrI/Dx+cf2ejknGRNsj2fQXY8XedcywkzWojA==","signatures":[{"sig":"MEUCIQCfDqjzDhdbMNUXW6aKpWt3zOPG6JmU9cSNj8HCzc53wAIgAMaNStDKLadDa0TBY/IAaU66eb96u1pbA8TMWQva9Ws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2366544},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"ce23406282b0cb7a995540414c9bc08937e41307","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","build-dev":"vite build --watch","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"10.5.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"21.7.3","dependencies":{"osra":"^0.1.2","react":"^19.0.0","jassub":"^1.7.18","xstate":"^5.19.1","p-queue":"^7.3.4","react-dom":"^19.0.0","libav-wasm":"^0.5.4","ass-compiler":"^0.1.15","@xstate/react":"^5.0.1","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@emotion/react":"^11.14.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^6.2.1","copyfiles":"^2.4.1","typescript":"^5.8.2","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.4.2_1742172193300_0.4644069316229744","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@banou/media-player","version":"0.4.3","author":{"name":"Banou26"},"_id":"@banou/media-player@0.4.3","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"9468bf3772e890ad72a1355fd589bd4e85f482e4","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.4.3.tgz","fileCount":67,"integrity":"sha512-XvbG8dV6ixO7zQ2CO1uWqtfCK8lcUr1J/AKQSRuOo4lzn1zKJ5csFiKuazrwrZuD8iOi4QGKuDXX15KYb8CO8g==","signatures":[{"sig":"MEYCIQDuh5Wz5tWcs0k7Ma7DWW5rsd+J1HaO0bIUul0QmEuD1AIhAIiXNINkCOvm2XB6du+xiKExHmtSzHROQUmkZ56wWdkI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2366544},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"f942472370781367c02f74946a93d2d3b4d08e86","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","build-dev":"vite build --watch","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"10.5.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"21.7.3","dependencies":{"osra":"^0.1.2","react":"^19.0.0","jassub":"^1.7.18","xstate":"^5.19.1","p-queue":"^7.3.4","react-dom":"^19.0.0","libav-wasm":"^0.5.5","ass-compiler":"^0.1.15","@xstate/react":"^5.0.1","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@emotion/react":"^11.14.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^6.2.1","copyfiles":"^2.4.1","typescript":"^5.8.2","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.4.3_1742220235185_0.652913436518344","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@banou/media-player","version":"0.4.4","author":{"name":"Banou26"},"_id":"@banou/media-player@0.4.4","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"0d742429974f90b205614b80e1f698e57f514f0f","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.4.4.tgz","fileCount":67,"integrity":"sha512-zNjFLumkYmRKyXMViof+8YtSmzMQgFFF1yMGRK1Yp6eRjVPV1ikB6hlTIMwJFYvQWHTenAAPen0L439gdaRf3A==","signatures":[{"sig":"MEUCIQCmPsWfIQp33YKC8Ai9kU69HrWvR/hcXPXAnQwcrDU0jAIgZOkzfuzCT13nzUrwh5vX6lcggM+G1nhJ3EDcpSnXQiY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2367301},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"bd060441c35c87292ef5b63a0e98e036829e9608","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","build-dev":"vite build --watch","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"10.5.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"21.7.3","dependencies":{"osra":"^0.1.2","react":"^19.0.0","jassub":"^1.7.18","xstate":"^5.19.1","p-queue":"^7.3.4","react-dom":"^19.0.0","libav-wasm":"^0.5.5","ass-compiler":"^0.1.15","@xstate/react":"^5.0.1","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@emotion/react":"^11.14.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^6.2.1","copyfiles":"^2.4.1","typescript":"^5.8.2","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.4.4_1742256691719_0.49289278834433436","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@banou/media-player","version":"0.4.5","author":{"name":"Banou26"},"_id":"@banou/media-player@0.4.5","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"dea6647fd20eded6e74ec28824dbaac0bf1012cb","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.4.5.tgz","fileCount":67,"integrity":"sha512-nathlR6ciF0Op8R5XjCEThNGcgPfSGesZoRQwkYY13Uxu92gIwN1o/asiCmK0xHBOfH8lsSA+Gz/HlQGq/as1w==","signatures":[{"sig":"MEYCIQDx4w61G+8JFyxJQzXRBe44BT/ntN/32tSb9Wg8sF8mtwIhAKl2uHK3LmDi6Etc20trkrYaWt5J+EFfP6WCC/SSPh82","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2367301},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"1a2d9b49bad951c4d3f312bc5e8f63edca26e9cd","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","build-dev":"vite build --watch","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"10.5.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"21.7.3","dependencies":{"osra":"^0.1.2","react":"^19.0.0","jassub":"^1.7.18","xstate":"^5.19.1","p-queue":"^7.3.4","react-dom":"^19.0.0","libav-wasm":"^0.5.5","ass-compiler":"^0.1.15","@xstate/react":"^5.0.1","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@emotion/react":"^11.14.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^6.2.1","copyfiles":"^2.4.1","typescript":"^5.8.2","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.4.5_1742257350317_0.8137682399270589","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@banou/media-player","version":"0.4.6","author":{"name":"Banou26"},"_id":"@banou/media-player@0.4.6","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"6fc064ffb48f82414f41c0488abd6ee6a6e23b5b","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.4.6.tgz","fileCount":67,"integrity":"sha512-tBkCBo5dacida6oTPqgRapeV0gyiLVawADQTnxSMWE7O0LsFbSLEVWCEdbkNPwTgwGR08UjTbedeUNGu9q2H+w==","signatures":[{"sig":"MEMCHx8/0qtsxPH5TADODMzYL2B8gqpoRxC4Aqzva9UbCo8CIDXwFDJD3dUWXs1W4Ip6Sjf6LBH6QIVQ9EPrJYOfipVp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2368033},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"85250ddc1c7b2a5ab6c1c6ca9df7b81a7db66e65","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","build-dev":"vite build --watch","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"10.5.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"21.7.3","dependencies":{"osra":"^0.1.2","react":"^19.0.0","jassub":"^1.7.18","xstate":"^5.19.1","p-queue":"^7.3.4","react-dom":"^19.0.0","libav-wasm":"^0.5.5","ass-compiler":"^0.1.15","@xstate/react":"^5.0.1","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@emotion/react":"^11.14.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^6.2.1","copyfiles":"^2.4.1","typescript":"^5.8.2","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.4.6_1742340510568_0.4290278545771604","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@banou/media-player","version":"0.4.7","author":{"name":"Banou26"},"_id":"@banou/media-player@0.4.7","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"3aaf472ffbf0b0a3dbb84414333f81957cc41cb1","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.4.7.tgz","fileCount":67,"integrity":"sha512-IdGKl90hGFpO2J1dq+moLU2b+meJKwF6Cs4PngMGwsvslNYIlmrvDKpaeFNXiLHubzpOnSZ5oIiEc1XBDsQLlA==","signatures":[{"sig":"MEUCIHIaXikrX5Snpz4sMc+32oX+xBsoQwLj05TBwN8gHWVTAiEAmGVMmLTIEtq8Wj/gmbPzXoNehUMP8gUnCqszTd6+HBA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2368179},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"8bddd9e57a493cdc355df0283f8f40df85114b5c","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","build-dev":"vite build --watch","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"10.5.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"21.7.3","dependencies":{"osra":"^0.1.2","react":"^19.0.0","jassub":"^1.7.18","xstate":"^5.19.1","p-queue":"^7.3.4","react-dom":"^19.0.0","libav-wasm":"^0.5.5","ass-compiler":"^0.1.15","@xstate/react":"^5.0.1","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@emotion/react":"^11.14.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^6.2.1","copyfiles":"^2.4.1","typescript":"^5.8.2","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.4.7_1742343015324_0.6991059288274932","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@banou/media-player","version":"0.5.0","author":{"name":"Banou26"},"_id":"@banou/media-player@0.5.0","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"2c708e272900c5295c8dc05914f87d8454281e46","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.5.0.tgz","fileCount":67,"integrity":"sha512-BzZgqvxYermutK0rxGJ1GNf9FoB2tUbGeeyfdOvpBV159F0XAKNUtE8xArvriSmVQxTtoy1DnB5Ng9arALRQCw==","signatures":[{"sig":"MEQCIH9naMnyHIX0q/s0wZVmfQU/yKJkeWVGwEzEUn2LbFpoAiAxjUtRVgAXFJVnkeeY8BiSw9vckFd6F0u2TXFAiNenCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2390217},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"c5e4de72fa399955e1a8f310b89ec5ad4989b567","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","build-dev":"vite build --watch","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"10.5.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"21.7.3","dependencies":{"osra":"^0.1.2","react":"^19.0.0","jassub":"^1.7.18","xstate":"^5.19.1","p-queue":"^7.3.4","react-dom":"^19.0.0","libav-wasm":"^0.5.5","ass-compiler":"^0.1.15","@xstate/react":"^5.0.1","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@emotion/react":"^11.14.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^6.2.1","copyfiles":"^2.4.1","typescript":"^5.8.2","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.5.0_1742445310487_0.1876067576874192","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@banou/media-player","version":"0.5.1","author":{"name":"Banou26"},"_id":"@banou/media-player@0.5.1","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"f1783f74576b8931c69e074f160e00e6ae1bcd48","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.5.1.tgz","fileCount":67,"integrity":"sha512-Kc1/G5fnTalsySPkJwG4jMFvazfMFrT0/QDBktNZtvFlr046UebSSgwwktFcMxOioi3AC08epdC92bwg3kZljQ==","signatures":[{"sig":"MEUCIAV2CEvF91Iwz2KfB/8zluXw3GxmEOezChVW0ffod2yoAiEA2n95Tk4LDCEVSIr+k8xre/5LZLaz8r4UrmZ/uD/rMuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2391449},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"efe1cafb9fc40734f273f6d1cfcf525392319f69","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","build-dev":"vite build --watch","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"10.5.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"21.7.3","dependencies":{"osra":"^0.1.2","react":"^19.0.0","jassub":"^1.7.18","xstate":"^5.19.1","p-queue":"^7.3.4","react-dom":"^19.0.0","libav-wasm":"^0.5.5","ass-compiler":"^0.1.15","@xstate/react":"^5.0.1","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@emotion/react":"^11.14.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^6.2.1","copyfiles":"^2.4.1","typescript":"^5.8.2","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.5.1_1743114864449_0.12317399280669838","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@banou/media-player","version":"0.6.0","author":{"name":"Banou26"},"_id":"@banou/media-player@0.6.0","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"b7ebdfca4d86735d47d6b5854f30e85b26dd23e3","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.6.0.tgz","fileCount":69,"integrity":"sha512-R7glOr+JuAX/OqJy07B7lhX+aV1GYPbYZy/KH3pNmnpiCJxsR+HtJa0PNR9EDtSj38Mkzy4fyA2P+M+y9oBlHQ==","signatures":[{"sig":"MEQCIGAPbJeW32Eblh2CeF4PvYfdNC58aRN3VRAIhf1ch+A1AiANUzM4NbfvfUMuI4JRsab/4883ctd0Mw4nDcoyPBX32g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2447937},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"4d8f5c4f5f18805f56ff29bdf20c36ceebbb547b","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","build-dev":"vite build --watch","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"10.5.0","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"21.7.3","dependencies":{"osra":"^0.1.2","react":"^19.0.0","jassub":"^1.7.18","xstate":"^5.19.1","p-queue":"^7.3.4","react-dom":"^19.0.0","libav-wasm":"^0.6.0","ass-compiler":"^0.1.15","@xstate/react":"^5.0.1","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@emotion/react":"^11.14.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^6.2.1","copyfiles":"^2.4.1","typescript":"^5.8.2","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.6.0_1754417364128_0.12015135193427273","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@banou/media-player","version":"0.6.1","author":{"name":"Banou26"},"_id":"@banou/media-player@0.6.1","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"e720446737225029c6899f11f08027ecfe18181d","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.6.1.tgz","fileCount":69,"integrity":"sha512-e+OD1YoqRCUlZKXuwuMNcZO6lM0Gn70HD8qRU7vbgTDhlJ+IpfCBrjVrNGz6obF8CG1FGb7kvhYJa7Ad95z9cw==","signatures":[{"sig":"MEUCIFQjaoyPD5KgL+erb1+QqnCpsOmYLGhcJCA4m7ODnfnsAiEA6EvMNUQCnUCBlrT+Z23HqqUkcn51Wv3YfumIaZbxKRU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2443899},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"2d83c270b3fabf85e19a3742c94f84bdce0096f0","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","build-dev":"vite build --watch","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"11.6.1","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"24.8.0","dependencies":{"osra":"^0.1.2","react":"^19.0.0","jassub":"^1.7.18","xstate":"^5.19.1","p-queue":"^7.3.4","react-dom":"^19.0.0","libav-wasm":"^0.6.1","ass-compiler":"^0.1.15","@xstate/react":"^5.0.1","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@emotion/react":"^11.14.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^6.2.1","copyfiles":"^2.4.1","typescript":"^5.8.2","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.6.1_1759511292857_0.9524268066228947","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@banou/media-player","version":"0.6.2","author":{"name":"Banou26"},"_id":"@banou/media-player@0.6.2","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"79111078fc5093f82b10c2ece36c372532e44f8e","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.6.2.tgz","fileCount":69,"integrity":"sha512-sW81ZTQppPEZmWvkGcRbjQgUaUsCS3E8EXy/DCeEvv0PaBWl28VMQ1dui5bA0O6kd5Y1F5M6rRCDsASRzclfQg==","signatures":[{"sig":"MEYCIQCmoRrNcpd85royH/QP2FPnfRW7jW5l8C4aB5ZPx87yPgIhAMFKGc9QG4HLyRy2K7RbJD7CQJtvHHRZqaoN5Sm7TJtg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2443894},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"1487c9a48438f122f3c212639fca40e9950ac709","scripts":{"dev":"vite --port 4560","build":"vite build && npm run types","types":"tsc","build-dev":"vite build --watch","copy-libass":"copyfiles -u 3 ./node_modules/jassub/dist/* build","copy-worker":"shx cp node_modules/libav-wasm/build/worker.js build/libav.js","build-for-dev":"vite build && npm run copy-dependencies && npm run types","copy-worker-wasm":"shx cp node_modules/libav-wasm/build/libav.wasm build/libav.wasm","copy-dependencies":"npm run copy-libass && npm run copy-worker && npm run copy-worker-wasm"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"_npmVersion":"11.6.1","description":"A player that somehow manages to playback MKV files","directories":{},"_nodeVersion":"24.8.0","dependencies":{"osra":"^0.1.2","react":"^19.0.0","jassub":"^1.7.18","xstate":"^5.19.1","p-queue":"^7.3.4","react-dom":"^19.0.0","libav-wasm":"^0.6.2","ass-compiler":"^0.1.15","@xstate/react":"^5.0.1","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@emotion/react":"^11.14.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","mime":"^3.0.0","vite":"^6.2.1","copyfiles":"^2.4.1","typescript":"^5.8.2","@types/node":"^18.11.18","@types/react":"^18.0.27","concurrently":"^7.6.0","@types/react-dom":"^18.0.10","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.6.2_1759512058068_0.8741935235593046","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@banou/media-player","version":"0.7.0","author":{"name":"Banou26"},"_id":"@banou/media-player@0.7.0","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"fac6d78e7bef226bf5261875e8f704157f879d67","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.7.0.tgz","fileCount":65,"integrity":"sha512-qV+gycNruVgrkF3OPg6x3GCGzU+4K2o3TEQSihty75tK5o0j7+h38mEs4bKFbe6DtQw95c6VYW0j1KNxzuu54w==","signatures":[{"sig":"MEYCIQDGyrgUjbk0i8XtiwnniP9aCnjC6Lthv3QO73W32bVFugIhAPghmKuVCOlplSUtN+EmCvSlPykBlqpbgziyWnNI7Pvm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214931},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"a890a48b420f66f6ac477739a2ea91bf70803824","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.7.0_1786115185796_0.4047497669484996","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@banou/media-player","version":"0.8.0","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.0","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"7797641801f22072163820183148484fbc2cff89","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.0.tgz","fileCount":67,"integrity":"sha512-wKLl1H2dWNoS6tqPG3jbA0aAObbsW9QFsDQp4zFGPFfxv2HYy3BJdlCJjeV5wOznRHIBw/9G44g7km6nSDZZDw==","signatures":[{"sig":"MEYCIQD0yxQu4jyKVUYlc+k4oxuqEyQlzW8+2x77oykN2PsSKQIhANQI0yompIHh20VU6Jng3uG2FVa1et81q0DghEMMy/sZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243499},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"5b1c2cd486fc72c98d7e049da251d1ddcf5086fb","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.0_1786143712433_0.3184023760867216","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@banou/media-player","version":"0.8.1","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.1","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"7535c91bd3abf1a23e36a9846c2c0d6dfacb4d04","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.1.tgz","fileCount":67,"integrity":"sha512-fke3kl9VJsYpuLB2MQhdFXqfxPzDrnAcOBWJBDyJq5U8D8KH4xsmXhpyp3aTP6BYZVBgNZ/lQkFQyusyUzo5uQ==","signatures":[{"sig":"MEUCIFZFiK0/FzUR+kH3Lk3dYJm6gSFvRR6MPRlhyimlh/ODAiEAoD8Mxg5mPjFYg0LaqPWbD5lg+mNFypb2W0CQbPR3WTA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245470},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"026c447c29423de74076e992be78da2a45535129","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.1_1786145294128_0.5199225686811841","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@banou/media-player","version":"0.8.2","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.2","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"19c954a23ae51fd782e2b17822eb1dfc50154c92","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.2.tgz","fileCount":67,"integrity":"sha512-JVOcLBlj/l8FVGZNj0NYOEvo1p6IQxm40cKsfN1l24G9ZOLRjtm7c+encrcJQp/GfoWIMPfzQLSNWFeXpqdF5g==","signatures":[{"sig":"MEUCIQDucqk3Gk2MRsufagC1tQvE+x9XiT5heEY6EbfWj7HviwIgPaBtX8gGQfb3xI7SeFJDYzjfVB8qKCKFIIzcGp0LYkk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251442},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"66b8cca5ec6983edd362b0ac4d23b82f15f8ccfd","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.2_1786179183834_0.8359379944000598","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@banou/media-player","version":"0.8.3","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.3","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"2c4461ee2099344cc5c05d5c304acf576736af72","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.3.tgz","fileCount":67,"integrity":"sha512-wDYlWVOhP4AyczKL8o/DpCAyvbfzsdR5XjCEeG8A6HxkaqE4T/D17faxthUobxEqOTqJJZcwhwNE73hZfurK8Q==","signatures":[{"sig":"MEYCIQDGwJpP/SM7ZeKYGgd6xWvMYf9CBBe3vA1itXMrVnNjBQIhAM8ZDdf5KRDsGiLFDg3RLiKgOVHrPF/OIBlZN8n6kQfx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":252675},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"7d16ac548f9cdcbdd51eade7ec45e22b6d406d02","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.3_1786180222728_0.417051520470032","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"@banou/media-player","version":"0.8.4","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.4","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"e5daabadaa3f786041c44b07f48dbd8d5b5e4b14","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.4.tgz","fileCount":67,"integrity":"sha512-4NrpWqAJuQ7wL0tUR2LSozwMMaIAVo53v5NS40RMuzts7H+cYBbNmTIwKyoeKLDh2BATiH1WiqEii3WvfYlDmQ==","signatures":[{"sig":"MEQCIC3dLSg+M3J4Z4mvQGdGWRsIVO6l9R/4j8FYlhESat2cAiB7NqfOYNZvzzOHYAlsJqGzqWRpOb5NlVFpEPa8KF6beg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":264676},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"2d481013d9020d41cece75c4b191a3f646bbe220","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.4_1786220169516_0.8080271327722832","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"@banou/media-player","version":"0.8.5","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.5","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"47d944e8c621117ebc20acababac2d6e18a34780","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.5.tgz","fileCount":73,"integrity":"sha512-veuKGHdpd5jFHKfPwnLE9GYVEEYW/1Ll5PRw8OF3sybe/Wkk7bfierdVu8o1LcD/a4YOrRoBXiANh9rGsgGdbQ==","signatures":[{"sig":"MEYCIQCjSLBATzblU4E4NLQwLT5xP7UHfi2fHnm+RMmslkitQwIhAMRtOF/CU6Y54c04Eb1h4uSLEkvfiZrojoJe/QXf3wVD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":283558},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"2307ad3aef87a8a51e054105ce06464c1e9df539","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.5_1786230750508_0.30670773898728165","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"@banou/media-player","version":"0.8.6","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.6","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"44131da4e21e3b93ad762fdd2e342cd1328eaaf5","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.6.tgz","fileCount":75,"integrity":"sha512-6aqqlpaM73AJ18Ff5hoeRIpaihTiZuCPpGyhEGPrHlmRKAkbwcGVRF8VxBZaqpGi4lixrIo8Qiz6R1QMErMgUA==","signatures":[{"sig":"MEUCIC73gReB9vhTIigpPwSD6zAMqaEw23b4L5tgPewPDG2oAiEAjAJrxl/iQuMUWGVuwdzj/CkRoyGOXs/SEToJvki1RHs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":307791},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"6fa986c2c657ef1c5c285f083833a78a4efba5ba","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.6_1786308133807_0.5952129214179036","host":"s3://npm-registry-packages-npm-production"}},"0.8.7":{"name":"@banou/media-player","version":"0.8.7","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.7","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"2b4a0ba2afaa8c83e9c32043c41ca7a1082deb94","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.7.tgz","fileCount":75,"integrity":"sha512-NPCeiyhT2Y2ueJYZIwQq3MjStIwKuiWHhFR8i+02i0NtTvSHU/faz/BOQ1tPZk0h0jxRv1ehcFK8k03BCY/xtw==","signatures":[{"sig":"MEQCIQDZ90TVfV3mEsOXIRMorA4G7prwd9OnIp/8q9GkVU8OZgIfJAvgrnwWy6AvZHOMY0ucQQorg3k4WMhkmJOk5S7fnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":309506},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"c81eb06b1b32fb4de9ff8fb038f264bcbdee1c29","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.7_1786362443558_0.3862760891658472","host":"s3://npm-registry-packages-npm-production"}},"0.8.8":{"name":"@banou/media-player","version":"0.8.8","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.8","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"5af7918a19efae77aa95b5e6cdfccd8627f30559","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.8.tgz","fileCount":75,"integrity":"sha512-73mZROIzOMYHhUlxZtE/xlJ3tlYGAT+6vwwbipienG4lDDyGbOC3Zxzrwa5s+mrdRc2kqT9s9VG86mN2/qY+HQ==","signatures":[{"sig":"MEQCIDbxLnEqC3nwr3oNsKyTSR/4aZHzcAhqDSzvSD7RudxjAiBExx8N6TpystIyx8ego9t3U3qLMY1CInbXAPCwC/KqbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311683},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"c3b8fe75da4c1ce0ad8ddb34c1815f31c67d46b2","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.8_1786379306429_0.6902949933137033","host":"s3://npm-registry-packages-npm-production"}},"0.8.9":{"name":"@banou/media-player","version":"0.8.9","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.9","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"2684290c6b30e7ef3683db1e2222b1113181a702","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.9.tgz","fileCount":75,"integrity":"sha512-LjRXMghtmB/ktabGR96BiJnOPTpl1O54INGLC5jfbD3SdwE66DNkkhwIPCzu8SUjNHqYN1mJ9rUmFElcyGd3Rw==","signatures":[{"sig":"MEYCIQDGUEHOhYZ/1d24Kk4h9XhG6GjT7hqdoZgBnXV0jJgEawIhANcJeWLBKK3NKraZqheCkv/AnYtw9/5kyNEzlVnwhGmS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":313581},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"4ecd30f9e77989a7735dbd360b57d9765e2581a5","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.9_1786397313887_0.17011054117416413","host":"s3://npm-registry-packages-npm-production"}},"0.8.10":{"name":"@banou/media-player","version":"0.8.10","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.10","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"2bb681931a3b481aefd6fcfa98efd0f1cb6b40cd","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.10.tgz","fileCount":75,"integrity":"sha512-FBXZ517dvaQzGPkQ1Qnk+3e9q1FjLbh5vYD4NlHwON52VA7KUoGj1pTjBzN30ujWHhtU1DZx3XFhPxRiaruBxA==","signatures":[{"sig":"MEUCIQDWt0FxiEFLxQoFHNSzmeY3/ozl/f4muEzHw1X1inLD4QIgEJJ5PIgBRJaNQs5B5nq39OKQx8jpseggumdJP4BXPbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":324423},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"5f7f06702f1d58e04574eb897c92c037d2d196e4","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.10_1786445062319_0.3941676031466921","host":"s3://npm-registry-packages-npm-production"}},"0.8.11":{"name":"@banou/media-player","version":"0.8.11","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.11","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"5e38dea991eda56b43c8cbc1d90f05c8a645b302","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.11.tgz","fileCount":77,"integrity":"sha512-Ia251t96OyCc/XVFcfo43AlarS64i7dkMPChdNZiaz8sOFZLlix0lMLgfCatXV0vbaSCFyIryAKeJlcbf/GpDw==","signatures":[{"sig":"MEUCIGILyvYk12BjH0KDMtHilGawCa0hugkxkoDRgStUmZECAiEApHJl5aBPgiaSduYJcx0DtPGsbQSm0OUaNqdmlc2VbIM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":343270},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"aed1e0032c4957d7f90ad128d34315a5afb93354","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.11_1786452217499_0.7081962190088367","host":"s3://npm-registry-packages-npm-production"}},"0.8.12":{"name":"@banou/media-player","version":"0.8.12","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.12","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"94a20b439ceac4782c1daa0da7740fcc0488e7f6","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.12.tgz","fileCount":77,"integrity":"sha512-p/GPDDfnuZbkzSzLx8TccVTQwUYfGon/KqyFTYxSS/j9D/5O59ProGxFSYEgVVHwj8LEb3PqILXWaE5Bj9hNCg==","signatures":[{"sig":"MEYCIQCUePCfw+Aj6QsANidCKowqB3cMI0ne8nI+H8mIu7/tJwIhAO1MhLUaJakTkMWqa+oWQaG1L6EKf/0P02Mt3UqljA43","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":347460},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"1c68abbf734bebd50521170ca3fd3abdf57ffc2d","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.12_1786633371739_0.9128175448415279","host":"s3://npm-registry-packages-npm-production"}},"0.8.13":{"name":"@banou/media-player","version":"0.8.13","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.13","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"1fc26e02106000b44000d6863e3f03a5f79ec3ef","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.13.tgz","fileCount":77,"integrity":"sha512-0kSRPTbudxLr7+mnqswGqBCoeFtbUZqcXwr93Ei1N6QHwwWkRljk1yewq+twUmsrstS6oX7qOPk09jhSoo0yIQ==","signatures":[{"sig":"MEQCIFRiLRhJ42LomXrNVQZ4ZTld5mpWts4V/n1gbRhRst3nAiBZucXL1wn7nXgClMwVuMhVYU+p7HCqqhepp4XNrU2UYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":358342},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"9f433709a17ab452945e02fc1449356e1e694c82","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.13_1786644559212_0.3257906892755664","host":"s3://npm-registry-packages-npm-production"}},"0.8.15":{"name":"@banou/media-player","version":"0.8.15","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.15","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"4f8dffc5d18bcc173ebbdd2593f6994fac6ecefd","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.15.tgz","fileCount":77,"integrity":"sha512-sHM9idZsbDEeOmv1pyHBTL7ki+BN6k/yi0uU+z5e/B9b8ZtpbPyTCdF20X4asZyYAN3I1MwySv4XY5HfL85Giw==","signatures":[{"sig":"MEUCIQCsyZ+wlya5BzGZDBWxbCKTdW9ilWH7uJ54R8J3XHM1QQIgcFMfitN9dP81rgTGlTORgVUyj8kDeBkTrsOv+uPhFSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":368011},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"8ea572fe384365067a2fc94db78fe02e15eac16c","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.11.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"25.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.15_1786647932305_0.5007828358561708","host":"s3://npm-registry-packages-npm-production"}},"0.8.16":{"name":"@banou/media-player","version":"0.8.16","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.16","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"273db6ab14fc44abcc89a3ed44e5d6bb58c9f109","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.16.tgz","fileCount":77,"integrity":"sha512-U3gzHs+w+DpGjOw0fEF3F6guTe97Djr83GkE53NND6rxQYnH+9R2P7+j9EPvZLWATvOiflbySpkQoThMehuYOg==","signatures":[{"sig":"MEQCIC8q8VIopDFbU7av4derXulksWSWc9T4kMaieIG8gRbqAiAMJ+BwKUgffjU4t7UgoL+/WBEKp9DXndA8qKFjQFodiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":368315},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"2df7b8f41b1c429adc479230980735b5a46b87f5","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.19.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"26.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.16_1788114421576_0.729551731032483","host":"s3://npm-registry-packages-npm-production"}},"0.8.17":{"name":"@banou/media-player","version":"0.8.17","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.17","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"d5eba200df9057c6a34fe4600c9529d5bb442e76","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.17.tgz","fileCount":77,"integrity":"sha512-RSs5mAGoHy7BSzrlweQKHjXEFITy/NSHZZJ8QW7CxyeMEUP7X5CWi6lMQ2c1GPgYHYl0vStl14h71UHvogoe9g==","signatures":[{"sig":"MEYCIQCI8F4oB9IiMnBlKEMQWz8UsiCQZ6w23AhIrjCyva4ONQIhAMbJlDxwbsozkT6Xot3hVUU6jihrrNIDbaCYCTH1heKM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369115},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"f01188716461889d6413b5efaf993707eaf168dc","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.19.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"26.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.17_1788121303876_0.9120235408784456","host":"s3://npm-registry-packages-npm-production"}},"0.8.18":{"name":"@banou/media-player","version":"0.8.18","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.18","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"0b5ffcac26174ca967ba50dfc74c57e454854ca6","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.18.tgz","fileCount":77,"integrity":"sha512-Ys1jPyzGdCk9K98FfFzc91hqNaHamgQadhjY0bumYxhOV1HN5PDClY7lHRymge3kbCt69sqxNgJUkAIekcv57g==","signatures":[{"sig":"MEQCIHf/9/X18ir8bfcFFGG+ln5lUD1AJ4Rb+mSZnGMKbvoiAiAMOKBi6sOFMwpaCXR/xy5QnGPolvxLmGWbVuhkMI2u3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376548},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"e2054e09efba9e0ec1a9f9b9a781ef579be9c88d","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.19.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"26.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.18_1788194691196_0.6684298286008159","host":"s3://npm-registry-packages-npm-production"}},"0.8.19":{"name":"@banou/media-player","version":"0.8.19","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.19","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"dist":{"shasum":"2475bcd6aafaeff864e562f36bb221ad3ae21cc6","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.19.tgz","fileCount":77,"integrity":"sha512-TC8ZT5OuM+ZKD8Sxg7GGAITC+mCaVcCeLazy99U+2kF1iz+TlB7qESob86+fO5BpLBNPLt2zQhLAmPdfbTTIgw==","signatures":[{"sig":"MEYCIQCv5re8Nd4+4drp8QpG6f+XgdewATGStvxUb6E6is2qdQIhAN5hn+/gksdIu+y1jYwyADlFANcn1Fbucibfnn/RU7CW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":379212},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./package.json":"./package.json"},"gitHead":"f7f8bb50b4d06ddfebc8ced81cefb5924dbc1c7b","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"banou26","email":"me@banou.dev"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"_npmVersion":"11.19.0","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"26.8.1","dependencies":{"jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.19_1788197537151_0.4579032930966511","host":"s3://npm-registry-packages-npm-production"}},"0.8.20":{"name":"@banou/media-player","version":"0.8.20","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.20","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"homepage":"https://github.com/Banou26/media-player#readme","bugs":{"url":"https://github.com/Banou26/media-player/issues"},"dist":{"shasum":"6604d99bebf13c4d87e671ca34aae4b75af59d7b","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.20.tgz","fileCount":82,"integrity":"sha512-kt3L+w5ydIaxrn5Ixpm0HvrmiyK/987SJnIuptzQfwEcsg02h0ZAW/qfSMreWOiswE400ljbl9z5VktEMrMzSA==","signatures":[{"sig":"MEYCIQCFeJS7nFIbfmXpLoq8MaurjQczDkd0hnkgCM254d86ywIhAOQHna53rGeYZtafiSI15z/41KGewrUOPwbiP+9w1/zA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@banou%2fmedia-player@0.8.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446180},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./remote":{"types":"./dist/remote/index.d.ts","import":"./dist/remote/index.js"},"./package.json":"./package.json"},"gitHead":"f9a3046e848b8aa7d0a82be5e61d4c13fb4fb086","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9cc037cc-0671-485c-8d18-fc7d33b6af47"}},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"repository":{"url":"git+https://github.com/Banou26/media-player.git","type":"git"},"_npmVersion":"12.0.2","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"24.20.0","dependencies":{"osra":"^0.6.12","jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.20_1788723982014_0.461312137738662","host":"s3://npm-registry-packages-npm-production"}},"0.8.21":{"name":"@banou/media-player","version":"0.8.21","author":{"name":"Banou26"},"_id":"@banou/media-player@0.8.21","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"homepage":"https://github.com/Banou26/media-player#readme","bugs":{"url":"https://github.com/Banou26/media-player/issues"},"dist":{"shasum":"0308adde512dff692e11cc61856837f2eade4401","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.8.21.tgz","fileCount":82,"integrity":"sha512-1XG9j+KVp7wAGjeYTi6CqVqKfFyUouRaq9Xx+5Wum67F0gcstwKu0SllRNQPLmmStfabBCdIflQpvAt9aXmXAg==","signatures":[{"sig":"MEUCIQCk55v+HUYakRfkcn+xY3gt1ZRWw8vG4uGK30jlAF3jKwIgaJIdoaLgdKafZ6FlG2AIoEdVg8BSiMHSZRg9ixnN8w4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@banou%2fmedia-player@0.8.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":452351},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./remote":{"types":"./dist/remote/index.d.ts","import":"./dist/remote/index.js"},"./package.json":"./package.json"},"gitHead":"08975d54763414c5d7cec1d2137daded60acbc80","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav && npm run copy-libass","copy-libass":"shx cp node_modules/jassub/dist/jassub-worker.js public/jassub-worker.js && shx cp node_modules/jassub/dist/jassub-worker.wasm public/jassub-worker.wasm && shx cp node_modules/jassub/dist/jassub-worker-modern.wasm public/jassub-worker-modern.wasm && shx cp node_modules/jassub/dist/default.woff2 public/default.woff2","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9cc037cc-0671-485c-8d18-fc7d33b6af47"}},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"repository":{"url":"git+https://github.com/Banou26/media-player.git","type":"git"},"_npmVersion":"12.0.2","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"24.20.0","dependencies":{"osra":"^0.6.12","jassub":"^1.8.6","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.8.21_1788726233473_0.5055384328675527","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@banou/media-player","version":"0.9.0","author":{"name":"Banou26"},"_id":"@banou/media-player@0.9.0","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"homepage":"https://github.com/Banou26/media-player#readme","bugs":{"url":"https://github.com/Banou26/media-player/issues"},"dist":{"shasum":"dbe782cab63549f6c910f7bfef5a01f31135df8e","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.9.0.tgz","fileCount":82,"integrity":"sha512-GBVGEvGVKjCy20q7DdnVvI/KFX6r8xERJTPCHWcsy2fuyrH1P9cK6dYHnxt8NlE0e1TKCr6100IiFeGJhBaAhw==","signatures":[{"sig":"MEQCIF1/mXhhz29xq/A/Sk06cvHIYaZggsdJBka4dCx0tsGvAiA0WjVzMstooA3WLcU0eD0HGLAI4jPpB8WSdYFdnqJC6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@banou%2fmedia-player@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":469858},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./remote":{"types":"./dist/remote/index.d.ts","import":"./dist/remote/index.js"},"./package.json":"./package.json"},"gitHead":"431d579022aa90e97b8a5a12646b120bcaa9ca70","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9cc037cc-0671-485c-8d18-fc7d33b6af47"}},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"repository":{"url":"git+https://github.com/Banou26/media-player.git","type":"git"},"_npmVersion":"12.0.2","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"24.20.0","dependencies":{"osra":"^0.6.12","jassub":"^2.5.16","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.9.0_1788807268653_0.3776195280537056","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@banou/media-player","version":"0.10.0","author":{"name":"Banou26"},"_id":"@banou/media-player@0.10.0","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"homepage":"https://github.com/Banou26/media-player#readme","bugs":{"url":"https://github.com/Banou26/media-player/issues"},"dist":{"shasum":"71cb46a88fe07ba9ce6615e8c87103586813f9e3","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.10.0.tgz","fileCount":82,"integrity":"sha512-x5DVinV74MkYEen2UtKxqhHAFUDD0aQxFoeRTdoIhMh1fNqoWIaKnJ1PJ58dpYbRc+3/G0TGgqAPM0Sp65UJ4Q==","signatures":[{"sig":"MEUCIEKiO5SUuWpQ5lCIZeOUV0OU+XTaLUOHtMU0Lchx+0DjAiEAiHxYWQ7l4/nTdMxz6l0UhZi81QOLfMO5mSjdm6TAZh8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@banou%2fmedia-player@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":477666},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./remote":{"types":"./dist/remote/index.d.ts","import":"./dist/remote/index.js"},"./package.json":"./package.json"},"gitHead":"ed18ae1f17eb5e6ea5d627162390ba391b829b18","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9cc037cc-0671-485c-8d18-fc7d33b6af47"}},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"repository":{"url":"git+https://github.com/Banou26/media-player.git","type":"git"},"_npmVersion":"12.0.2","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"24.20.0","dependencies":{"osra":"^0.6.12","jassub":"^2.5.16","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.10.0_1788872693144_0.2586514854324704","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@banou/media-player","version":"0.10.1","author":{"name":"Banou26"},"_id":"@banou/media-player@0.10.1","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"homepage":"https://github.com/Banou26/media-player#readme","bugs":{"url":"https://github.com/Banou26/media-player/issues"},"dist":{"shasum":"48a6a4819c92ab638f3588fd2952290552033cad","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.10.1.tgz","fileCount":86,"integrity":"sha512-IQ9pwB/RTkkBtXn/qEFg04HlJ3GFIFMqSwcEbcwkpEF93IGFqqcMxdwyOdMbL0035vv7TaKaBxsv0J8t824wAw==","signatures":[{"sig":"MEYCIQDdkHHt522r+AjPgujRcTmQem5BXTcFLZ9V24zZhb9eZAIhAIoI09y6uY69r5+MTiygOKV7anpcdSI5GoDZkb4TREaR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@banou%2fmedia-player@0.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":522307},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./remote":{"types":"./dist/remote/index.d.ts","import":"./dist/remote/index.js"},"./package.json":"./package.json"},"gitHead":"af4ac2c0e82f83affafaf409cd9ecf660dc10462","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9cc037cc-0671-485c-8d18-fc7d33b6af47"}},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"repository":{"url":"git+https://github.com/Banou26/media-player.git","type":"git"},"_npmVersion":"12.0.2","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"24.20.0","dependencies":{"osra":"^0.6.12","jassub":"^2.5.16","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.10.1_1788880933255_0.2710334933169043","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@banou/media-player","version":"0.10.2","author":{"name":"Banou26"},"_id":"@banou/media-player@0.10.2","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"homepage":"https://github.com/Banou26/media-player#readme","bugs":{"url":"https://github.com/Banou26/media-player/issues"},"dist":{"shasum":"82c81c2a11ad3f98087ead3812ac048b55d12158","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.10.2.tgz","fileCount":86,"integrity":"sha512-qh6C9BlN9pCQzfj1oWwLuhBySU2KlviZQkMzfnvz1D7SmhwCL6IqCaOCc+Q6v1ulyIqSYmCTzfWC333brxxKLQ==","signatures":[{"sig":"MEUCIQCKPF/HiJtiDIbSfUTQnRn9BRk55AzUmE83hlkGuIJ3xAIgWsT8LanNruQfPqW+aMH6stR3edLqidVhUe/WwqJt29E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@banou%2fmedia-player@0.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":528649},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./remote":{"types":"./dist/remote/index.d.ts","import":"./dist/remote/index.js"},"./package.json":"./package.json"},"gitHead":"27e7241ddcab5d4d8031e6388217452b1c28d1a9","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9cc037cc-0671-485c-8d18-fc7d33b6af47"}},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"repository":{"url":"git+https://github.com/Banou26/media-player.git","type":"git"},"_npmVersion":"12.0.2","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"24.20.0","dependencies":{"osra":"^0.6.12","jassub":"^2.5.16","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.10.2_1788892623433_0.13134885700525056","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"@banou/media-player","version":"0.10.3","author":{"name":"Banou26"},"_id":"@banou/media-player@0.10.3","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"homepage":"https://github.com/Banou26/media-player#readme","bugs":{"url":"https://github.com/Banou26/media-player/issues"},"dist":{"shasum":"60ad3ebaaa1f25547bfc32a03418f781ab69a746","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.10.3.tgz","fileCount":86,"integrity":"sha512-6HyB4CEGsa2LZObSzTOzPqT8tH9JG8VismbBhiu9SJ1XSNHKxhasFAyagoaDdxgascrFKbPE23AWZF0ON/XuQg==","signatures":[{"sig":"MEYCIQD4GBIicqHABF7BcDRzobjTcbXOpjRldDz/IILSQLt9sQIhAIjX6mpsMxva6106zyMtW3PdrUpq3AOiyj+00W6pIRWw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@banou%2fmedia-player@0.10.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":534289},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./remote":{"types":"./dist/remote/index.d.ts","import":"./dist/remote/index.js"},"./package.json":"./package.json"},"gitHead":"2923e1cfe0a746bd0c43c22bac0b91c553e889b2","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9cc037cc-0671-485c-8d18-fc7d33b6af47"}},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"repository":{"url":"git+https://github.com/Banou26/media-player.git","type":"git"},"_npmVersion":"12.0.2","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"24.20.0","dependencies":{"osra":"^0.6.12","jassub":"^2.5.16","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.10.3_1788901681597_0.9610189512358189","host":"s3://npm-registry-packages-npm-production"}},"0.10.4":{"name":"@banou/media-player","version":"0.10.4","author":{"name":"Banou26"},"_id":"@banou/media-player@0.10.4","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"homepage":"https://github.com/Banou26/media-player#readme","bugs":{"url":"https://github.com/Banou26/media-player/issues"},"dist":{"shasum":"6ef2468d5cdcdbed8045750efb846c5ffda1343e","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.10.4.tgz","fileCount":86,"integrity":"sha512-LvJ0P7qgD45WJTN446Qub7TvwGrnPFZqSAyckAsHEZoRbuAXvojxTlPoLMiv9zGUafaYuxBEZXUQ0gVEm/bvzQ==","signatures":[{"sig":"MEQCIAh9M9cljfVF8puSKo6VyauG/niRqa9m22JDncyN3RQrAiAyH4caVgE/MAeqT7LAKKM7Gr0DNdRz7s07gFnQE3gqfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@banou%2fmedia-player@0.10.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":538049},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./remote":{"types":"./dist/remote/index.d.ts","import":"./dist/remote/index.js"},"./package.json":"./package.json"},"gitHead":"05d660b37c7179426fe05bfde6ee54ef643b8155","scripts":{"dev":"npm run copy-assets && vp dev --port 4560","test":"npm run fixtures && vp test run","build":"shx rm -rf build/ && npm run copy-assets && vp build","types":"tsc -p tsconfig.lib.json","preview":"vp preview","fixtures":"node scripts/fixture.mjs","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","copy-assets":"shx mkdir -p public && npm run copy-libav","prepublishOnly":"npm run build-lib"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9cc037cc-0671-485c-8d18-fc7d33b6af47"}},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"repository":{"url":"git+https://github.com/Banou26/media-player.git","type":"git"},"_npmVersion":"12.0.2","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","directories":{},"_nodeVersion":"24.20.0","dependencies":{"osra":"^0.6.12","jassub":"^2.5.16","libav-wasm":"^0.8.4","ass-compiler":"^0.1.16","@videojs/core":"10.0.0-beta.26","react-feather":"^2.0.10","react-tooltip":"^5.28.0","@videojs/react":"10.0.0-beta.26"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","react":"^19.0.0","react-dom":"^19.0.0","vite-plus":"0.2.4","playwright":"^1.62.1","typescript":"^7.0.2","@types/node":"^22.20.1","@types/react":"^19.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","vitest-browser-react":"^2.2.0","@vitest/browser-playwright":"^4.1.10"},"peerDependencies":{"react":"^19.0.0","@emotion/react":"^11.14.0"},"_npmOperationalInternal":{"tmp":"tmp/media-player_0.10.4_1788958378177_0.09784789894047696","host":"s3://npm-registry-packages-npm-production"}},"0.10.5":{"name":"@banou/media-player","version":"0.10.5","description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./engine":{"types":"./dist/engine/index.d.ts","import":"./dist/engine/index.js"},"./remote":{"types":"./dist/remote/index.d.ts","import":"./dist/remote/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"npm run copy-assets && vp dev --port 4560","build":"shx rm -rf build/ && npm run copy-assets && vp build","preview":"vp preview","build-lib":"shx rm -rf dist/ && vp build -c vite.lib.config.ts && npm run types","prepublishOnly":"npm run build-lib","types":"tsc -p tsconfig.lib.json","copy-assets":"shx mkdir -p public && npm run copy-libav","copy-libav":"shx cp node_modules/libav-wasm/build/worker.js public/libav-worker.js && shx cp node_modules/libav-wasm/build/libav.wasm public/libav.wasm && shx cp node_modules/libav-wasm/build/libav-jspi.wasm public/libav-jspi.wasm","test":"npm run fixtures && vp test run","fixtures":"node scripts/fixture.mjs"},"author":{"name":"Banou26"},"dependencies":{"@videojs/core":"10.0.0-beta.26","@videojs/react":"10.0.0-beta.26","ass-compiler":"^0.1.16","jassub":"^2.5.16","libav-wasm":"^0.8.7","osra":"^0.6.12","react-feather":"^2.0.10","react-tooltip":"^5.28.0"},"peerDependencies":{"@emotion/react":"^11.14.0","react":"^19.0.0"},"devDependencies":{"@emotion/react":"^11.14.0","@types/node":"^22.20.1","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^6.0.3","@vitest/browser-playwright":"^4.1.10","playwright":"^1.62.1","react":"^19.0.0","react-dom":"^19.0.0","shx":"^0.3.4","typescript":"^7.0.2","vite":"npm:@voidzero-dev/vite-plus-core@0.2.4","vite-plus":"0.2.4","vitest-browser-react":"^2.2.0"},"overrides":{"vite":"npm:@voidzero-dev/vite-plus-core@0.2.4"},"repository":{"type":"git","url":"git+https://github.com/Banou26/media-player.git"},"gitHead":"c1dc064e5a3316bda1c15e0e621a084a21beba3a","_id":"@banou/media-player@0.10.5","bugs":{"url":"https://github.com/Banou26/media-player/issues"},"homepage":"https://github.com/Banou26/media-player#readme","_nodeVersion":"24.20.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-jUoFH74KOKMBTQu+PtgWh+bJRK3c6TwVTglGluLmJBcvGPSu2UdUoK/rd39Ac2Orgsmi68TS8c2uMDIY55oJWw==","shasum":"6d7630c558182c62008dba4c168f7737dabc83e1","tarball":"https://registry.npmjs.org/@banou/media-player/-/media-player-0.10.5.tgz","fileCount":86,"unpackedSize":538049,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@banou%2fmedia-player@0.10.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCkgqfehSv7mxEWUMjowLv6lud4PUcs/EIEjsFUHgvQGwIgbsobgz3GVwgfz96jnG6gnjCzwkJKWB9Gn0CyoytIVVk="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9cc037cc-0671-485c-8d18-fc7d33b6af47"}},"directories":{},"maintainers":[{"name":"banou26","email":"me@banou.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/media-player_0.10.5_1788964735967_0.9053534615801184"},"_hasShrinkwrap":false}},"time":{"created":"2023-12-13T03:06:33.853Z","modified":"2026-09-09T14:38:56.466Z","0.0.0":"2023-12-13T03:06:34.284Z","0.0.1":"2023-12-16T02:37:50.704Z","0.0.2":"2024-01-12T23:53:03.408Z","0.0.3":"2024-01-14T00:07:29.116Z","0.2.0":"2024-02-26T05:54:53.812Z","0.2.1":"2024-02-26T14:28:25.844Z","0.2.2":"2024-02-26T22:02:47.652Z","0.2.3":"2024-02-26T23:19:15.143Z","0.2.4":"2024-02-29T15:50:31.106Z","0.2.5":"2024-03-10T02:19:00.675Z","0.2.6":"2024-03-12T22:13:03.708Z","0.3.0":"2024-08-09T14:25:07.548Z","0.4.0":"2025-03-15T21:16:20.424Z","0.4.1":"2025-03-15T21:33:01.683Z","0.4.2":"2025-03-17T00:43:13.475Z","0.4.3":"2025-03-17T14:03:55.342Z","0.4.4":"2025-03-18T00:11:31.996Z","0.4.5":"2025-03-18T00:22:30.555Z","0.4.6":"2025-03-18T23:28:30.756Z","0.4.7":"2025-03-19T00:10:15.637Z","0.5.0":"2025-03-20T04:35:10.727Z","0.5.1":"2025-03-27T22:34:24.710Z","0.6.0":"2025-08-05T18:09:24.339Z","0.6.1":"2025-10-03T17:08:13.042Z","0.6.2":"2025-10-03T17:20:58.271Z","0.7.0":"2026-08-07T15:06:25.957Z","0.8.0":"2026-08-07T23:01:52.588Z","0.8.1":"2026-08-07T23:28:14.285Z","0.8.2":"2026-08-08T08:53:03.970Z","0.8.3":"2026-08-08T09:10:22.897Z","0.8.4":"2026-08-08T20:16:09.652Z","0.8.5":"2026-08-08T23:12:30.665Z","0.8.6":"2026-08-09T20:42:13.982Z","0.8.7":"2026-08-10T11:47:23.705Z","0.8.8":"2026-08-10T16:28:26.638Z","0.8.9":"2026-08-10T21:28:34.028Z","0.8.10":"2026-08-11T10:44:22.454Z","0.8.11":"2026-08-11T12:43:37.645Z","0.8.12":"2026-08-13T15:02:51.884Z","0.8.13":"2026-08-13T18:09:19.388Z","0.8.15":"2026-08-13T19:05:32.448Z","0.8.16":"2026-08-30T18:27:01.740Z","0.8.17":"2026-08-30T20:21:44.022Z","0.8.18":"2026-08-31T16:44:51.435Z","0.8.19":"2026-08-31T17:32:17.301Z","0.8.20":"2026-09-06T19:46:22.181Z","0.8.21":"2026-09-06T20:23:53.665Z","0.9.0":"2026-09-07T18:54:28.794Z","0.10.0":"2026-09-08T13:04:53.296Z","0.10.1":"2026-09-08T15:22:13.436Z","0.10.2":"2026-09-08T18:37:03.586Z","0.10.3":"2026-09-08T21:08:01.738Z","0.10.4":"2026-09-09T12:52:58.329Z","0.10.5":"2026-09-09T14:38:56.131Z"},"bugs":{"url":"https://github.com/Banou26/media-player/issues"},"author":{"name":"Banou26"},"homepage":"https://github.com/Banou26/media-player#readme","repository":{"type":"git","url":"git+https://github.com/Banou26/media-player.git"},"description":"A video player for containers and codecs the browser cannot play natively, remuxed on the fly","maintainers":[{"name":"banou26","email":"me@banou.dev"}],"readme":"\n\n# @banou/media-player\n\nA React video player for files the browser cannot open on its own. It takes a `read(offset, size)` and\na byte length, remuxes into fragmented MP4 as it plays through [libav-wasm](https://github.com/Banou26/libav-wasm),\nand renders ASS/SSA subtitles with jassub. Nothing is downloaded up front, so it plays a 4 GB MKV over\nHTTP range requests, out of a torrent, off a local disk, or out of anything else that can answer for a\nbyte range.\n\nPlayback state runs on [video.js v10](https://github.com/videojs/v10). None of its skin is used: the\nchrome here is its own.\n\n## Usage\n\n```tsx\nimport MediaPlayer from '@banou/media-player'\n\n<MediaPlayer\n  read={(offset, size) => Promise<ArrayBuffer>}\n  size={fileByteLength}\n  publicPath=\"/\"\n  libavWorkerUrl=\"/libav-worker.js\"\n  jassubWorkerUrl={jassubWorkerUrl}\n  jassubWasmUrl={jassubWasmUrl}\n  jassubLegacyWasmUrl={jassubLegacyWasmUrl}\n  defaultFontUrl={defaultFontUrl}\n  title=\"episode.mkv\"\n  autoplay\n/>\n```\n\n`read` and `size` travel together: pass both or neither. With neither, the player renders its chrome\nover a black frame and waits, which is the empty state.\n\n`inputToRemuxerInput` builds the pair from a `Blob`/`File`, a URL (probed for its length over a range\nrequest), or your own reader:\n\n```ts\nimport { inputToRemuxerInput } from '@banou/media-player'\n\nconst source = await inputToRemuxerInput({ blob: file })\nconst source = await inputToRemuxerInput({ url: 'https://example.com/episode.mkv' })\nconst source = await inputToRemuxerInput({ length, read })\n```\n\n`usePlayer` reads and drives playback state from anywhere inside a `MediaPlayer`. It is the only hook\nthe chrome uses: the built-in video.js state and this player's own source state (tracks, thumbnails,\nindexes, readiness) live on one store, so there is no second context to reach for.\n\n```tsx\nimport { usePlayer } from '@banou/media-player'\n\nconst paused = usePlayer((state) => state.paused)          // subscribes to that field\nconst player = usePlayer()                                  // no selector: the store, no subscription\nplayer.play()\n```\n\n`useSeekThumbnails` and `usePictureInPicture` are exported for reuse outside the bundled chrome.\n\n`useSeekThumbnails` returns `{ thumbnails, requestThumbnail }`. Previews are generated from the start\nof the file to the end, which is right until somebody points at the seekbar: `requestThumbnail(time)`\nmoves the preview covering `time` to the front of that queue, and the walk carries on behind it from\nwherever it had got to. Pass `undefined` when the pointer leaves. The bundled seekbar calls it for\nyou, so this is only for a chrome you draw yourself. It cannot interrupt a decode already in flight,\nso the wait is the tail of that one rather than the whole backlog.\n\n`downloadedRanges` paints byte spans you already hold onto the seekbar, mapped through the keyframe\nindex rather than by percentage, because a file's download progress is not its playback progress:\ncontainers carry headers, fonts and attachments that occupy no time at all.\n\n### The assets your app has to serve\n\nThe workers and the wasm are fetched at runtime from urls you provide, never from anything this\npackage resolves for itself. libav's are plain files to copy out of `node_modules`, which is what the\n`copy-assets` script does. jassub's cannot be copied and have to be built by your bundler; see below.\n`src/asset-urls.ts` is the worked example for both.\n\n`publicPath` is the directory **libav's two wasm files** are served from, and both have to be there:\n\n| file | from | when it is used |\n| --- | --- | --- |\n| `libav.wasm` | `libav-wasm/build/` | browsers without JSPI: Safari, and every browser on iOS |\n| `libav-jspi.wasm` | `libav-wasm/build/` | Chrome and Edge 137+, Firefox 153+ |\n\nlibav-wasm picks between them at runtime on `typeof WebAssembly.Suspending === 'function'`, so serving\nonly one does not fail everywhere: it fails on exactly the browsers that pick the missing file, which\nreads as a browser bug rather than a missing asset. Serve both.\n\n`libavWorkerUrl` (`libav-wasm/build/worker.js`) is named individually and still copies fine.\n\n### jassub's assets are imported, not copied\n\njassub 2's worker is an ES module that imports `abslink` and `lfa-ponyfill` by bare specifier plus\nfive relative siblings, and it spawns a nested worker of its own. Copying one file out of\n`node_modules` produces something no browser can load, so the bundler has to build that graph. With\nvite that is one query each, in your own source:\n\n```ts\nimport jassubWorkerUrl from 'jassub/dist/worker/worker.js?worker&url'\nimport jassubWasmUrl from 'jassub/dist/wasm/jassub-worker-modern.wasm?no-inline&url'\nimport jassubLegacyWasmUrl from 'jassub/dist/wasm/jassub-worker.wasm?no-inline&url'\nimport defaultFontUrl from 'jassub/dist/default.woff2?no-inline&url'\n```\n\n`?no-inline` is load bearing for anything built with `build.lib` set: vite inlines every asset as a\nbase64 data url in library mode and ignores `assetsInlineLimit` while doing it, so without it the two\nwasm builds and the font land in your entry chunk as about 5.9 MB of base64. `src/asset-urls.ts` in\nthis repo is the same four lines and is meant to be copied.\n\n**If you build with `build.lib` set, build these four in a separate pass with it UNSET.** `?no-inline`\ncovers the assets you name, and it cannot cover the ones jassub names for itself: its emscripten glue\nresolves the wasm with `new URL('./wasm/...', import.meta.url)` inside the worker, and lib mode inlines\nthose too. Measured on this version, one entry importing exactly the four lines above:\n\n| build | worker chunk | base64 wasm blobs |\n| --- | --- | --- |\n| `build.lib` set | 2,922,207 bytes | 2 |\n| no `build.lib` | 110,525 bytes | 0 |\n\n`assetsInlineLimit: 0` and the function form both make no difference, because lib mode decides to\ninline before it consults either. A second vite config with a single JS entry, no `lib`, and the same\n`outDir` produces the 110 KB worker, the 30 KB pthread glue and both wasm files as real files.\n\n`?no-inline&url` needs a type declaration, because vite's own ambient `*?url` only matches a specifier\nENDING in `?url`. See `src/vite-env.d.ts`.\n\nThe two wasm builds are picked at runtime:\n\n| option | file | when it is used |\n| --- | --- | --- |\n| `jassubWasmUrl` | `jassub/dist/wasm/jassub-worker-modern.wasm` | wherever RELAXED SIMD exists |\n| `jassubLegacyWasmUrl` | `jassub/dist/wasm/jassub-worker.wasm` | everywhere else |\n\nThe test is RELAXED simd, not baseline simd: jassub validates a module using `i8x16.relaxed_swizzle`.\nThat is a much later feature than plain SIMD, so the second file is not a museum piece for ancient\nSafari the way it was under jassub 1. Serve both.\n\nServe the wasm as `application/wasm`: jassub instantiates it with `instantiateStreaming`, which\nrefuses any other content type.\n\nNo cross-origin isolation is needed. jassub allocates a shared `WebAssembly.Memory` unconditionally,\nwhich constructs on a plain origin in both engines (measured on Chrome 152 and Firefox 154), and its\nown thread count is gated on `crossOriginIsolated`, so without COOP and COEP it simply runs single\nthreaded.\n\nThe chrome brings its own scale and needs nothing from the host page's root font. Everything is sized\nagainst `--mp-unit`, which defaults to `10px` on the player element; set it there to rescale the whole\nchrome at once.\n\n## What it does\n\nPlay and pause, seek with a preview thumbnail and a keyframe-accurate scrub, chapters on the seekbar,\nan offer to skip an opening or ending, volume on a log curve, mute, playback speed, audio track\nselection, subtitle track selection, picture in picture, fullscreen, and keyboard shortcuts. Nothing\nis persisted: volume, speed and track choices start at their defaults every load.\n\n### Chapters\n\nChapters come from the container, and the seekbar draws them as segments with a break at each\nboundary. Hovering one lifts it above its neighbours and names it beside the time in the preview.\n\nPass `chapters` to supply them yourself, on either arm, and they win over whatever the file declared:\n\n```tsx\n<MediaPlayer {...source} chapters={[{ start: 0, end: 88, title: 'Opening' }]} />\n```\n\nThey are `{ start, end, title }` in seconds, ordered and non-overlapping, and they need not cover the\nwhole duration. A local file gets them from libav automatically, so this is for a source that knows\nchapters the container does not.\n\n### Skip Opening and Skip Ending\n\nWhen a chapter looks like an opening or an ending, a button offers to jump past it, appearing a\nsecond before the chapter and staying six seconds. It never skips on its own, so a wrong guess costs\na button nobody presses rather than a jump out of the episode.\n\nThe guess is made from the chapter title, against the names releases actually use (`OP`, `Opening`,\n`ED`, `Ending`, `Credits`, and the same names carrying a song), and it defers across the whole file:\n`Intro` is the opening where nothing else claims to be, and the cold open where an `OP` follows it.\nA file whose chapters carry no usable name at all falls back to shape, where a chapter of about\nninety seconds in each half of the runtime is the opening and the ending. Nothing shorter than\nfifteen seconds is ever offered, and a disc that is mostly themes offers nothing, because there the\nthemes are what is being watched.\n\n### Picture in picture keeps the subtitles\n\nSubtitles are painted by jassub onto a canvas over the video, and picture in picture takes a video\nelement and nothing else, so the browser has no way to composite the two: a plain\n`requestPictureInPicture()` puts the bare video in the window and leaves the subtitles on the page.\n\nThat canvas belongs to jassub from version 2 on: the constructor transfers it to a worker, which an\nelement accepts exactly once, and `destroy()` removes it from the document. So the player renders a\nsubtitle LAYER and the engine mounts one canvas inside it per pipeline build. Anything reaching for\nthe surface has to look it up through the layer each time rather than hold it.\n\nSo the player composites them itself. Every presented frame is drawn to an offscreen canvas with the\nsubtitle canvas on top, and `captureStream()` turns that into a MediaStream backing a hidden video\nelement, which is the one that enters the window. The original element keeps playing and stays the\nonly audio source, since a canvas stream carries no audio track.\n\nThe mirror element is never paused. A paused video stops rendering its MediaStream, so pausing it to\nreflect the real element froze the window: seeking while paused left the old scene on screen. The\ntransport state is carried by the Media Session instead, which is what the window reads for its\nplay/pause button.\n\nIf anything in that path is unavailable the player falls back to handing the browser the bare video,\nwhich plays without subtitles rather than not at all.\n\n## Layout\n\nOne package. `src/` is the demo app, `src/lib` is the library it publishes, and the app imports it by\nits published name so it stays an honest consumer.\n\n- `src/` the app: `main.tsx`, `routes/home.tsx`.\n  Built by `vite.config.ts` into `build/`.\n- `src/lib/engine/` the pipeline, with no React in it: MediaSource feeding, remux, jassub, thumbnails.\n  Published as `@banou/media-player/engine`.\n- `src/lib/remote` is the player driven from ANOTHER document, over [osra](https://osra.banou.dev).\n  Published as `@banou/media-player/remote`.\n\n  In the document that renders the player, one prop serves it to whoever frames that document,\n  and only to them, or to a named origin:\n\n  ```tsx\n  <MediaPlayer expose read={read} size={size} publicPath=\"/\" {...workers} />\n  <MediaPlayer expose={{ origin: 'https://anime.fkn.app' }} media={media} />\n  ```\n\n  A document that serves more than one player gives each an id, and an embedder asks for the one it\n  wants:\n\n  ```tsx\n  <MediaPlayer expose={{ id: 'left' }} {...left} />\n  <MediaPlayer expose={{ id: 'right' }} {...right} />\n  ```\n\n  ```ts\n  const left = mediaPlayer(iframe, { id: 'left', origin })\n  const right = mediaPlayer(iframe, { id: 'right', origin })\n  ```\n\n  Both sides default to one unnamed player, so a document with one never says it. Whatever the count,\n  it is ONE connection per document in each direction: the ids multiplex over it, serving an id twice\n  replaces that player (which is how a source switch is followed), and asking for an id nobody serves\n  yet simply waits until somebody does.\n\n  In the embedder, `mediaPlayer` hands back a media of its own, the same `PlayerMedia` shape the\n  player drives, so it reads, moves, listens and can even be handed to a second `<MediaPlayer>`:\n\n  ```ts\n  import { mediaPlayer } from '@banou/media-player/remote'\n\n  const player = mediaPlayer(iframe, { origin: 'https://torrent.fkn.app' })\n  await player.ready\n  await player.play()\n  player.currentTime = 30\n  player.addEventListener('seeked', () => console.log(player.currentTime))\n  player.destroy()\n  ```\n\n  `play()` settles with the far element's own answer and rejects if the mirror is destroyed while it\n  is in flight, the way an element's rejects on an interrupted play, so await it or catch it;\n  `pause()` and `load()` swallow theirs.\n\n  Reads are synchronous because the far side is mirrored: every event over there arrives with a\n  snapshot, and a write moves the mirror at once before going out to be applied. `play()` settles\n  with the far element's own answer, so an autoplay refusal there rejects here. `ready` stays pending\n  while nobody answers and rejects on `destroy()` or an aborted `signal`; a `MessagePort` whose peer\n  has gone raises no event, so nothing can tell a dead transport from a slow one and the wait has to\n  be bounded rather than waited out. Use `signal` for the player's whole lifetime, or\n  `Promise.race([player.ready, timeout])` for the wait alone.\n  A player that switches sources, or a player document that reloads, is followed: the mirror reports\n  `emptied` and then the new state, the way an element would. Hand a remote player to a second\n  `<MediaPlayer media={player}>` after `ready`. A document served with no frame around it serves\n  nobody; `exposePlayer(media)` does the same without React.\n- `src/lib/react/` the player component, its chrome, and the hooks.\n\nBuilt by `vite.lib.config.ts` into `dist/`, which is what npm publishes.\n\n## Development\n\n```sh\nnpm install\nnpm run dev        # the demo app on port 4560\nnpm run build      # the app, into build/\nnpm run build-lib  # the library, into dist/\n```\n\nThe app opens on an empty player: black, with the chrome and nothing else. Drop a file anywhere, click\nto pick one, or paste a URL.\n","readmeFilename":"README.md"}