{"_id":"@mkhuda/react-shaka-player","_rev":"27-5f4b5ff55f4ffff1f5e64d154221a571","name":"@mkhuda/react-shaka-player","dist-tags":{"latest":"1.2.2","beta":"1.2.2-beta.0"},"versions":{"1.1.0":{"name":"@mkhuda/react-shaka-player","version":"1.1.0","description":"React video player built with Shaka-Player","main":"dist/cjs.js","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest"},"dependencies":{"rollup":"^2.56.2","shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-typescript":"^8.2.5","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","babel-jest":"^27.0.6","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["js","tsx"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"gitHead":"d7b0ad7172f5dd059d3404b255594f53ea25b13c","_id":"@mkhuda/react-shaka-player@1.1.0","_nodeVersion":"16.7.0","_npmVersion":"7.20.3","dist":{"integrity":"sha512-YDyHIFQWb7AJ55Izo+rcIYbhfNqFrnux2Spr311QBRitjsePq8STobh3ssBI2Fd4xAilgJEcELxnQawB6GctyA==","shasum":"b8b2d4ddc6923c206aea90c9c1aca9fa6c9e4f1f","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.0.tgz","fileCount":11,"unpackedSize":506192,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhIgA9CRA9TVsSAnZWagAAijAP/2Tpb426Lhb6C0Y2tOP4\nBteclVNfMwgWk7D/oCsJm6KdBP9POxH2AixIyF4QjP7+du3yx11jB5qubRTt\nf6AZi8A4oHSOczBzsSP8fnWSHQbpKUira2QLS6b+Q3SN+KCi965ccemrFFd9\nbhiq8RFjByA6dhDa8R9LeZSLLH6kq8OvmW0gidYexFjqgbyHCoNtztkpH2+5\nzifCcRKhbDhJyt7u/OrLMQjXODbyvwBIad0BoQz0nq9l6LQCP95QWk+PDgHz\nOfAWjYjxk252Vb2qakEJXaGs01urM/uwpALFxHsfzEGz+remmiEZNUYXw8RC\nI/HChyEvAHEuUeXBc7drkCxmmIfkGoKoBhOLJkgqoaCHbUAtBnX41Jo6YhTO\nBlPRnJGn8UVwpbpHlwYP41OhePZh/ofsHc1eEtOQl5Yy6nb4DMhhnuR4Bg6p\nkkvVo/Fq3rVcn9rdDTAXuu7EqrG3DfHGCYjthiQQSi5SiNhOJa91Yu2yQSsR\neE8ufEJr2zPErqbOFdoIV/+eJxi9XFfai4yqGfb/Kj3RfM/VaMEfedfpiooj\n3ogr8EnAgKwq7ndNg1Y+LNH/WcwP+YN98Hyozk71Qw7hBkIeRfHueCycmz0o\nqhOpZ6ul5fG2zGVvkvsa5fnXCgZ57WFjP/XTzU9HGYB/rHpvrIyJtICujKuV\n9OCD\r\n=StBH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9UGO0fiOWdRUYW8AWZ8PgWJUd9tF3UWWpCaTe8qiK6gIhAK3THnKWHq1iJS0hh3dofavnzq7XxVFRfHs3PD+i8G1v"}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.0_1629618237467_0.769204018945759"},"_hasShrinkwrap":false},"1.1.1":{"name":"@mkhuda/react-shaka-player","version":"1.1.1","description":"React video player built with Shaka-Player","main":"dist/cjs.js","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest"},"dependencies":{"rollup":"^2.56.2","shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-typescript":"^8.2.5","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","babel-jest":"^27.0.6","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["js","tsx"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"gitHead":"c4459e31027a08165007d03c9a08ff8a3e5de3dc","_id":"@mkhuda/react-shaka-player@1.1.1","_nodeVersion":"16.7.0","_npmVersion":"7.20.3","dist":{"integrity":"sha512-Vgtwau5UDYje499s9N68l4m5Hg7r+NIbsqInN/eREj+BDhAxlaIUa2qll+GWGtSiThLCec1Slq8u8JmAZjCbaQ==","shasum":"1b319b51955529102e5b65276eb283f1ede546ea","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.1.tgz","fileCount":11,"unpackedSize":507024,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJZmSCRA9TVsSAnZWagAAr5IP/iqwDXe33dsq0odArelN\nWICBA1TN1NlwzZiMi7tpzvBznkU7VDFVlLKSGDuLri+Q+HJrMXRkoDp9wSee\nZjh4muPTjUg7IOMJBkizouT97+jnsomHB8Z50nl3EX9OH/pGUglGQ5RIfJHt\n3H9k2hH+Jhrnw756mOS8XcTyg0a7vnroSv87EGVejaprXeXxzg7hZVKrBAhN\nroFka96wrYD1KmjYh4xsPPr4jAv1XylGYdQhgfxtJnVI4J9uBz4CiGpxJn7H\n5BYE30lZDY4HpiQYE2HsSeDE37J1vCIglVBzv8mrAYzCWF9Ds4OUm1wGgqnj\nXdz6A2wXJVTroU6bdmb2OMnZSKSMqkLe60YM0B7KZnjxU24xO2mgt7cxgIDc\neVHDXWqxzQEocCE1qIvbw5qOCGqzi5RTj4KWk6ABVKMLxBDUQzMt6Bvwu0+W\nzW0bMW9q5TtqFZpg35w489AIPak9+KIbjBi8neL7ZmNTq4krvqwNPZsekVIz\nzm8dHwLvkTaam+Taq63IShgrN+u2G1Wt+sILy8Xew4KALBrVCgVx5Rg7deHy\nnrVEGPliJJJ4UvRJErFG9P2aGxjkPAET5I/dqMBU9PqigP3/Z0NhmM3AvlqF\n9X6CbyB/Z9Nl2tRPgBwB5TTWzgBGmw7zqDBs31Zy6fEt+eLz2Dwsk+i+L4RX\nfhLr\r\n=BSMT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGmO6QQJcexNtSSU0i+Mra19yC9FmuxGtXf4inJYU5ImAiAas1N7ydhseRSghlJDIkA4DM8yPI9kFa/d2/+NAps4JQ=="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.1_1629854098436_0.897638429855321"},"_hasShrinkwrap":false},"1.1.2":{"name":"@mkhuda/react-shaka-player","version":"1.1.2","description":"React video player built with Shaka-Player","main":"dist/cjs.js","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"rollup":"^2.56.2","shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["js","tsx"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"gitHead":"816bdda046e826edc3dc14f5ad4816883dbd43e5","_id":"@mkhuda/react-shaka-player@1.1.2","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-/jWeXGcdeESA1GiwKkohlJ4WXLZyr2zRLaONOAhKdbKwJYNw8zBXI5rl6Au2WcZTn51D7Q6iKt2JaXt3yaNOaA==","shasum":"df25d21ad8d7256345871002f52f617d6f1a9bf4","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.2.tgz","fileCount":15,"unpackedSize":512884,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKR/2CRA9TVsSAnZWagAAye0QAKLuPfbJlVGd3VQRfvYd\nRspbhiAGeMcxxqexU77VBHI72eNhJPu7o3o6wff3NJaEw/qO2be4kTYQ/qiT\n/L5URPk0Rwu/i9wvLbkDklBp+SwgvJy8/Pesifau7LAs2172vQji5tndhTRs\nTekpe4oD5JKeumMNOQ3qfgxUOB6HrQwgdICKbo+D7VbN8ul829jOi8lFHt7V\n1kn3MejTf0U/6t9uBttHqV51lMiJYtdJg0MKHJTio+zashZ1H5hSkfED55r0\n8C9flnUi1LUpSFEy8P5DvvVGMrLXGHrlobHKJnk63k/KtTwNBbptghvBJMlw\ndHI9LYDYW7DaimAnN0IEBj3Dzw8wO7O3GzkWlJkOy/TbCqhG5tg+kMpJDhsh\nbr5O+5kTLkN/Cejca32FxPWv7x4l8PxoV20fKxCIpFohv2uh1ehPFpjUd38B\nhViYFqGWb+nxK2n7Gx81jW4CRZpzsutIMnEQNSWnqRTnZ6Fhcuohi66iICdc\n2PO1ZgxqoJdDrGUFlQpHiPYUeRxWLOJR0gvLI3iq/73kHK9quxN12HlOPfxu\n4n3m+6G2Sv7X/pSKfCnkbwHgIarceDEvHHrPaV7pduOFazlYXnHe7D5g7Uz0\nsvCs9nq6bHPP/3t6bDvNGIlv9x/YAY6E53jvQlure2BJr0WC95r+KfvAWy1v\nx8Yw\r\n=qVBA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC0rre12EouDh7WCbhNBd7UFD93X5Ze0qNRJ3raKdbI5AiA7yq0VcROZ6oTi90IQqMuIuEkn4gS6qsMtpGmEMjrDcg=="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.2_1630085110248_0.3536563081151807"},"_hasShrinkwrap":false},"1.1.3":{"name":"@mkhuda/react-shaka-player","version":"1.1.3","description":"React video player built with Shaka-Player","main":"dist/cjs.js","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"rollup":"^2.56.2","shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["js","tsx"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"71d9e9a760d327e48d778370fb81b9a77fbc8429","_id":"@mkhuda/react-shaka-player@1.1.3","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-dS199zkNLUNtlMUQbtNZ6VCcmA4Z1DkKz/OCAPSZ3f8eWS369sjcCeDY5EExUwdInwZsRMgZazHtmxKIRWO0Cg==","shasum":"973c2de87d455516bd6a2c8800d4b8cf7dfe26df","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.3.tgz","fileCount":15,"unpackedSize":513745,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKgSLCRA9TVsSAnZWagAAPhEP/3Gbr7p1GotS8rCm5Dpp\nH5Qo230iMx24Qigsu4SwqXLljSa/r4MfESiv42F6VCyGkzwiZ46JQg0UGLbJ\nCiwWYfWhqOfiO2TQ+LZ9MMswKSBQnygDbWkQt56Mbkr5IROuPwfhjVHlT3wY\nWDwdfx5twhcHW/yWlfkKl66gUIgULQNJbvCjqmWp1yzR6aVsTtC9BzZzOWXU\nthxEif8YdNZ71xwGT40M5QWW9K92nMdXuDERPFunorm1UUtl8NJXD+8A6xg1\nwxeLpZgbcMQVTw4vyPyXwoX3B8/gRn49wKLUE7hA+mQ7dDu9kEc7QjOpcneA\nmvf93G/58E/rl5MsNQ85ihJqj622qZSmT4SYRIo0AgMJ7EHuafc2bK1nMQ8w\nzrgyPZQASMThEhKXUT+8+LKFnXUXa8ZiGvfosQZj66Pn1N9kxtD5l1bL0QJl\nld0ki22W6XfzTwqLw8WQNUN7BjET3rRtPGYstMUns0QmkW8HnH3AIjSYxW01\nUZMvYK0lTjde/xqgN2ZDsgWpVI7T12427p5N+hF0XqKNFYJzunIf0hvrwxdb\nVpj2Ks9Up5XcBe36MkcFhLu6W7kcBLco4kRH1zxxd3mZHGksXmj8XYhEot8c\nSUybnOiw86g8iTjZcLI/rPXLAB54NuwB4Ydu37Lbr5aC8oB3d6Szvi8LvE+K\n9X+o\r\n=31JR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD96eMX4qmS3hgCEIYg1JiJJie+pGCBsdgl/gA0BU2tcAIhAIYJ3keYaU6OJ0+z/mUOWjZpPhpY+Dg0KiAryV9A/Lxp"}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.3_1630143627463_0.942473760472283"},"_hasShrinkwrap":false},"1.1.4":{"name":"@mkhuda/react-shaka-player","version":"1.1.4","description":"React video player built with Shaka-Player","main":"dist/cjs.js","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"rollup":"^2.56.2","shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["js","tsx"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"9530161a2a0d0b6f13e98394015745bfeb16ea08","_id":"@mkhuda/react-shaka-player@1.1.4","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-OnaUK2BxPhfqjk2hy0A26y2BDq3oOZJBEtbTkhWE6wIixaJjMf6P7IT/AQ6fkup5FOKdR+5v8cc+Hr7E+7BhVQ==","shasum":"97e2d141b2f665d53001c1f68df0a6c2120baf26","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.4.tgz","fileCount":15,"unpackedSize":516438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKigiCRA9TVsSAnZWagAATRYP/Ai+v0xVRaI9X/XtZBOh\nRYrxXMfJIAz/rIdX/Id9v1PwSh2phgvwxLLumBQnpWgWJbgV/wpoXtuaznKi\n/eeD6ben4iEJhX8UVjclm4rtCthK8G489DlcJCoOjItFTxKXnArvfSMz/Ypg\nYjTuL9FWzd5BreKOK+N5j24/aZgkfo3io8JOO1CHIyGfFSTdjduhXp2ntAyz\nkFBjsrIwuQWO5oyHwfwoVSewTJSXaj/dqD0ZcCngh2C10E1itpljNp9lYtj+\nyU77rbV1rBbNLFsRjH9c4odEWcHuHu5HABRrpMrWMA8Y4pY69MSsWpdDD32f\nbiJ0WKQpr1FPEXlJ5sB6lWave1Hb6+0M3rcUKJI3d4XkY3YsZXr1hKsYDW8a\n0WLZzaYn1p89IXkPHS3jzQam6P/q7qHvgLQGMaObT7cpHUww5rJ2VjXcYiwE\nAaBG50pmtcbkq8ODCZgwbt0Nl5AH8Yu7ihKp8gqrtjklsQ61YxOZkyW3WUco\n8pLiriJwNu25akJrY44nbkGKqSn5nj0dVdwd73WcPBnFgrdHiGTZ51+uHxdE\no7+FKkaEgbuYQv48CilaOO3QjBR2JR1gm3P/tNgHr0fEWiEDRXL5RLejN0xe\nCThnWnmhANhnS8mVRmCBKxQhEXMp/HA9T3yhfbgqinscvt5ENj6QpXnRcz38\niP9h\r\n=fSNq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYb69jXfE/CgocRCCjN147oq1I/S+njmXGrCSRE4nG9QIhAIjtpzybQvseeoztr4p7CjXUAsSkDCTNQQy/GldQbVCS"}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.4_1630152738720_0.35743574398853317"},"_hasShrinkwrap":false},"1.1.5":{"name":"@mkhuda/react-shaka-player","version":"1.1.5","description":"React video player built with Shaka-Player","main":"dist/index.js","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"rollup":"^2.56.2","shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["js","tsx"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"99e12ff8ba059c685f75a3823a6a0c2bbb77036f","_id":"@mkhuda/react-shaka-player@1.1.5","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-gquv+7q1PNxE/b5W3xLIk741uvVNrOBMknE2Xj6Ddp3z07EacUs5u8BX+mfpJmdLY1vXepPAQg2MPFpk0kAalg==","shasum":"a0530e42040354ae85eaf2347bc1fcad854c8df9","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.5.tgz","fileCount":24,"unpackedSize":521027,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhK3PQCRA9TVsSAnZWagAA90AP/jwRmaUj5WvCXmSw1+T6\n52mMqdgjyPmWb1EQWt9wjT1+UdxV0l5ir1attoZJkDkg/CEHpvQS3TsEsM3f\nfE1Wg0OIUqYdFm2n9bDXHINEfRiJG+k9aLV1ResQDLz/jaob/orTJSoEpKHD\naTz3Y2u6Pfd5Z3hWhc8nzPhE0+2JhNnd4+0KGdy/NyJaUT9NwbYCMFMuioWI\n6alXPvCXMIREk/9D5wxW1AvF/CUOVTrLGDZZMhtTpjHws7lz+7m+OgVdAqgF\nZc7SGJ1bwiftmibgJw6hZcK2nAi9SPuC6PbNqgpK6g8MJ1vqZVAsZSbuNtob\n437fvyUo0E1HP/9rmRJk0B5M5xDv3wcMJe1lf5tsrgUTMiolc9O0eGz55Mls\nCr/oZHNjr+taO4hm70VaaItPVxPj+o9jYmvOQQiNic2U8s9S9vutEM694khQ\nSYdlMYuywzSQZAqhrzdDFE/5L5iSpGBZhGB1lkEv9hcedAH5rJlrcqnIXEbV\npRgfDPis65IelGcZdP3+UfQd6Mqln8fMFXjuEHqUYOKykMHE54WjKnb0WnCZ\nxjplyJIeZsqpL4FJPCszkyCv0TRbjxmJVSrCXGFcxR/wQDch6kYWEHG0wUmW\n6v1b0DPIut6fkH5JWxuabZ0JAH0MW6UJdPyiuUXVIToo0Q8cdBVo71D1Ywql\nG98F\r\n=7Ax8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDXZcNmqEN3rmNsEkyjEdNkgP3n+ELEC+LFP00NCHxPFAiAdGsCarwLjqpXaHaoGW3kVPnqNUgkUR8jYZipWsvo4wA=="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.5_1630237648205_0.003914249970052186"},"_hasShrinkwrap":false},"1.1.6-beta.0":{"name":"@mkhuda/react-shaka-player","version":"1.1.6-beta.0","description":"React video player built with Shaka-Player","main":"dist/index.js","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"rollup":"^2.56.2","shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["js","tsx"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"a24e3ab30bc8af966f36e2971d52d0220db13fa3","readme":"# @mkhuda/react-shaka-player \n[![Build Status](https://app.travis-ci.com/mkhuda/react-shaka-player.svg?branch=main)](https://app.travis-ci.com/mkhuda/react-shaka-player) [![npm version](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player.svg)](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player) ![npm](https://img.shields.io/npm/v/shaka-player?label=shaka-player)\n\nReact video player built on top of [Shaka Player](https://github.com/google/shaka-player). \n> [DEMO](https://csb-pygk8-mkhuda.vercel.app/)\n\n> [CODESANDBOX](https://codesandbox.io/s/keen-dewdney-pygk8)\n\n> [ROADMAP](https://github.com/mkhuda/react-shaka-player/wiki/Initial-Roadmap)\n\n> [EXAMPLE & USAGES](https://github.com/mkhuda/react-shaka-player/wiki/Usages-&-Examples)\n\n## Installation\n\nUse the package manager [yarn](https://classic.yarnpkg.com/en/) or [npm](https://www.npmjs.com/) to install `@mkhuda/react-shaka-player`.\n\n```bash\nyarn add @mkhuda/react-shaka-player shaka-player\n\nor\n\nnpm install @mkhuda/react-shaka-player shaka-player\n```\n\n## Usage\n\n```javascript\n// don't forget to import controls.css from shaka-player lib\nimport \"shaka-player/dist/controls.css\";\nimport ReactShakaPlayer from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  return <ReactShakaPlayer autoPlay={true} src={\"https://yourvideohere.mpd\"} />;\n}\n```\n\n## Manual Handle Usage\n\n```javascript\nfunction App() {\n  let [mainPlayer, setMainPlayer] = useState({});\n\n  useEffect(() => {\n    const { player, videoElement } = mainPlayer;\n\n    if (player) {\n      async function play() {\n        await player.load(\"https://yourvideomaster.mpd\");\n        videoElement.play();\n      }\n      play();\n    }\n  }, [mainPlayer]);\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-main\">\n        <ReactShakaPlayer\n          playerClassName=\"player-class-name\"\n          onLoad={(player) => setMainPlayer(player)}\n        />\n      </div>\n    </div>\n  );\n}\n```\n\n## Props\n\nThis is main props for the components:\n\n|                |Description                         |Type                         |\n|----------------|-------------------------------|-----------------------------|\n|src|MPD or HLS to play            |string           |\n|className (optional, | string of ui overlay classname | string |\n|autoPlay (optional, default: `true`)| as it described | boolean |\n|config (optional) |Changes configuration settings on Shaka Player. Reference: [shaka.extern.PlayerConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration)      | object            |\n|uiConfig (optional) |Changes configuration settings for UI elements. Reference: [shaka.extern.UIConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.UIConfiguration)      | object            |\n|onLoad (optional) |Catch `Shaka.Player`, `Shaka.ui.Overlay` and `HTMLVideoElement` for manual usages or improvement of configuration. see: [PlayerRefs](https://github.com/mkhuda/react-shaka-player/blob/c4459e31027a08165007d03c9a08ff8a3e5de3dc/src/types/index.ts#L3) |object: PlayerRefs => func|\n|onPlay (optional)|Catch when media is playing |func|\n|onPlause (optional)|Catch when media is paused |func|\n|onEnded (optional)|Catch when video is end |func|\n|onBuffering (optional)|Catch `onBuffering` status when playing |bool => func|\n|onPlayerError (optional)|Catch `error` when playing. Reference: [Shaka.Player.ErrorEvent](https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:ErrorEvent) |{Shaka.extern.Error} => func|\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","readmeFilename":"README.md","_id":"@mkhuda/react-shaka-player@1.1.6-beta.0","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-7ujUH0rbwF3S8MssnbNoF3At3l985YCHcfqsb0wEFlNBxvLkfNbxFMmhAxxFC//Q4o5ZtCiZePioPFM2+qmdvQ==","shasum":"2c9cbb81d66d74bd1d6db3a12d69ebf7fda6681c","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.6-beta.0.tgz","fileCount":26,"unpackedSize":521635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhK6nVCRA9TVsSAnZWagAAz9gP/RQNMokdpATo2BHvcZ27\n7Yghaybg5feN1+cECR9irWk+IdogzzDwEYxtz5hsJZp1R0Ko24ZNXTb5w9Yj\nZkLlwboZzkHO1PblX7Yz7lMfSDzHWfQQ0AFXORT2RABjy5FJQxzxxPR9tUOy\narnsJES/nV6LlNz1OtfO/kL6ggBaQdikjA6ghF8V7ROEn1IGKDm4X5Zol0ep\nSWXKCu4eHQmfY0H2oGDg9msR+cnQdoXvLwgNpKn35MJs4Gzm5UZKoXfMKz2v\n6rJN/jbE+wt4jv/vWXrx6aAfTP37SKIAgI9mfBfEkZ6ozW/0RAtbBDGfkRBd\nvr35HZ6+vZ4v45+DS+rQ6b/MbsYnEjYSvK/rzauM5kdbOY5oiW4z65LvIg69\neS8K4KXJBQ6zo4NCzmhmSzz8nYdwkgT3ff/jdAhVQHwWJ6qljEJbhm9Hv76k\nnStiyZqGzFj9cGLoeVe8G+YhIqxRKdgRjYf9NsYpWPa6J1UtEn0uMzE+3ucX\n+SVRk3eTSomuUiy1vuv5e7Lw072Q/xMrfQ20lqFzJQcV9F5l/yBiU+WYf438\nL0rQz0YmN9kJn+Rc7m+47PT3N5Xmcj5Hq+SwLHA1R3uE8NKhK1irgogxse4I\nA4E6N6vfKrJf3mHGPqce2bibQtHZP14ZH4w4YWu5V3j5XtR5VPeTjXXfn/18\nBXs0\r\n=PQBJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICO7q7pi02w3Dfg5dTNVvQqZ2OIlzkze6F0tGMnGoRfSAiEAh1LW391PPEm/BAMajsDTSQBCLSE3Om/AsLviMLHHdno="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.6-beta.0_1630251477146_0.378592196478857"},"_hasShrinkwrap":false},"1.1.6-beta.1":{"name":"@mkhuda/react-shaka-player","version":"1.1.6-beta.1","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"rollup":"^2.56.2","shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["js","tsx"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"1e52ecec95dd2b5ea646e7850f571c9e70376b36","readme":"# @mkhuda/react-shaka-player \n[![Build Status](https://app.travis-ci.com/mkhuda/react-shaka-player.svg?branch=main)](https://app.travis-ci.com/mkhuda/react-shaka-player) [![npm version](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player.svg)](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player) ![npm](https://img.shields.io/npm/v/shaka-player?label=shaka-player)\n\nReact video player built on top of [Shaka Player](https://github.com/google/shaka-player). \n> [DEMO](https://csb-pygk8-mkhuda.vercel.app/)\n\n> [CODESANDBOX](https://codesandbox.io/s/keen-dewdney-pygk8)\n\n> [ROADMAP](https://github.com/mkhuda/react-shaka-player/wiki/Initial-Roadmap)\n\n> [EXAMPLE & USAGES](https://github.com/mkhuda/react-shaka-player/wiki/Usages-&-Examples)\n\n## Installation\n\nUse the package manager [yarn](https://classic.yarnpkg.com/en/) or [npm](https://www.npmjs.com/) to install `@mkhuda/react-shaka-player`.\n\n```bash\nyarn add @mkhuda/react-shaka-player shaka-player\n\nor\n\nnpm install @mkhuda/react-shaka-player shaka-player\n```\n\n## Usage\n\n```javascript\n// don't forget to import controls.css from shaka-player lib\nimport \"shaka-player/dist/controls.css\";\nimport ReactShakaPlayer from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  return <ReactShakaPlayer autoPlay={true} src={\"https://yourvideohere.mpd\"} />;\n}\n```\n\n## Manual Handle Usage\n\n```javascript\nfunction App() {\n  let [mainPlayer, setMainPlayer] = useState({});\n\n  useEffect(() => {\n    const { player, videoElement } = mainPlayer;\n\n    if (player) {\n      async function play() {\n        await player.load(\"https://yourvideomaster.mpd\");\n        videoElement.play();\n      }\n      play();\n    }\n  }, [mainPlayer]);\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-main\">\n        <ReactShakaPlayer\n          playerClassName=\"player-class-name\"\n          onLoad={(player) => setMainPlayer(player)}\n        />\n      </div>\n    </div>\n  );\n}\n```\n\n## Props\n\nThis is main props for the components:\n\n|                |Description                         |Type                         |\n|----------------|-------------------------------|-----------------------------|\n|src|MPD or HLS to play            |string           |\n|className (optional, | string of ui overlay classname | string |\n|autoPlay (optional, default: `true`)| as it described | boolean |\n|config (optional) |Changes configuration settings on Shaka Player. Reference: [shaka.extern.PlayerConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration)      | object            |\n|uiConfig (optional) |Changes configuration settings for UI elements. Reference: [shaka.extern.UIConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.UIConfiguration)      | object            |\n|onLoad (optional) |Catch `Shaka.Player`, `Shaka.ui.Overlay` and `HTMLVideoElement` for manual usages or improvement of configuration. see: [PlayerRefs](https://github.com/mkhuda/react-shaka-player/blob/c4459e31027a08165007d03c9a08ff8a3e5de3dc/src/types/index.ts#L3) |object: PlayerRefs => func|\n|onPlay (optional)|Catch when media is playing |func|\n|onPlause (optional)|Catch when media is paused |func|\n|onEnded (optional)|Catch when video is end |func|\n|onBuffering (optional)|Catch `onBuffering` status when playing |bool => func|\n|onPlayerError (optional)|Catch `error` when playing. Reference: [Shaka.Player.ErrorEvent](https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:ErrorEvent) |{Shaka.extern.Error} => func|\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","readmeFilename":"README.md","_id":"@mkhuda/react-shaka-player@1.1.6-beta.1","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-dPNnfJ/xX4wbFmQUXrPDya9YK5XH9bbQjLpCcU8/xjiRNYC3NBK1QCog+zdvNPPEyGvxRgsiV6allPR+9n1CkQ==","shasum":"5b744889c56f09a7d916e22a9590c99dea87224f","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.6-beta.1.tgz","fileCount":26,"unpackedSize":521661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLFdUCRA9TVsSAnZWagAA8nkP/AiJBHxAWWQSmST+7U55\njBPRGBdAHZjChsR3+vYQtGtCFJm+WrjiB+NxAKg0dFBdw/YgFEHsCDaXaFtj\nwUTB7Y1ioSMGETEGzVVcAsQYnOmczx12qD0zhDQzzT1hTy06aK9rMnx7l2lg\nLXUDBAqk85mdGTXiGDA9tvmoEEnmJCCCEw3rfWhnx4brfp+klGD8YRzi1uAN\ni1qjaf6QwFgC0yXx/igkS5nx7aWJ1VsUDRlMbX6A3EEF0x0ABz6NYeog0e05\nk74ITEbfK2cqYezY1EPgjT+YcJVy9ELRpasgTSOCaqLQvkOq/Z8gAR5mm6ke\nsawhtCZ93IE6zhVp5Uy6wZ5BEb2J043JhaSRoSYm5s9uhZbXtRidb/57raJJ\nNGF0D1tjH6dlSDlJeEBidVOQoY04RtVhzjLY8bd0o6mf1FxDUDfVpJmcVohZ\naeDXzuSrz49UWZemzyDW6e3N88TrIGg5mCMDQlvkf5DxqD1ELwQhacGozq69\nf0N3zr/TUn5kCsSUekIViXm1oKhOSrynLmD5CU5qgdbrbnxRbSH3BikBRbav\nCvczP0A1hU0PdUmtqgyu/u2u6qUPgq72+rdfTnOD/vovYEAHHWcmexxKY4y4\nx2ODZZaDj2TDZ6vfvy4hoMxB/UtSgHyZVr2RzJxyA/saK7wM7iWhIKxeG9j7\ndA04\r\n=7mZ4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRPnRkHUGpmawKT/dOs9XZeIfF/shFOfMTRj4kyDG1jwIgUDHLzzBBsoPbxI11F999G8eeMu1HWlEB9oCitjiX6vc="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.6-beta.1_1630295892589_0.6645960430585474"},"_hasShrinkwrap":false},"1.1.6":{"name":"@mkhuda/react-shaka-player","version":"1.1.6","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"rollup":"^2.56.2","shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["js","tsx"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"80760c3f0862df69fed2f70ededba93979880501","_id":"@mkhuda/react-shaka-player@1.1.6","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-DMHMUFugbvQvcAiA7i1ETkKTbNAwydLs13pNYNfCBtPTzcXL+zORcC7HoHBUZlE3XW/SsO+9cz2uzVPNI7tsiA==","shasum":"59676fa081748e424fa4db76ed5e244b254e1b93","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.6.tgz","fileCount":26,"unpackedSize":521763,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLF3ICRA9TVsSAnZWagAAf/4P/iCnJazOaIO/K5ISE+KJ\nmTJQ7RQ3JKwPxVK6HHbvTJx8otCojwFdTxSln6faQqEPG0lo6B18TO9NIK0s\n22DWiWx5dFjEbjoMz2juspoNLAdJ5KeV1CswsjgATisXLMNbRRgyZo8GuqBz\n2u49MA7RboiQwjcuDwzjCioQWv7B+2RDjbw7PZUsm66pT/8e3tadt0ADxYo8\nBTnmNBkkyL8T95awASPeKZzkE541vVSckzNEGOnOsl02lHHUY2F8WIhYwbsV\nW4YoZfj58CfoWTMIlhZzP8dnOVpB0DoaAe5z7G8Jlp9w+67MAot3WT4bl9Bv\nhMJwxVWUsBGn2FHu7PRiJkv7U1uWPzr4/wClwAs9NKZU8/GQ09kKGf9DF+Cl\nM+Lc3jHRlDGoILpeWPKuhgaT7jydFEygRX9hq4Uq9toIyK+jeHCKY6zcZjjG\n49Nc6UsJj2DoLO6tMlJJeIABlnd1oI959M+vrLfFrbU+Q6XgH9sfcvIcXefj\ng2478okniR4CUJ0Yp7hPTXgPcJH7B06Mr25p63+E98Xy3PwBQvUYBJXWIv3c\naIQND7B+XzAIQ59d2uEY/R5+X/7JyY1m0+al3ifa2D0/iXFuqrvMOAm0z/CV\nS5rVTRTs+xQ5huUy2hpG1ZBnuMILPP5u+yDSn6/+b5sRDZxui03Db3sSPIrB\nttSS\r\n=toyQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAHZcZ60/icU9TeNIdvVaQBF0O1auPpCV3XQEIfVm4Y/AiEA5Y+/H7I2s/5UQK4LpEb79rlpE8PGf/KJ6p98VTg5dxI="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.6_1630297544122_0.4558891690367386"},"_hasShrinkwrap":false},"1.1.7-beta.0":{"name":"@mkhuda/react-shaka-player","version":"1.1.7-beta.0","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"rollup":"^2.56.2","shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"e5782070f8e6b2cbc370a925920e6dd326c68d54","readme":"# @mkhuda/react-shaka-player \n[![Build Status](https://app.travis-ci.com/mkhuda/react-shaka-player.svg?branch=main)](https://app.travis-ci.com/mkhuda/react-shaka-player) [![npm version](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player.svg)](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player) ![npm](https://img.shields.io/npm/v/shaka-player?label=shaka-player)\n\nReact video player built on top of [Shaka Player](https://github.com/google/shaka-player). \n> [DEMO](https://csb-pygk8-mkhuda.vercel.app/)\n\n> [CODESANDBOX](https://codesandbox.io/s/keen-dewdney-pygk8)\n\n> [ROADMAP](https://github.com/mkhuda/react-shaka-player/wiki/Initial-Roadmap)\n\n> [EXAMPLE & USAGES](https://github.com/mkhuda/react-shaka-player/wiki/Usages-&-Examples)\n\n## Installation\n\nUse the package manager [yarn](https://classic.yarnpkg.com/en/) or [npm](https://www.npmjs.com/) to install `@mkhuda/react-shaka-player`.\n\n```bash\nyarn add @mkhuda/react-shaka-player shaka-player\n\nor\n\nnpm install @mkhuda/react-shaka-player shaka-player\n```\n\n## Usage\n\n```javascript\n// import the css\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  return <ReactShakaPlayer autoPlay={true} src={\"https://yourvideohere.mpd\"} />;\n}\n```\n\n## Manual Handle Usage\n\n```javascript\nimport \"shaka-player/dist/controls.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  let [mainPlayer, setMainPlayer] = useState({});\n\n  useEffect(() => {\n    const { player, videoElement } = mainPlayer;\n\n    if (player) {\n      async function play() {\n        await player.load(\"https://yourvideomaster.mpd\");\n        videoElement.play();\n      }\n      play();\n    }\n  }, [mainPlayer]);\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-main\">\n        <ReactShakaPlayer\n          playerClassName=\"player-class-name\"\n          onLoad={(player) => setMainPlayer(player)}\n        />\n      </div>\n    </div>\n  );\n}\n```\n\n## Props\n\nThis is main props for the components:\n\n|                |Description                         |Type                         |\n|----------------|-------------------------------|-----------------------------|\n|src|MPD or HLS to play            |string           |\n|className (optional) | string of ui overlay classname | string |\n|autoPlay (optional, default: `true`)| as it described | boolean |\n|config (optional) |Changes configuration settings on Shaka Player. Reference: [shaka.extern.PlayerConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration)      | object            |\n|uiConfig (optional) |Changes configuration settings for UI elements. Reference: [shaka.extern.UIConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.UIConfiguration)      | object            |\n|onLoad (optional) |Catch `Shaka.Player`, `Shaka.ui.Overlay` and `HTMLVideoElement` for manual usages or improvement of configuration. see: [PlayerRefs](https://github.com/mkhuda/react-shaka-player/blob/c4459e31027a08165007d03c9a08ff8a3e5de3dc/src/types/index.ts#L3) |object: PlayerRefs => func|\n|onPlay (optional)|Catch when media is playing |func|\n|onPlause (optional)|Catch when media is paused |func|\n|onEnded (optional)|Catch when video is end |func|\n|onBuffering (optional)|Catch `onBuffering` status when playing |bool => func|\n|onPlayerError (optional)|Catch `error` when playing. Reference: [Shaka.Player.ErrorEvent](https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:ErrorEvent) |{Shaka.extern.Error} => func|\n|onStatsChanged (optional)|Catch `stats` when playing video. Reference: [Shaka.extern.Stats](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.Stats) |{Shaka.extern.Stats} => func|\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","readmeFilename":"README.md","_id":"@mkhuda/react-shaka-player@1.1.7-beta.0","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-UIN/BoUgfLT3+nrxnTbHaT/dzy3CzE6hOu3XsNIAq3DiPr+L5PdxbAxQtQxPHFONmiLqIdi7F6BwT1zWmaBv1A==","shasum":"a7354042ad77139b8545ac82b11bb767a022949d","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.7-beta.0.tgz","fileCount":21,"unpackedSize":42549,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMiUNCRA9TVsSAnZWagAAvXsQAJZURKJeDXrz0/Qe2N8z\nBcCUOq6JTmzVPESCtjBdBwGjYktWNOVOA9lWS8Hcf1JouUXPIVfDYGdktEa1\np1oTiAhVUK+qw0o1mJdAjDfLyDat/TBxwVcFwHRIpVhtBSMntVzdvH7hFkXX\n6UGfH0N/7U/61RJwzqL33b6e2IIsu+jTEAkLAc9BZjM8579mXD64cdOQ5DRe\nUm9CGH7xKwhf8R+C7gzETMMFihtsVvW6+s7dRtHprbAiWRoi/B/DCQBq8b9B\nr8MnN08wfXuXxNG8MiBpWKtFnP8GWbt+KXMRgUnQWPGuLR7O6aRvu5gpiXL7\ntVcsty0u+q/o3JujU4nm7GL4rdanCXmjL983NWvVeVoYvt6igLkKi7Q7yOuK\n5sMzAP+Oo7O1abNsRQvA9HRRe7sNp4XPWHsn0HV35IW+oXbPHfO2sy+LecVn\nTH832w8K3q5Kcf6Z9pMPMrxmJ65A7Hlg1pp/1Wpk1rsNyTbS1z4iXhi56wqP\nRQnGqaVeVoGVM3VfchDCgPYtTa6sDoTA9Cf8avNDXWiMn51YCgIWsv+gX3to\n/bO7r7Q0NwIJTn3b5X0afk1BtbcMSXm2IuHq3YvrdZqzsl8N4Lyp3uADRJe5\nXU1om1SxvtQfKGkTTZ97w0+5/CODM1HJWEoR8CmTGlPMRGXit4DPcMj1B/oY\n23OT\r\n=rTW3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDREucbMQsiiqCkUOAvlLzQxaO0LvCN4lC6a4bFDrTd9AiBO+HBfl7nplFAbab9bG/4NX5UVxw7S/LwvSB2qC8RqUA=="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.7-beta.0_1630676237524_0.8436897525231966"},"_hasShrinkwrap":false},"1.1.7-beta.1":{"name":"@mkhuda/react-shaka-player","version":"1.1.7-beta.1","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"rollup":"^2.56.2","shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"77050eff05a2410640bf0ef12eed31c444a4742a","readme":"# @mkhuda/react-shaka-player \n[![Build Status](https://app.travis-ci.com/mkhuda/react-shaka-player.svg?branch=main)](https://app.travis-ci.com/mkhuda/react-shaka-player) [![npm version](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player.svg)](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player) ![npm](https://img.shields.io/npm/v/shaka-player?label=shaka-player)\n\nReact video player built on top of [Shaka Player](https://github.com/google/shaka-player). \n> [DEMO](https://csb-pygk8-mkhuda.vercel.app/)\n\n> [CODESANDBOX](https://codesandbox.io/s/keen-dewdney-pygk8)\n\n> [ROADMAP](https://github.com/mkhuda/react-shaka-player/wiki/Initial-Roadmap)\n\n> [EXAMPLE & USAGES](https://github.com/mkhuda/react-shaka-player/wiki/Usages-&-Examples)\n\n## Installation\n\nUse the package manager [yarn](https://classic.yarnpkg.com/en/) or [npm](https://www.npmjs.com/) to install `@mkhuda/react-shaka-player`.\n\n```bash\nyarn add @mkhuda/react-shaka-player shaka-player\n\nor\n\nnpm install @mkhuda/react-shaka-player shaka-player\n```\n\n## Usage\n\n```javascript\n// import the css\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  return <ReactShakaPlayer autoPlay={true} src={\"https://yourvideohere.mpd\"} />;\n}\n```\n\n## Manual Handle Usage\n\n```javascript\nimport \"shaka-player/dist/controls.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  let [mainPlayer, setMainPlayer] = useState({});\n\n  useEffect(() => {\n    const { player, videoElement } = mainPlayer;\n\n    if (player) {\n      async function play() {\n        await player.load(\"https://yourvideomaster.mpd\");\n        videoElement.play();\n      }\n      play();\n    }\n  }, [mainPlayer]);\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-main\">\n        <ReactShakaPlayer\n          playerClassName=\"player-class-name\"\n          onLoad={(player) => setMainPlayer(player)}\n        />\n      </div>\n    </div>\n  );\n}\n```\n\n## Props\n\nThis is main props for the components:\n\n|                |Description                         |Type                         |\n|----------------|-------------------------------|-----------------------------|\n|src|MPD or HLS to play            |string           |\n|className (optional) | string of ui overlay classname | string |\n|autoPlay (optional, default: `true`)| as it described | boolean |\n|config (optional) |Changes configuration settings on Shaka Player. Reference: [shaka.extern.PlayerConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration)      | object            |\n|uiConfig (optional) |Changes configuration settings for UI elements. Reference: [shaka.extern.UIConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.UIConfiguration)      | object            |\n|onLoad (optional) |Catch `Shaka.Player`, `Shaka.ui.Overlay` and `HTMLVideoElement` for manual usages or improvement of configuration. see: [PlayerRefs](https://github.com/mkhuda/react-shaka-player/blob/c4459e31027a08165007d03c9a08ff8a3e5de3dc/src/types/index.ts#L3) |object: PlayerRefs => func|\n|onPlay (optional)|Catch when media is playing |func|\n|onPlause (optional)|Catch when media is paused |func|\n|onEnded (optional)|Catch when video is end |func|\n|onBuffering (optional)|Catch `onBuffering` status when playing |bool => func|\n|onPlayerError (optional)|Catch `error` when playing. Reference: [Shaka.Player.ErrorEvent](https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:ErrorEvent) |{Shaka.extern.Error} => func|\n|onStatsChanged (optional)|Catch `stats` when playing video. Reference: [Shaka.extern.Stats](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.Stats) |{Shaka.extern.Stats} => func|\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","readmeFilename":"README.md","_id":"@mkhuda/react-shaka-player@1.1.7-beta.1","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-Aa9sGMG4cm/9YdEhb9+mXtXIU23+hPf2xP6rQSbMCBr4XuhpQbeTwhgu3JHvrjcRMvHCDrIu2H1P5Rc0PKIJ8g==","shasum":"f05bc39504035cab3656d194929d7576f214c2e4","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.7-beta.1.tgz","fileCount":36,"unpackedSize":573717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMih9CRA9TVsSAnZWagAA+kwP/0XCHNHlBfBu4Wx5YfWs\nbZVagKmXEJdaYpyQMN1npDnP8cTEoMrSNpUjBXhfpzj3qST9lqvlj3aTliN7\nNW53SqS1ym++UP+8pkSTB8hvwCgD7d8RMJTrVTArx1OdgXr4ycgKcz6jAW2g\nd0aGUtSn7+twNUSB1yADGTE++Wdxni9C/6qio2pLzFfRH0/Xt1ORvsQ/bT/O\nqeon3an7m8OqqjjrRDcyEBjCHZk3Kqji0WBSkTV3s1Qik7NelI29phdrueZ9\n/ySLLTWjWCbPwiv5fn9u95ew2XBQSQ4YQu4pFtx0fAYGz5ZjRgtlsjG31ioq\nKrbN8pj793+AqNdj1NR7Mxm0UGxMjh5DlD8rj15gUmCYRC2w54cj56QYY5Ze\nLSX+mZw8Ms82o3OfOd4rjjtwzhwBRoHwYdsoqck0xvf9k+ZLhTjbFRhiBEn5\nowbgIV1TSuO4+/xDwDzY9ZegXbqHKK2dpqxLDyb1MxvXN164z2APzeuMu582\n4+1DFGu+3AhGpl7MGGfqKStNduTX1CWMmd+xgg1iBmlu871pfRk8vFkyY9I6\nuE6d0F1ooTZOK+o/Y9x2PnVCBZK2fDB5uDCI3YWE+nNqQBpe4i9g1U8p1/0s\nyuzh+sQLsqpogCpcxdQN3MlXjt5EMFaET5f3YW0atGJnwNIOc4mBzovCRSho\nv1fL\r\n=hRF0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiP0X8KB9lJvCTUI01o55TWQHCFwfwjOyTT72xMCEDOwIhAIL9Q7DeB5p4aOfkSj5ZdQ6B9wIIGomtGr+JzEoSNSQk"}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.7-beta.1_1630677116824_0.47917072904099767"},"_hasShrinkwrap":false},"1.1.7-beta.2":{"name":"@mkhuda/react-shaka-player","version":"1.1.7-beta.2","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"rollup":"^2.56.2","shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"cc4275ec7fd8f48a9735627a00a8dffd1a5d2131","readme":"# @mkhuda/react-shaka-player \n[![Build Status](https://app.travis-ci.com/mkhuda/react-shaka-player.svg?branch=main)](https://app.travis-ci.com/mkhuda/react-shaka-player) [![npm version](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player.svg)](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player) ![npm](https://img.shields.io/npm/v/shaka-player?label=shaka-player)\n\nReact video player built on top of [Shaka Player](https://github.com/google/shaka-player). \n> [DEMO](https://csb-pygk8-mkhuda.vercel.app/)\n\n> [CODESANDBOX](https://codesandbox.io/s/keen-dewdney-pygk8)\n\n> [ROADMAP](https://github.com/mkhuda/react-shaka-player/wiki/Initial-Roadmap)\n\n> [EXAMPLE & USAGES](https://github.com/mkhuda/react-shaka-player/wiki/Usages-&-Examples)\n\n## Installation\n\nUse the package manager [yarn](https://classic.yarnpkg.com/en/) or [npm](https://www.npmjs.com/) to install `@mkhuda/react-shaka-player`.\n\n```bash\nyarn add @mkhuda/react-shaka-player shaka-player\n\nor\n\nnpm install @mkhuda/react-shaka-player shaka-player\n```\n\n## Usage\n\n```javascript\n// import the css\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  return <ReactShakaPlayer autoPlay={true} src={\"https://yourvideohere.mpd\"} />;\n}\n```\n\n## Manual Handle Usage\n\n```javascript\nimport \"shaka-player/dist/controls.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  let [mainPlayer, setMainPlayer] = useState({});\n\n  useEffect(() => {\n    const { player, videoElement } = mainPlayer;\n\n    if (player) {\n      async function play() {\n        await player.load(\"https://yourvideomaster.mpd\");\n        videoElement.play();\n      }\n      play();\n    }\n  }, [mainPlayer]);\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-main\">\n        <ReactShakaPlayer\n          playerClassName=\"player-class-name\"\n          onLoad={(player) => setMainPlayer(player)}\n        />\n      </div>\n    </div>\n  );\n}\n```\n\n## Props\n\nThis is main props for the components:\n\n|                |Description                         |Type                         |\n|----------------|-------------------------------|-----------------------------|\n|src|MPD or HLS to play            |string           |\n|className (optional) | string of ui overlay classname | string |\n|autoPlay (optional, default: `true`)| as it described | boolean |\n|superConfig (\"STREAMING\" | \"VOD\") |The special configs for Streaming or VOD.      | string (\"STREAMING\" | \"VOD\")            |\n|config (optional) |Changes configuration settings on Shaka Player. Reference: [shaka.extern.PlayerConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration). This config will override `superConfig`.      | object            |\n|uiConfig (optional) |Changes configuration settings for UI elements. Reference: [shaka.extern.UIConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.UIConfiguration). This config will override `superConfig`.      | object            |\n|onLoad (optional) |Catch `Shaka.Player`, `Shaka.ui.Overlay` and `HTMLVideoElement` for manual usages or improvement of configuration. see: [PlayerRefs](https://github.com/mkhuda/react-shaka-player/blob/c4459e31027a08165007d03c9a08ff8a3e5de3dc/src/types/index.ts#L3) |object: PlayerRefs => func|\n|onPlay (optional)|Catch when media is playing |func|\n|onPlause (optional)|Catch when media is paused |func|\n|onEnded (optional)|Catch when video is end |func|\n|onBuffering (optional)|Catch `onBuffering` status when playing |bool => func|\n|onPlayerError (optional)|Catch `error` when playing. Reference: [Shaka.Player.ErrorEvent](https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:ErrorEvent) |{Shaka.extern.Error} => func|\n|onStatsChanged (optional)|Catch `stats` when playing video. Reference: [Shaka.extern.Stats](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.Stats) |{Shaka.extern.Stats} => func|\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","readmeFilename":"README.md","_id":"@mkhuda/react-shaka-player@1.1.7-beta.2","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-o9Ta0zZwgnVI5FQ/Tc0wXbCBZ3CGZmWsfv8kqVkh3tbskrN3TIYrU5FCvFWvR7WVcg2rLUlTf8+D/od2tOMYAQ==","shasum":"2b353e9240f67fc3d5b397b9fc80ea9f8da02816","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.7-beta.2.tgz","fileCount":36,"unpackedSize":573884,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMjCBCRA9TVsSAnZWagAA1FMP/AueRAD5Cz2V216ikM1b\nNW7uALHJaoCSa4iJ1g9cWp/O9E/3qZr1wr9v+RtpuQD1lyS4FBXeRpIge+nX\nP+P/ushXGw5fAO0r4IwXjdHtvQ7LqdwZoLNlM7p9iLdLkKOZuUJ+/dbFeG5R\nt4tlGULaK8a55eTm8GaCUy0amomprsiT5sA23wDqqheNemMN/zZbuGMCBFgg\nOfGlVbWy2Rc1/nmXkXPSvWZTgX2VXaAzuFNnthBtjreLVFm20vUGC+xIuXe7\ndeWqWWg7ttJhfFMbWBa3XEI4cUrYLJoMgCehD1zyN+Hc1iC6ssQgZ9iArh4y\nO8heRVtA1rrMkcKFtmX6D8akolOtYGufKLcR9D49gkOd768Xmi+5bu6vClbq\nNiyop9nJDkmJQcER7ORMCyXupwmFFZF4lUDS8ytx3+ByKZlsHoplrWyvHr9x\nbUNDbpg+eMAP/XQMy1c9UK0C1a+1mop3J+xo1rczHK0xV82mV6sMhhOuxER6\nFge/6luqNsKsVIJXdoZXKO2H/PTWrT+O0C3VZsgA2Jtak6JcFlkuO3t4qe3t\nDmtZzWC1XtSYaOH9wB30dkou6k9MXBamhsWHeClsDbC7XPrvkT2k9/iNyWy6\nwgcUNOSuuCWiSXs+sX4LMQ/KQG7GVPPq11F3J9uAcBG4qXFvgb8VDkFUOV7e\nmPQ6\r\n=knZ8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHb7Ih/ja0Yp2m8CpbK8be8uButhsEAvDolIlyvMHO3aAiBQeN/Keqwy1iEnWL76bIHK2DSo1XIiSlOorAxPMyCeHw=="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.7-beta.2_1630679169538_0.5690804961389475"},"_hasShrinkwrap":false},"1.1.7-beta.3":{"name":"@mkhuda/react-shaka-player","version":"1.1.7-beta.3","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"rollup":"^2.56.2","shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"dfa2fa4382e0db10e9e080211d206cc499095942","readme":"# @mkhuda/react-shaka-player \n[![Build Status](https://app.travis-ci.com/mkhuda/react-shaka-player.svg?branch=main)](https://app.travis-ci.com/mkhuda/react-shaka-player) [![npm version](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player.svg)](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player) ![npm](https://img.shields.io/npm/v/shaka-player?label=shaka-player)\n\nReact video player built on top of [Shaka Player](https://github.com/google/shaka-player). \n> [DEMO](https://csb-pygk8-mkhuda.vercel.app/)\n\n> [CODESANDBOX](https://codesandbox.io/s/keen-dewdney-pygk8)\n\n> [ROADMAP](https://github.com/mkhuda/react-shaka-player/wiki/Initial-Roadmap)\n\n> [EXAMPLE & USAGES](https://github.com/mkhuda/react-shaka-player/wiki/Usages-&-Examples)\n\n## Installation\n\nUse the package manager [yarn](https://classic.yarnpkg.com/en/) or [npm](https://www.npmjs.com/) to install `@mkhuda/react-shaka-player`.\n\n```bash\nyarn add @mkhuda/react-shaka-player shaka-player\n\nor\n\nnpm install @mkhuda/react-shaka-player shaka-player\n```\n\n## Usage\n\n```javascript\n// import the css\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  return <ReactShakaPlayer autoPlay={true} src={\"https://yourvideohere.mpd\"} />;\n}\n```\n\n## Manual Handle Usage\n\n```javascript\nimport \"shaka-player/dist/controls.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  let [mainPlayer, setMainPlayer] = useState({});\n\n  useEffect(() => {\n    const { player, videoElement } = mainPlayer;\n\n    if (player) {\n      async function play() {\n        await player.load(\"https://yourvideomaster.mpd\");\n        videoElement.play();\n      }\n      play();\n    }\n  }, [mainPlayer]);\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-main\">\n        <ReactShakaPlayer\n          playerClassName=\"player-class-name\"\n          onLoad={(player) => setMainPlayer(player)}\n        />\n      </div>\n    </div>\n  );\n}\n```\n\n## Props\n\nThis is main props for the components:\n\n|                |Description                         |Type                         |\n|----------------|-------------------------------|-----------------------------|\n|src|MPD or HLS to play            |string           |\n|className (optional) | string of ui overlay classname | string |\n|autoPlay (optional, default: `true`)| as it described | boolean |\n|superConfig (optional: \"STREAMING\", \"VOD\") |The special configs for Streaming or VOD. Will add more `superConfig` soon.      | string (\"STREAMING\" / \"VOD\")            |\n|config (optional) |Changes configuration settings on Shaka Player. Reference: [shaka.extern.PlayerConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration). This config will override `superConfig`.      | object            |\n|uiConfig (optional) |Changes configuration settings for UI elements. Reference: [shaka.extern.UIConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.UIConfiguration). This config will override `superConfig`.      | object            |\n|onLoad (optional) |Catch `Shaka.Player`, `Shaka.ui.Overlay` and `HTMLVideoElement` for manual usages or improvement of configuration. see: [PlayerRefs](https://github.com/mkhuda/react-shaka-player/blob/c4459e31027a08165007d03c9a08ff8a3e5de3dc/src/types/index.ts#L3) |object: PlayerRefs => func|\n|onPlay (optional)|Catch when media is playing |func|\n|onPlause (optional)|Catch when media is paused |func|\n|onEnded (optional)|Catch when video is end |func|\n|onBuffering (optional)|Catch `onBuffering` status when playing |bool => func|\n|onPlayerError (optional)|Catch `error` when playing. Reference: [Shaka.Player.ErrorEvent](https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:ErrorEvent) |{Shaka.extern.Error} => func|\n|onStatsChanged (optional)|Catch `stats` when playing video, including currentTime, and currentEndTime (in seconds) of media player element [`IStats`]. Reference: [Shaka.extern.Stats](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.Stats) |{Shaka.extern.Stats} => func|\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","readmeFilename":"README.md","_id":"@mkhuda/react-shaka-player@1.1.7-beta.3","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-FAem3sO3pTpcQd3vFYuSZ0Up/LlEVwoy5gFayYwV2bAfS8QvmRrW3QK5mmHHFnbn7Z/0NpfCR6eRyBI4bD+GfQ==","shasum":"77d12fedc2fd1082dbb7448b59cc4d96a5fcc2f9","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.7-beta.3.tgz","fileCount":36,"unpackedSize":576693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhM3ZwCRA9TVsSAnZWagAAWbEQAJv4KF/1wu+x6wn6h7Tb\nIkTZc41s/Sec+Y4n/qtgNlQWhEpadytIU3HStepJPrrCH5pkaZXSDYGQW/XB\n5Re6G6innKxgS7XL09LlTQQZKWYl1Wf45xIJOcUxiKmDbWJTkqPcDqg8P6Co\ncpYgm4zB7L8lXDw7LkPSgJ7zoPo/Bsxox3jG+UA0yZj9kiAveOw+LpyvDOMo\n0aGSWo+q2S3LBaMgwUX7VuAhhVmgn12ZwKXYEf74Cy1qVbMq1RA0De5f48v9\n5TJpe95DP5j0EwmVMVC4wq4idcZy0jGMqAU+VIhFmz3tuqndWamQLnpQrL2+\n4HSdLJza6WG6Nn8u/Cf0U8+bkqcHQDCCus6jeLAAHx2+B1aFMaQr3iW/DWHw\n4M9IwZYw1MY2qAMQs+yLH3Zga1VNcX8kJRR7exr7i+uE7LjTmXee0E3Y/WK1\nxdNcSNGe2JJlB3nSjQjPDExOan1MlyiCHTy/qSyUZax5rrss0xVMm2NpEtk/\numpZGXFYKYnUrvAm084sq0vQyVdmwNKjFRMkWSunullchNRbdLfZPt2a8o8d\njDykFmvcdEzYFgxlS8ViLo8ya3pbVC2DHXNLvDLteEdvFnjOSTdGodd0Zs8v\nqwQX53UGQ8QXVb+RzBaKJSy/mYto1BM0JxOM4cmIctDlvKju5hpf6OkryRK0\nbu+K\r\n=GB0v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBp8mu55cuqD5UZjLToZPe8r62KployS1a9mR+RVQylZAiBV3pM5Nt0oucz7F/NPJQntI+3Xks7VFrDPQeoHTBaBYQ=="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.7-beta.3_1630762608462_0.926354093291478"},"_hasShrinkwrap":false},"1.1.7":{"name":"@mkhuda/react-shaka-player","version":"1.1.7","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"rollup":"^2.56.2","shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"24e4a207c06a6e164f50694647fb0b678039d9a7","readme":"# @mkhuda/react-shaka-player \n[![Build Status](https://app.travis-ci.com/mkhuda/react-shaka-player.svg?branch=main)](https://app.travis-ci.com/mkhuda/react-shaka-player) [![npm version](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player.svg)](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player) ![npm](https://img.shields.io/npm/v/shaka-player?label=shaka-player)\n\nReact video player built on top of [Shaka Player](https://github.com/google/shaka-player). \n> [DEMO](https://csb-pygk8-mkhuda.vercel.app/)\n\n> [CODESANDBOX](https://codesandbox.io/s/keen-dewdney-pygk8)\n\n> [ROADMAP](https://github.com/mkhuda/react-shaka-player/wiki/Initial-Roadmap)\n\n> [EXAMPLE & USAGES](https://github.com/mkhuda/react-shaka-player/wiki/Usages-&-Examples)\n\n## Installation\n\nUse the package manager [yarn](https://classic.yarnpkg.com/en/) or [npm](https://www.npmjs.com/) to install `@mkhuda/react-shaka-player`.\n\n```bash\nyarn add @mkhuda/react-shaka-player shaka-player\n\nor\n\nnpm install @mkhuda/react-shaka-player shaka-player\n```\n\n## Usage\n\n```javascript\n// import the css. Now we have custom ui.css\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  return <ReactShakaPlayer autoPlay={true} src={\"https://yourvideohere.mpd\"} />;\n}\n```\n\n## Manual Handle Usage\n\n```javascript\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  let [mainPlayer, setMainPlayer] = useState({});\n\n  useEffect(() => {\n    const { player, videoElement } = mainPlayer;\n\n    if (player) {\n      async function play() {\n        await player.load(\"https://yourvideomaster.mpd\");\n        videoElement.play();\n      }\n      play();\n    }\n  }, [mainPlayer]);\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-main\">\n        <ReactShakaPlayer\n          playerClassName=\"player-class-name\"\n          onLoad={(player) => setMainPlayer(player)}\n        />\n      </div>\n    </div>\n  );\n}\n```\n\n## Props\n\nThis is main props for the components:\n\n|                |Description                         |Type                         |\n|----------------|-------------------------------|-----------------------------|\n|src|MPD or HLS to play            |string           |\n|className (optional) | string of ui overlay classname | string |\n|autoPlay (optional, default: `true`)| as it described | boolean |\n|superConfig (optional: \"STREAMING\", \"VOD\") |The special configs for Streaming or VOD. Will add more `superConfig` soon.      | string (\"STREAMING\" / \"VOD\")            |\n|config (optional) |Changes configuration settings on Shaka Player. Reference: [shaka.extern.PlayerConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration). This config will override `superConfig`.      | object            |\n|uiConfig (optional) |Changes configuration settings for UI elements. Reference: [shaka.extern.UIConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.UIConfiguration). This config will override `superConfig`.      | object            |\n|onLoad (optional) |Catch `Shaka.Player`, `Shaka.ui.Overlay` and `HTMLVideoElement` for manual usages or improvement of configuration. see: [PlayerRefs](https://github.com/mkhuda/react-shaka-player/blob/c4459e31027a08165007d03c9a08ff8a3e5de3dc/src/types/index.ts#L3) |object: PlayerRefs => func|\n|onPlay (optional)|Catch when media is playing |func|\n|onPlause (optional)|Catch when media is paused |func|\n|onEnded (optional)|Catch when video is end |func|\n|onBuffering (optional)|Catch `onBuffering` status when playing |bool => func|\n|onPlayerError (optional)|Catch `error` when playing. Reference: [Shaka.Player.ErrorEvent](https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:ErrorEvent) |{Shaka.extern.Error} => func|\n|onStatsChanged (optional)|Catch `stats` when playing video, including currentTime (current seek position), and currentEndTime (length of video duration if VOD) (in seconds) of media player element [`IStats`]. Reference: [Shaka.extern.Stats](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.Stats) |{Shaka.extern.Stats} => func|\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","readmeFilename":"README.md","_id":"@mkhuda/react-shaka-player@1.1.7","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-XrghUdr4lzHdcA4O/i0fQd6C31cURTD38pyQmgWDtJDwxE0YKHUqS+FWlfyttQALM4VoxGNDpxFmSxeMEVpOlw==","shasum":"af16268f88b724f7fe159f72037713d0296defa9","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.7.tgz","fileCount":36,"unpackedSize":576775,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhM39BCRA9TVsSAnZWagAADC8P/0JI5htI+EXdV8Y9V/vZ\nlG4KKtuhggTyttOaLAgUE1rAb3KF+XuieQSPQu0zTNwNR0ihNKOh3SWwfmFd\n17AznmHjSGAKKL2tju51XVbCwwL/2eRvRXtvT6s8fgE0ZQXjc+P+0O4sz7M3\nar0QCUMSHRTqJ4g0j7yKASvCTO5hGmzB5mHA6RNuTM7OQe6VRtxoqbDiyaO0\n33DE7yk3otK4lpqezI/7zqkwaNQRN2fIqdcLMiHMvbGruuLBut48fr5UZ3aq\nni9PV9Vo4EES5lbuGto7o4F4Q7VFcrV0Dgb69CyXVQMkxHck4dJ7L+Hv5/uT\n7IOUtdvxfji1/03TfwDY9RPrxHdvKS74+44N0R3bX7FADyNIQapB9dgWN06t\n0qoRB2/zE1fb3HX80vgSu0cSwxtysdtJO1/3g38zKpQAdSUmCoR+JjwR9Par\nQZb8vhR5Qt/7w/lQXhGc13SOM44mRCUEpxP3KZCickJI2p/rd84bfuhjEYZo\nX79NqZbwJ1UKyMeRWbFG7XtcpnBZlvVrHqO4sFJN8AtFnbYfCKR5eZvxYZ8O\nfb/RG0LtOo6yaX9y7zVhrdvc0TnCTn4SX/zF+23MO7X4lWCbiHh5QAaHpvaV\nENX6Bvh+UhI/77nnGHhRQVsPd5U6kyPEoNumZM1lLt/jYiizX75c6V/KJQ8H\ne12I\r\n=ej66\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHhRmymEM6Ih+fhh3lNvA7HUn/Z5eIMNnY6abG32+R7XAiAf+hriSzedoO4U8WjSlUBNfnSDrPKQGVBbSlg5BQi0HQ=="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.7_1630764865578_0.08206198184028146"},"_hasShrinkwrap":false},"1.1.8":{"name":"@mkhuda/react-shaka-player","version":"1.1.8","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"rollup":"^2.56.2","shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"a4404a42870e712a814dfa73fa2eb771f3a60236","_id":"@mkhuda/react-shaka-player@1.1.8","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-LHAZsrrF+SRqdHy7A+ylZ5LjkkotNmkfDI0leqnkq0HeYUnmWWUZIwzMrUXX4grJ/rUj22ifwN9yI0Y/SxwTcQ==","shasum":"0d9e006ad10d223a5222316ae3f71b6211429cc2","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.8.tgz","fileCount":36,"unpackedSize":576751,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhM4U0CRA9TVsSAnZWagAAoW0P/RVpDaUkbbRWDb0euR6b\nMTkztQHCbzYfrKm5zmdLpNGs0JY61rN+4SMPxTIB7p2v803Hmaq7jf8NhW1R\nHJl/yK2FZ+EO3TC+OcjKUCpY55sGb0oBOX5RuKAI34aY+yh1N/4yMJpeBP8i\nAtOyRrNeU8dZOi3KeEv33E1RAPQxSysL+mlfTiduwKMU5yMlVeEtf8JyyMdi\neKsaElniY2iR4biJG8Bn7eMsbnVbRgCpOy0fHfxvadPCpiT/Nn70zFy2IhGr\n1jSnyRL7S8WfiKmuqZPZzV87OF+J+jD0PnjsGfuILFsbZXeTERhp3ClDSEdD\nZ4MNWFkdiiuAzrTn8b1aMJDgKH+c+i2Lgn/UIXbXuuhXMmNdqoa+jsx2Q36R\nenq+bO3G/IULuE4J3/3CHKkjCHMMHHGQ24yHbPjIGFoSRBdlLEZqp3kRWkez\nSjyvR89dJ99+WQHI7t7o+yhLyyjyNLrdIe2BLtKCQZFvC9hPY5yZZzH5TWaP\nxELuXDmDk1JrGzPS0fsDu9OCOIY/IJn4KAHHiG3QEwu9uSJSIRC9njSBKfU2\nz/qIIA7R3EoAXkOh8uJa9jNhR1i3gzrlwK723uH13INmSZsbjQn3R3pzhFq+\nzJCL0W/F405OipmdRLsrzeOWgi092vtvA0EJUVVKWJbhnTYO/BE3dGCAghly\nw+rA\r\n=PZwQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBUOHov+SBkBJYFkOEbnPJ18M/ZdlWt42xgARJNCH2LhAiEA+r2Nk8u+pByeK9Y6005pflMmyUWJf6oxzB0FAmI18mM="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.8_1630766388236_0.00214363395907613"},"_hasShrinkwrap":false},"1.1.9-beta.0":{"name":"@mkhuda/react-shaka-player","version":"1.1.9-beta.0","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"nodeminify":"node ./node_modules/.bin/node-minify","build-css":"yarn nodeminify --compressor clean-css --input \"src/styles/ui.css\" --output \"dist/ui.css\"","build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@node-minify/clean-css":"^6.2.0","@node-minify/cli":"^6.2.0","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup":"^2.56.3","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"9d4c609ac3e48f4154d53ce8432d1a8a40f4e927","readme":"# @mkhuda/react-shaka-player \n[![Build Status](https://app.travis-ci.com/mkhuda/react-shaka-player.svg?branch=main)](https://app.travis-ci.com/mkhuda/react-shaka-player) [![npm version](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player.svg)](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player) ![npm](https://img.shields.io/npm/v/shaka-player?label=shaka-player)\n\nReact video player built on top of [Shaka Player](https://github.com/google/shaka-player). \n> [DEMO](https://csb-pygk8-mkhuda.vercel.app/)\n\n> [CODESANDBOX](https://codesandbox.io/s/keen-dewdney-pygk8)\n\n> [ROADMAP](https://github.com/mkhuda/react-shaka-player/wiki/Initial-Roadmap)\n\n> [EXAMPLE & USAGES](https://github.com/mkhuda/react-shaka-player/wiki/Usages-&-Examples)\n\n## Installation\n\nUse the package manager [yarn](https://classic.yarnpkg.com/en/) or [npm](https://www.npmjs.com/) to install `@mkhuda/react-shaka-player`.\n\n```bash\nyarn add @mkhuda/react-shaka-player shaka-player\n\nor\n\nnpm install @mkhuda/react-shaka-player shaka-player\n```\n\n## Usage\n\n```javascript\n// import the css. Now we have custom ui.css\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  return <ReactShakaPlayer autoPlay={true} src={\"https://yourvideohere.mpd\"} />;\n}\n```\n\n## Manual Handle Usage\n\n```javascript\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  let [mainPlayer, setMainPlayer] = useState({});\n\n  useEffect(() => {\n    const { player, videoElement } = mainPlayer;\n\n    if (player) {\n      async function play() {\n        await player.load(\"https://yourvideomaster.mpd\");\n        videoElement.play();\n      }\n      play();\n    }\n  }, [mainPlayer]);\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-main\">\n        <ReactShakaPlayer\n          playerClassName=\"player-class-name\"\n          onLoad={(player) => setMainPlayer(player)}\n        />\n      </div>\n    </div>\n  );\n}\n```\n\n## Props\n\nThis is main props for the components:\n\n|Props                |Optional       |Description                         |Type                         |\n|----------------|--------|-------------------------------|-----------------------------|\n|src|No|MPD or HLS to play            |string           |\n|className |Yes| string of ui overlay classname | string |\n|autoPlay|Yes| as it described | boolean |\n|superConfig|Yes|The special configs for Streaming or VOD. Will add more `superConfig` soon.      | string (\"STREAMING\" / \"VOD\")            |\n|config |Yes|Changes configuration settings on Shaka Player. Reference: [shaka.extern.PlayerConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration). This config will override `superConfig`.      | object            |\n|uiConfig |Yes|Changes configuration settings for UI elements. Reference: [shaka.extern.UIConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.UIConfiguration). This config will override `superConfig`.      | object            |\n|onLoad |Yes|Catch `Shaka.Player`, `Shaka.ui.Overlay` and `HTMLVideoElement` for manual usages or improvement of configuration. see: [PlayerRefs](https://github.com/mkhuda/react-shaka-player/blob/c4459e31027a08165007d03c9a08ff8a3e5de3dc/src/types/index.ts#L3) |object: PlayerRefs => func|\n|onPlay |Yes|Catch when media is playing |func|\n|onPlause |Yes|Catch when media is paused |func|\n|onEnded |Yes|Catch when video is end |func|\n|onBuffering |Yes|Catch `onBuffering` status when playing |bool => func|\n|onPlayerError |Yes|Catch `error` when playing. Reference: [Shaka.Player.ErrorEvent](https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:ErrorEvent) |{Shaka.extern.Error} => func|\n|onStatsChanged |Yes|Catch `stats` when playing video, including currentTime (current seek position), and currentEndTime (length of video duration if VOD) (in seconds) of media player element [`IStats`]. Reference: [IStats & Shaka.extern.Stats](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.Stats) |{Shaka.extern.Stats} => func|\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","readmeFilename":"README.md","_id":"@mkhuda/react-shaka-player@1.1.9-beta.0","_nodeVersion":"16.9.0","_npmVersion":"7.21.1","dist":{"integrity":"sha512-GWDIY+ey6adNjftUe/j1lzrc//56MOmHXuuHyFOkLmqthILlAY+tUanUhJpHk1urGsKRkGRlYtMvWihhJeAJ8Q==","shasum":"944daa8d0cd985021be1d41694471a3882a1d38c","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.9-beta.0.tgz","fileCount":38,"unpackedSize":573169,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOPCVCRA9TVsSAnZWagAAx9gP+wYD2/e7sGpIc+CLQHDK\nFa1UZt6nXV53aaodp8f8cf8uruTmpGn56H6DNLZ9uXLft7QUdyxhcujuhWGu\nL+cLrAryewMM7bPMlbIOlKopcuX0/85jeIb1oNBwGZCTpn8rGu8x5s26pZaq\nyt3RBrc9q5jQG24HVWNasIOSjKoOV0AiIumX1bnAurVXvcDE4kg6R44vsK9j\ncvYDUZNONnDRNBiI/pI9gtD0bNDGp2OjqrHVx7EWX3ghCV4cr/s165pLK8Rk\n4vJIDF1pIvCIU+QgWCuDJ7Vxei/mCunIwotfC86FNySzIoV3fQOSoT1aR5Oc\ndAiUfzThJEN9EW/lWYRtG22MNa+5+uxd4Rns5seppk4cWYf3GyiVlS7PFOAD\nYv7bQvxiobuHy5NZRfHELdhEDXMjMptQVoxNgcay7lIzp5JZmE2mWGBItZHe\nF+HnWJM77LcyWVsuHeaaYHHlFISY8ChqywwwLv0Gqi2eWel5zs087wcOyjUG\nttJMMmn9vePvm6djiRE2IZ4mtBCtZq9m4d7b/kNBP7+vEtu8+cO4d4YOhWLJ\njT14iIBLNDJnZn79KiFTe35ez2scETtA+7PqfgBwJdjBTUb+92JnkQsyq7YN\nSg11GnnXztjwiNoTZTfko/9tbjNXMf+1sBHj68N9+MWkpam8HFHYa2HQ7eKe\n1SgT\r\n=Xrdr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpZ0ceu5QPvCisUgakTk/PxEwHSUEKFVQBpl76wFUKTQIgAYc6pm9kPnc7Nc37cmHH+wXFbkMMjKCuLKWuXpnHIT8="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.9-beta.0_1631121556932_0.7850755657940016"},"_hasShrinkwrap":false},"1.1.9":{"name":"@mkhuda/react-shaka-player","version":"1.1.9","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"nodeminify":"node ./node_modules/.bin/node-minify","build-css":"yarn nodeminify --compressor clean-css --input \"src/styles/ui.css\" --output \"dist/ui.css\"","build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@node-minify/clean-css":"^6.2.0","@node-minify/cli":"^6.2.0","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup":"^2.56.3","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"b228f40f01df0ed18a860d4487af26e5296ae31f","_id":"@mkhuda/react-shaka-player@1.1.9","_nodeVersion":"16.9.1","_npmVersion":"7.21.1","dist":{"integrity":"sha512-lWtfMSwxaDQU+F9ajua8bnH9YAXbK1zphZo2YAV0zhrwE3pP2MarOjmqGM9Ixb0wRu6Az0Jd0K5aUcnLLD85Mg==","shasum":"5ca178ed2216205a217eaffe7660b8ed7e521d52","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.9.tgz","fileCount":38,"unpackedSize":573162,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhPBR1CRA9TVsSAnZWagAAcO0P/jRQ41cDiZcsM0jJ81hz\n2wknOQJqVVbUKtC3U7DVrdQiBQZGyf22680VByPUPvVAZ7PLTjQ9YfDiCJXg\noOeapdRE/UuOJSoLGsddyxkiSk0NnVupyd5wqmbAHxdfNR+z/ob4am9J2r8y\nlQSUvoC1FqQyzU4cpKP1x1YfLS05YE68Jn0c/4fpwyIh4FN3073nJKz8aF9l\nEfQAcEknqNZxh/6YI3rqvdtktiGN5L6YnSh2SzIhXYWCMhfyu7aeOIZFJzPp\nKT7U5Dpu4Sd82OLhiT0a5Iog0WJyDtyMvDs1UooRxHOlMSYLRhKi0LP7PSfA\nQbi/Fs/OhPkqoynrpOtr2uPErPqgLSxOhGJ3h8eQMoiB7rPyaH7UY6L4OZ0t\nPDMyD25H0vx9w50IVdRP5LPsfuT+j4Key5sQPgo797rwd1EiiMN/SWfNgDMX\n4kESUq89Xq77T/WAPdXJvH9Zw7Gas6HhPvecT9kD7VBuo+yl9Pay/Cilf001\nKFC3pn8fvBk1x08hWUwrA0PXlPP+v6A0+yyAJMdbxAPE0kJBt+Ve8lmYbjxc\n8cgTrij1IxnZAThSqt4ISc8407TcvtFXhsqYSZGOZK4Ykz/TosSukKm1vo1D\nQhFVKWJ1LNIv4qPrTQ/ZmztotqstA/VxHAT9zgzVI/dRFLYL4gNlBrme3sHq\nZRnC\r\n=hJt8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID8fqqDcyu7tyWnqCZf/3jah72ZnuKX76zFXBdvClZPMAiBLhNO6lMrK3EJ7z1/NjqSkimUw0q7ba/Vo4+E88r9MPA=="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.9_1631327348835_0.9538730349168869"},"_hasShrinkwrap":false},"1.1.10-beta.0":{"name":"@mkhuda/react-shaka-player","version":"1.1.10-beta.0","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"nodeminify":"node ./node_modules/.bin/node-minify","build-css":"yarn nodeminify --compressor clean-css --input \"src/styles/ui.css\" --output \"dist/ui.css\"","build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@node-minify/clean-css":"^6.2.0","@node-minify/cli":"^6.2.0","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup":"^2.56.3","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","rollup-plugin-terser":"^7.0.2","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"98d263ff9d2f39cae8f4198e5c399184ddc52b9e","readme":"# @mkhuda/react-shaka-player \n[![Build Status](https://app.travis-ci.com/mkhuda/react-shaka-player.svg?branch=main)](https://app.travis-ci.com/mkhuda/react-shaka-player) [![npm version](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player.svg)](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player) ![npm](https://img.shields.io/npm/v/shaka-player?label=shaka-player)\n\nReact video player built on top of [Shaka Player](https://github.com/google/shaka-player). \n> [DEMO](https://csb-pygk8-mkhuda.vercel.app/)\n\n> [CODESANDBOX](https://codesandbox.io/s/keen-dewdney-pygk8)\n\n> [ROADMAP](https://github.com/mkhuda/react-shaka-player/wiki/Initial-Roadmap)\n\n> [EXAMPLE & USAGES](https://github.com/mkhuda/react-shaka-player/wiki/Usages-&-Examples)\n\n## Installation\n\nUse the package manager [yarn](https://classic.yarnpkg.com/en/) or [npm](https://www.npmjs.com/) to install `@mkhuda/react-shaka-player`.\n\n```bash\nyarn add @mkhuda/react-shaka-player shaka-player\n\nor\n\nnpm install @mkhuda/react-shaka-player shaka-player\n```\n\n## Usage\n\n```javascript\n// import the css. Now we have custom ui.css\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  return <ReactShakaPlayer autoPlay={true} src={\"https://yourvideohere.mpd\"} />;\n}\n```\n\n## Manual Handle Usage\n\n```javascript\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  let [mainPlayer, setMainPlayer] = useState({});\n\n  useEffect(() => {\n    const { player, videoElement } = mainPlayer;\n\n    if (player) {\n      async function play() {\n        await player.load(\"https://yourvideomaster.mpd\");\n        videoElement.play();\n      }\n      play();\n    }\n  }, [mainPlayer]);\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-main\">\n        <ReactShakaPlayer\n          playerClassName=\"player-class-name\"\n          onLoad={(player) => setMainPlayer(player)}\n        />\n      </div>\n    </div>\n  );\n}\n```\n\n## Props\n\nThis is main props for the components:\n\n|Props                |Optional       |Description                         |Type                         |\n|----------------|--------|-------------------------------|-----------------------------|\n|src|No|MPD or HLS to play            |string           |\n|className |Yes| string of ui overlay classname | string |\n|autoPlay|Yes| as it described | boolean |\n|superConfig|Yes|The special configs for Streaming or VOD. Will add more `superConfig` soon.      | string (\"STREAMING\" / \"VOD\")            |\n|config |Yes|Changes configuration settings on Shaka Player. Reference: [shaka.extern.PlayerConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration). This config will override `superConfig`.      | object            |\n|uiConfig |Yes|Changes configuration settings for UI elements. Reference: [shaka.extern.UIConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.UIConfiguration). This config will override `superConfig`.      | object            |\n|onLoad |Yes|Catch `Shaka.Player`, `Shaka.ui.Overlay` and `HTMLVideoElement` for manual usages or improvement of configuration. see: [PlayerRefs](https://github.com/mkhuda/react-shaka-player/blob/c4459e31027a08165007d03c9a08ff8a3e5de3dc/src/types/index.ts#L3) |object: PlayerRefs => func|\n|onPlay |Yes|Catch when media is playing |func|\n|onPlause |Yes|Catch when media is paused |func|\n|onEnded |Yes|Catch when video is end |func|\n|onBuffering |Yes|Catch `onBuffering` status when playing |bool => func|\n|onPlayerError |Yes|Catch `error` when playing. Reference: [Shaka.Player.ErrorEvent](https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:ErrorEvent) |{Shaka.extern.Error} => func|\n|onStatsChanged |Yes|Catch `stats` when playing video, including currentTime (current seek position), and currentEndTime (length of video duration if VOD) (in seconds) of media player element [`IStats`]. Reference: [IStats & Shaka.extern.Stats](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.Stats) |{Shaka.extern.Stats} => func|\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","readmeFilename":"README.md","_id":"@mkhuda/react-shaka-player@1.1.10-beta.0","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-4WMR2/zCSLd2jZXPAJdTYzd51b2HhSFpm/wS3w5xFl4LnFRpElm1zvcc7RhkU/Z9Sh4DNNkxcyQz4y1uBUQWpg==","shasum":"84e8f791f80e3993c659ac9c71b93ee75892a619","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.10-beta.0.tgz","fileCount":24,"unpackedSize":517217,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDxEVc0XrCJPPTwN4hobuO5iwzPnaHWkVDgZyWqA74vAAiEAsN9bJWq3GiVu4wUpkBAe3lnrs8MKicV9NCHWHgQL5Sw="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.10-beta.0_1632832359592_0.5228315837352571"},"_hasShrinkwrap":false},"1.1.10-beta.1":{"name":"@mkhuda/react-shaka-player","version":"1.1.10-beta.1","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"nodeminify":"node ./node_modules/.bin/node-minify","build-css":"yarn nodeminify --compressor clean-css --input \"src/styles/ui.css\" --output \"dist/ui.css\"","build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@node-minify/clean-css":"^6.2.0","@node-minify/cli":"^6.2.0","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup":"^2.56.3","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","rollup-plugin-terser":"^7.0.2","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"b62b0faa2e22def3467b31728395daf891e680b1","readme":"# @mkhuda/react-shaka-player \n[![Build Status](https://app.travis-ci.com/mkhuda/react-shaka-player.svg?branch=main)](https://app.travis-ci.com/mkhuda/react-shaka-player) [![npm version](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player.svg)](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player) ![npm](https://img.shields.io/npm/v/shaka-player?label=shaka-player)\n\nReact video player built on top of [Shaka Player](https://github.com/google/shaka-player). \n> [DEMO](https://csb-pygk8-mkhuda.vercel.app/)\n\n> [CODESANDBOX](https://codesandbox.io/s/keen-dewdney-pygk8)\n\n> [ROADMAP](https://github.com/mkhuda/react-shaka-player/wiki/Initial-Roadmap)\n\n> [EXAMPLE & USAGES](https://github.com/mkhuda/react-shaka-player/wiki/Usages-&-Examples)\n\n## Installation\n\nUse the package manager [yarn](https://classic.yarnpkg.com/en/) or [npm](https://www.npmjs.com/) to install `@mkhuda/react-shaka-player`.\n\n```bash\nyarn add @mkhuda/react-shaka-player shaka-player\n\nor\n\nnpm install @mkhuda/react-shaka-player shaka-player\n```\n\n## Usage\n\n```javascript\n// import the css. Now we have custom ui.css\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  return <ReactShakaPlayer autoPlay={true} src={\"https://yourvideohere.mpd\"} />;\n}\n```\n\n## Manual Handle Usage\n\n```javascript\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  let [mainPlayer, setMainPlayer] = useState({});\n\n  useEffect(() => {\n    const { player, videoElement } = mainPlayer;\n\n    if (player) {\n      async function play() {\n        await player.load(\"https://yourvideomaster.mpd\");\n        videoElement.play();\n      }\n      play();\n    }\n  }, [mainPlayer]);\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-main\">\n        <ReactShakaPlayer\n          playerClassName=\"player-class-name\"\n          onLoad={(player) => setMainPlayer(player)}\n        />\n      </div>\n    </div>\n  );\n}\n```\n\n## Props\n\nThis is main props for the components:\n\n|Props                |Optional       |Description                         |Type                         |\n|----------------|--------|-------------------------------|-----------------------------|\n|src|No|MPD or HLS to play            |string           |\n|className |Yes| string of ui overlay classname | string |\n|autoPlay|Yes| as it described | boolean |\n|superConfig|Yes|The special configs for Streaming or VOD. Will add more `superConfig` soon.      | string (\"STREAMING\" / \"VOD\")            |\n|config |Yes|Changes configuration settings on Shaka Player. Reference: [shaka.extern.PlayerConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration). This config will override `superConfig`.      | object            |\n|uiConfig |Yes|Changes configuration settings for UI elements. Reference: [shaka.extern.UIConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.UIConfiguration). This config will override `superConfig`.      | object            |\n|onLoad |Yes|Catch `Shaka.Player`, `Shaka.ui.Overlay` and `HTMLVideoElement` for manual usages or improvement of configuration. see: [PlayerRefs](https://github.com/mkhuda/react-shaka-player/blob/c4459e31027a08165007d03c9a08ff8a3e5de3dc/src/types/index.ts#L3) |object: PlayerRefs => func|\n|onPlay |Yes|Catch when media is playing |func|\n|onPlause |Yes|Catch when media is paused |func|\n|onEnded |Yes|Catch when video is end |func|\n|onBuffering |Yes|Catch `onBuffering` status when playing |bool => func|\n|onPlayerError |Yes|Catch `error` when playing. Reference: [Shaka.Player.ErrorEvent](https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:ErrorEvent) |{Shaka.extern.Error} => func|\n|onStatsChanged |Yes|Catch `stats` when playing video, including currentTime (current seek position), and currentEndTime (length of video duration if VOD) (in seconds) of media player element [`IStats`]. Reference: [IStats & Shaka.extern.Stats](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.Stats) |{Shaka.extern.Stats} => func|\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","readmeFilename":"README.md","_id":"@mkhuda/react-shaka-player@1.1.10-beta.1","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-6bIUyjI7SfWk1DvV4xT+/NaMBSIkB7BE6QqS/7ye4a9eNltelP4O5Oe/iRk0gUUzqUpX3jLE1tWgyVowHdQ/5g==","shasum":"8a8014fefb7c7f5eb648dbab93761031a121fe93","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.10-beta.1.tgz","fileCount":24,"unpackedSize":517420,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAYqaLxp+ZLSajZ4Gc3KHrwoHIgQdohWtp0iTNcfV3HkAiA0vAdTHU/MZuT5GPpnBYXS3BintByod8kttRuMCwP3Qw=="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.10-beta.1_1632834438837_0.0001409368303988412"},"_hasShrinkwrap":false},"1.1.10-beta.2":{"name":"@mkhuda/react-shaka-player","version":"1.1.10-beta.2","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"nodeminify":"node ./node_modules/.bin/node-minify","build-css":"yarn nodeminify --compressor clean-css --input \"src/styles/ui.css\" --output \"dist/ui.css\"","build":"rimraf dist && rollup -c --perf","start":"rimraf dist && DEV=1 rollup -c --watch","test":"jest","watch":"rollup -c --watch"},"dependencies":{"shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@node-minify/clean-css":"^6.2.0","@node-minify/cli":"^6.2.0","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup":"^2.56.3","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","rollup-plugin-terser":"^7.0.2","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"873fe31cb1e1fbd49c9896e8b143d9bc6be040e6","readme":"# @mkhuda/react-shaka-player \n[![Build Status](https://app.travis-ci.com/mkhuda/react-shaka-player.svg?branch=main)](https://app.travis-ci.com/mkhuda/react-shaka-player) [![npm version](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player.svg)](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player) ![npm](https://img.shields.io/npm/v/shaka-player?label=shaka-player)\n\nReact video player built on top of [Shaka Player](https://github.com/google/shaka-player). \n> [DEMO](https://csb-pygk8-mkhuda.vercel.app/)\n\n> [CODESANDBOX](https://codesandbox.io/s/keen-dewdney-pygk8)\n\n> [ROADMAP](https://github.com/mkhuda/react-shaka-player/wiki/Initial-Roadmap)\n\n> [EXAMPLE & USAGES](https://github.com/mkhuda/react-shaka-player/wiki/Usages-&-Examples)\n\n## Installation\n\nUse the package manager [yarn](https://classic.yarnpkg.com/en/) or [npm](https://www.npmjs.com/) to install `@mkhuda/react-shaka-player`.\n\n```bash\nyarn add @mkhuda/react-shaka-player shaka-player\n\nor\n\nnpm install @mkhuda/react-shaka-player shaka-player\n```\n\n## Usage\n\n```javascript\n// import the css. Now we have custom ui.css\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  return <ReactShakaPlayer autoPlay={true} src={\"https://yourvideohere.mpd\"} />;\n}\n```\n\n## Manual Handle Usage\n\n```javascript\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  let [mainPlayer, setMainPlayer] = useState({});\n\n  useEffect(() => {\n    const { player, videoElement } = mainPlayer;\n\n    if (player) {\n      async function play() {\n        await player.load(\"https://yourvideomaster.mpd\");\n        videoElement.play();\n      }\n      play();\n    }\n  }, [mainPlayer]);\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-main\">\n        <ReactShakaPlayer\n          playerClassName=\"player-class-name\"\n          onLoad={(player) => setMainPlayer(player)}\n        />\n      </div>\n    </div>\n  );\n}\n```\n\n## Props\n\nThis is main props for the components:\n\n|Props                |Optional       |Description                         |Type                         |\n|----------------|--------|-------------------------------|-----------------------------|\n|src|No|MPD or HLS to play            |string           |\n|className |Yes| string of ui overlay classname | string |\n|autoPlay|Yes| as it described | boolean |\n|superConfig|Yes|The special configs for Streaming or VOD. Will add more `superConfig` soon.      | string (\"STREAMING\" / \"VOD\")            |\n|config |Yes|Changes configuration settings on Shaka Player. Reference: [shaka.extern.PlayerConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration). This config will override `superConfig`.      | object            |\n|uiConfig |Yes|Changes configuration settings for UI elements. Reference: [shaka.extern.UIConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.UIConfiguration). This config will override `superConfig`.      | object            |\n|onLoad |Yes|Catch `Shaka.Player`, `Shaka.ui.Overlay` and `HTMLVideoElement` for manual usages or improvement of configuration. see: [PlayerRefs](https://github.com/mkhuda/react-shaka-player/blob/c4459e31027a08165007d03c9a08ff8a3e5de3dc/src/types/index.ts#L3) |object: PlayerRefs => func|\n|onPlay |Yes|Catch when media is playing |func|\n|onPlause |Yes|Catch when media is paused |func|\n|onEnded |Yes|Catch when video is end |func|\n|onBuffering |Yes|Catch `onBuffering` status when playing |bool => func|\n|onPlayerError |Yes|Catch `error` when playing. Reference: [Shaka.Player.ErrorEvent](https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:ErrorEvent) |{Shaka.extern.Error} => func|\n|onStatsChanged |Yes|Catch `stats` when playing video, including currentTime (current seek position), and currentEndTime (length of video duration if VOD) (in seconds) of media player element [`IStats`]. Reference: [IStats & Shaka.extern.Stats](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.Stats) |{Shaka.extern.Stats} => func|\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","readmeFilename":"README.md","_id":"@mkhuda/react-shaka-player@1.1.10-beta.2","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-IHj4HlM76ev4OWWCLsoFpUR22IC+3rHF7yEj9airRvxAFiONrE207sGxcejtgq9pzzAePMuw/+x3fQD5Iso+lg==","shasum":"500845c8d0cf916ee6f25c916c91152a323e1131","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.10-beta.2.tgz","fileCount":24,"unpackedSize":515138,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyS0iBjGavpGYGqPgxU6YmmAdxaL3YiROAgbfE4OX3oAIgOD6SnZ0PRFzdgvIKbM4o2lc5b8e5202qLHFxBYibyvA="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.10-beta.2_1632835306656_0.6106244249167967"},"_hasShrinkwrap":false},"1.1.10-beta.3":{"name":"@mkhuda/react-shaka-player","version":"1.1.10-beta.3","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"nodeminify":"node ./node_modules/.bin/node-minify","build-css":"yarn nodeminify --compressor clean-css --input \"src/styles/ui.css\" --output \"dist/ui.css\"","build":"rimraf dist && rollup -c --perf","start":"yarn build","test":"jest","watch":"rollup -c --watch"},"dependencies":{"shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@node-minify/clean-css":"^6.2.0","@node-minify/cli":"^6.2.0","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup":"^2.56.3","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","rollup-plugin-terser":"^7.0.2","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"a585e607dbe8db40c7d5011398b5e656d31773d3","readme":"# @mkhuda/react-shaka-player \n[![Build Status](https://app.travis-ci.com/mkhuda/react-shaka-player.svg?branch=main)](https://app.travis-ci.com/mkhuda/react-shaka-player) [![npm version](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player.svg)](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player) ![npm](https://img.shields.io/npm/v/shaka-player?label=shaka-player)\n\nReact video player built on top of [Shaka Player](https://github.com/google/shaka-player). \n> [DEMO](https://csb-pygk8-mkhuda.vercel.app/)\n\n> [CODESANDBOX](https://codesandbox.io/s/keen-dewdney-pygk8)\n\n> [ROADMAP](https://github.com/mkhuda/react-shaka-player/wiki/Initial-Roadmap)\n\n> [EXAMPLE & USAGES](https://github.com/mkhuda/react-shaka-player/wiki/Usages-&-Examples)\n\n## Installation\n\nUse the package manager [yarn](https://classic.yarnpkg.com/en/) or [npm](https://www.npmjs.com/) to install `@mkhuda/react-shaka-player`.\n\n```bash\nyarn add @mkhuda/react-shaka-player shaka-player\n\nor\n\nnpm install @mkhuda/react-shaka-player shaka-player\n```\n\n## Usage\n\n```javascript\n// import the css. Now we have custom ui.css\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  return <ReactShakaPlayer autoPlay={true} src={\"https://yourvideohere.mpd\"} />;\n}\n```\n\n## Manual Handle Usage\n\n```javascript\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  let [mainPlayer, setMainPlayer] = useState({});\n\n  useEffect(() => {\n    const { player, videoElement } = mainPlayer;\n\n    if (player) {\n      async function play() {\n        await player.load(\"https://yourvideomaster.mpd\");\n        videoElement.play();\n      }\n      play();\n    }\n  }, [mainPlayer]);\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-main\">\n        <ReactShakaPlayer\n          playerClassName=\"player-class-name\"\n          onLoad={(player) => setMainPlayer(player)}\n        />\n      </div>\n    </div>\n  );\n}\n```\n\n## Props\n\nThis is main props for the components:\n\n|Props                |Optional       |Description                         |Type                         |\n|----------------|--------|-------------------------------|-----------------------------|\n|src|No|MPD or HLS to play            |string           |\n|className |Yes| string of ui overlay classname | string |\n|autoPlay|Yes| as it described | boolean |\n|superConfig|Yes|The special configs for Streaming or VOD. Will add more `superConfig` soon.      | string (\"STREAMING\" / \"VOD\")            |\n|config |Yes|Changes configuration settings on Shaka Player. Reference: [shaka.extern.PlayerConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration). This config will override `superConfig`.      | object            |\n|uiConfig |Yes|Changes configuration settings for UI elements. Reference: [shaka.extern.UIConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.UIConfiguration). This config will override `superConfig`.      | object            |\n|onLoad |Yes|Catch `Shaka.Player`, `Shaka.ui.Overlay` and `HTMLVideoElement` for manual usages or improvement of configuration. see: [PlayerRefs](https://github.com/mkhuda/react-shaka-player/blob/c4459e31027a08165007d03c9a08ff8a3e5de3dc/src/types/index.ts#L3) |object: PlayerRefs => func|\n|onPlay |Yes|Catch when media is playing |func|\n|onPlause |Yes|Catch when media is paused |func|\n|onEnded |Yes|Catch when video is end |func|\n|onBuffering |Yes|Catch `onBuffering` status when playing |bool => func|\n|onPlayerError |Yes|Catch `error` when playing. Reference: [Shaka.Player.ErrorEvent](https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:ErrorEvent) |{Shaka.extern.Error} => func|\n|onStatsChanged |Yes|Catch `stats` when playing video, including currentTime (current seek position), and currentEndTime (length of video duration if VOD) (in seconds) of media player element [`IStats`]. Reference: [IStats & Shaka.extern.Stats](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.Stats) |{Shaka.extern.Stats} => func|\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","readmeFilename":"README.md","_id":"@mkhuda/react-shaka-player@1.1.10-beta.3","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-4O4J0kAxPcfkONguWg6kFAKWLnTXVEDbZgkWqeJHrqLAMk3lgU1z18k28xYxKcQbMOGUs5gCemh2Ix6MWX/2nw==","shasum":"218970c7a2a9a676dd561629763a86525de53beb","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.1.10-beta.3.tgz","fileCount":24,"unpackedSize":514143,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF4IgO321M7f6385KIL6rTHUzFcSqryii2t1kY081UQZAiAr/LbXm2U4P01d/U+1B88F95w6zxISwVIzXt661ASXPQ=="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.1.10-beta.3_1632930425020_0.004208315121695394"},"_hasShrinkwrap":false},"1.2.0":{"name":"@mkhuda/react-shaka-player","version":"1.2.0","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"nodeminify":"node ./node_modules/.bin/node-minify","build-css":"yarn nodeminify --compressor clean-css --input \"src/styles/ui.css\" --output \"dist/ui.css\"","build":"rimraf dist && rollup -c --perf","start":"yarn build","test":"jest","watch":"rollup -c --watch"},"dependencies":{"shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@node-minify/clean-css":"^6.2.0","@node-minify/cli":"^6.2.0","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup":"^2.56.3","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","rollup-plugin-terser":"^7.0.2","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"1f06c2016ef28f60e7ec9209313545b25026066a","_id":"@mkhuda/react-shaka-player@1.2.0","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-3gbLY0GYmvdiGaiDuRzuATfTs9alGnjbC9b6FiyP+8wQksKHYU8mxeMG5AybSqlLbCj3mkE4T/i681JIW3v+FQ==","shasum":"e7098fe30b95add2344786a7ec362c49c37dc778","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.2.0.tgz","fileCount":24,"unpackedSize":514135,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMvZ09Wk5PPFdIkW+BLgsbuFM46tNN/ovKWi3SamZKzwIhAPShNkNZIYQedk2ieCvPbKxjXHfVnfIuGn80b5phBY+w"}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.2.0_1632931281061_0.380056476822056"},"_hasShrinkwrap":false},"1.2.1-beta.0":{"name":"@mkhuda/react-shaka-player","version":"1.2.1-beta.0","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"nodeminify":"node ./node_modules/.bin/node-minify","build-css":"yarn nodeminify --compressor clean-css --input \"src/styles/ui.css\" --output \"dist/ui.css\"","build":"rimraf dist && rollup -c --perf","start":"yarn build","test":"jest","watch":"rollup -c --watch"},"dependencies":{"shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@node-minify/clean-css":"^6.2.0","@node-minify/cli":"^6.2.0","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup":"^2.56.3","rollup-plugin-analyzer":"^4.0.0","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","rollup-plugin-terser":"^7.0.2","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x","shaka-player":"^3.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"ff97c8027335396fc84629bf3a1252f7e5da7d4b","readme":"# @mkhuda/react-shaka-player \n[![Build Status](https://app.travis-ci.com/mkhuda/react-shaka-player.svg?branch=main)](https://app.travis-ci.com/mkhuda/react-shaka-player) [![npm version](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player.svg)](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player) ![npm](https://img.shields.io/npm/v/shaka-player?label=shaka-player)\n\nReact video player built on top of [Shaka Player](https://github.com/google/shaka-player). \n> [DEMO](https://csb-pygk8-mkhuda.vercel.app/)\n\n> [CODESANDBOX](https://codesandbox.io/s/keen-dewdney-pygk8)\n\n> [ROADMAP](https://github.com/mkhuda/react-shaka-player/wiki/Initial-Roadmap)\n\n> [EXAMPLE & USAGES](https://github.com/mkhuda/react-shaka-player/wiki/Usages-&-Examples)\n\n## Installation\n\nUse the package manager [yarn](https://classic.yarnpkg.com/en/) or [npm](https://www.npmjs.com/) to install `@mkhuda/react-shaka-player`.\n\n```bash\nyarn add @mkhuda/react-shaka-player shaka-player\n\nor\n\nnpm install @mkhuda/react-shaka-player shaka-player\n```\n\n## Usage\n\n```javascript\n// import the css. Now we have custom ui.css\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  return <ReactShakaPlayer autoPlay={true} src={\"https://yourvideohere.mpd\"} />;\n}\n```\n\n## Manual Handle Usage\n\n```javascript\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  let [mainPlayer, setMainPlayer] = useState({});\n\n  useEffect(() => {\n    const { player, videoElement } = mainPlayer;\n\n    if (player) {\n      async function play() {\n        await player.load(\"https://yourvideomaster.mpd\");\n        videoElement.play();\n      }\n      play();\n    }\n  }, [mainPlayer]);\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-main\">\n        <ReactShakaPlayer\n          playerClassName=\"player-class-name\"\n          onLoad={(player) => setMainPlayer(player)}\n        />\n      </div>\n    </div>\n  );\n}\n```\n\n## Props\n\nThis is main props for the components:\n\n|Props                |Optional       |Description                         |Type                         |\n|----------------|--------|-------------------------------|-----------------------------|\n|src|No|MPD or HLS to play            |string           |\n|className |Yes| string of ui overlay classname | string |\n|autoPlay|Yes| as it described | boolean |\n|superConfig|Yes|The special configs for Streaming or VOD. Will add more `superConfig` soon.      | string (\"STREAMING\" / \"VOD\")            |\n|config |Yes|Changes configuration settings on Shaka Player. Reference: [shaka.extern.PlayerConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration). This config will override `superConfig`.      | object            |\n|uiConfig |Yes|Changes configuration settings for UI elements. Reference: [shaka.extern.UIConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.UIConfiguration). This config will override `superConfig`.      | object            |\n|onLoad |Yes|Catch `Shaka.Player`, `Shaka.ui.Overlay` and `HTMLVideoElement` for manual usages or improvement of configuration. see: [PlayerRefs](https://github.com/mkhuda/react-shaka-player/blob/c4459e31027a08165007d03c9a08ff8a3e5de3dc/src/types/index.ts#L3) |object: PlayerRefs => func|\n|onPlay |Yes|Catch when media is playing |func|\n|onPlause |Yes|Catch when media is paused |func|\n|onEnded |Yes|Catch when video is end |func|\n|onBuffering |Yes|Catch `onBuffering` status when playing |bool => func|\n|onPlayerError |Yes|Catch `error` when playing. Reference: [Shaka.Player.ErrorEvent](https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:ErrorEvent) |{Shaka.extern.Error} => func|\n|onStatsChanged |Yes|Catch `stats` when playing video, including currentTime (current seek position), and currentEndTime (length of video duration if VOD) (in seconds) of media player element [`IStats`]. Reference: [IStats & Shaka.extern.Stats](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.Stats) |{Shaka.extern.Stats} => func|\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","readmeFilename":"README.md","_id":"@mkhuda/react-shaka-player@1.2.1-beta.0","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-xiDk/quXaBTBUMmRFaIRDoeag2hTdNnEJN4AbeY1WAXoJzCu5ouicuXJvHw4L4ZZdMolSyc0Rk2stFSYtQYlbA==","shasum":"fb989752e65d3596bb7753c857a76f022a4227ff","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.2.1-beta.0.tgz","fileCount":24,"unpackedSize":41165,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGhVUwipY81nJZpDZRpe0g+8FozF/GPgWtKDsl9SlBbRAiAOIW1ppS4ocFDHDQcVHsDDW2LeNv60xC+TtbwgOkE2eQ=="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.2.1-beta.0_1633031119461_0.3200400639624934"},"_hasShrinkwrap":false},"1.2.1":{"name":"@mkhuda/react-shaka-player","version":"1.2.1","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"nodeminify":"node ./node_modules/.bin/node-minify","build-css":"yarn nodeminify --compressor clean-css --input \"src/styles/ui.css\" --output \"dist/ui.css\"","build":"rimraf dist && rollup -c --perf","start":"yarn build","test":"jest","watch":"rollup -c --watch"},"dependencies":{"shaka-player":"^3.2.0"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@node-minify/clean-css":"^6.2.0","@node-minify/cli":"^6.2.0","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup":"^2.56.3","rollup-plugin-analyzer":"^4.0.0","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","rollup-plugin-terser":"^7.0.2","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x","shaka-player":"^3.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"720e311e843d5572ae1872e1992c69a2d68f9cd2","_id":"@mkhuda/react-shaka-player@1.2.1","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-zzPe7GUjimcyzDPJGPwtWfqu+XHcg9QiD4D/fxGO2wp/bHSsv6Y+FE9d/HO6YRKB0aXlxp4+NQEe5qzSTUhtng==","shasum":"4e95d7dcf51c850320e3793a0444cf02e83d816f","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.2.1.tgz","fileCount":24,"unpackedSize":41158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2RyBCRA9TVsSAnZWagAAcRYP/0ySU632RQhPRune/xzP\nvR7tdwNWX4De0Pdtw9xP3TbOVSdNSj1c9jvY9RU4Gc7iGHz7rqsbNoqNbWZo\ng2Nhxg5VbKQ5+GLkn3GwMj0czEXmnVfZhdFU4q9oVoFwcbRNa+FXMrk/hbDW\nhrhjclggNVmCA/9RocYpQtphydT9NFn7BgQB6aMU27bBJwMfYC+XHJzz363m\nAcsd9QIxD4/17taOpXljkJuu3Zw8eaE/DQWEGvwZJYZGKMvF0wddV/rNCsG5\nBaEe22ndtjeRpeBIhwHJiTISzVVVa9kiTIDxmbsLugRl9fFyrDRTYkhnyeke\ncpfbuiHRBpw4SNQCRhTEFS1Az1WnJx8WO2ov4XkrrCznPCckzbnmkGtc68Bn\nphveB2y2zjMcgJ0rAPHRhSrY9hJZ+ad+aYNd8Gf8CeHH0h5pUaahyBdjOW6Q\nhR/hSPxcSK4HSqXkz+YBPw6HLXoU3fKK6Zw6X9tO2Rzc0xv7WtAcM+AeRFSh\nxWvV9WP3REGKrwsMtBInCxDo5hb+so70aizAv+3Wld23JRWJyUiCO+hg9002\nZNdONXZvvJwNWz5gGEvV6/oj8ptgw11zhBcltKWDwrwBT+yglokcxIgWKhz1\nSz1KRlacNor5dNXzP+lWhkebMNZ40yNFRyUaO9DStLv1jkGb5UYbyQSAqHzM\nfmOo\r\n=EHdy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFVfPDgOkuic6gAL11iQgHG7hKAEa9r8gVa0n3uoEhVXAiEA++dzor6gnn/H/Jp2PGN3xqcES99wxHvTYGE96nYwWSQ="}]},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.2.1_1633034107633_0.7311456374930054"},"_hasShrinkwrap":false},"1.2.2-beta.0":{"name":"@mkhuda/react-shaka-player","version":"1.2.2-beta.0","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"nodeminify":"node ./node_modules/.bin/node-minify","build-css":"yarn nodeminify --compressor clean-css --input \"src/styles/ui.css\" --output \"dist/ui.css\"","build":"rimraf dist && rollup -c --perf","start":"yarn build","test":"jest","watch":"rollup -c --watch"},"dependencies":{"shaka-player":"^3.3.7"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@node-minify/clean-css":"^6.2.0","@node-minify/cli":"^6.2.0","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup":"^2.56.3","rollup-plugin-analyzer":"^4.0.0","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","rollup-plugin-terser":"^7.0.2","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x","shaka-player":"^3.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"017dfa2dbd83b5a17ef97bf4e2c5e88c992adf8e","readme":"# @mkhuda/react-shaka-player \n[![Build Status](https://app.travis-ci.com/mkhuda/react-shaka-player.svg?branch=main)](https://app.travis-ci.com/mkhuda/react-shaka-player) [![npm version](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player.svg)](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player) ![npm](https://img.shields.io/npm/v/shaka-player?label=shaka-player)\n\nReact video player built on top of [Shaka Player](https://github.com/google/shaka-player). \n> [DEMO](https://csb-pygk8-mkhuda.vercel.app/)\n\n> [CODESANDBOX](https://codesandbox.io/s/keen-dewdney-pygk8)\n\n> [ROADMAP](https://github.com/mkhuda/react-shaka-player/wiki/Initial-Roadmap)\n\n> [EXAMPLE & USAGES](https://github.com/mkhuda/react-shaka-player/wiki/Usages-&-Examples)\n\n## Installation\n\nUse the package manager [yarn](https://classic.yarnpkg.com/en/) or [npm](https://www.npmjs.com/) to install `@mkhuda/react-shaka-player`.\n\n```bash\nyarn add @mkhuda/react-shaka-player shaka-player\n\nor\n\nnpm install @mkhuda/react-shaka-player shaka-player\n```\n\n## Usage\n\n```javascript\n// import the css. Now we have custom ui.css\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  return <ReactShakaPlayer autoPlay={true} src={\"https://yourvideohere.mpd\"} />;\n}\n```\n\n## Manual Handle Usage\n\n```javascript\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  let [mainPlayer, setMainPlayer] = useState({});\n\n  useEffect(() => {\n    const { player, videoElement } = mainPlayer;\n\n    if (player) {\n      async function play() {\n        await player.load(\"https://yourvideomaster.mpd\");\n        videoElement.play();\n      }\n      play();\n    }\n  }, [mainPlayer]);\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-main\">\n        <ReactShakaPlayer\n          playerClassName=\"player-class-name\"\n          onLoad={(player) => setMainPlayer(player)}\n        />\n      </div>\n    </div>\n  );\n}\n```\n\n## Props\n\nThis is main props for the components:\n\n|Props                |Optional       |Description                         |Type                         |\n|----------------|--------|-------------------------------|-----------------------------|\n|src|No|MPD or HLS to play            |string           |\n|className |Yes| string of ui overlay classname | string |\n|autoPlay|Yes| as it described | boolean |\n|superConfig|Yes|The special configs for Streaming or VOD. Will add more `superConfig` soon.      | string (\"STREAMING\" / \"VOD\")            |\n|config |Yes|Changes configuration settings on Shaka Player. Reference: [shaka.extern.PlayerConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration). This config will override `superConfig`.      | object            |\n|uiConfig |Yes|Changes configuration settings for UI elements. Reference: [shaka.extern.UIConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.UIConfiguration). This config will override `superConfig`.      | object            |\n|onLoad |Yes|Catch `Shaka.Player`, `Shaka.ui.Overlay` and `HTMLVideoElement` for manual usages or improvement of configuration. see: [PlayerRefs](https://github.com/mkhuda/react-shaka-player/blob/c4459e31027a08165007d03c9a08ff8a3e5de3dc/src/types/index.ts#L3) |object: PlayerRefs => func|\n|onPlay |Yes|Catch when media is playing |func|\n|onPlause |Yes|Catch when media is paused |func|\n|onEnded |Yes|Catch when video is end |func|\n|onBuffering |Yes|Catch `onBuffering` status when playing |bool => func|\n|onPlayerError |Yes|Catch `error` when playing. Reference: [Shaka.Player.ErrorEvent](https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:ErrorEvent) |{Shaka.extern.Error} => func|\n|onStatsChanged |Yes|Catch `stats` when playing video, including currentTime (current seek position), and currentEndTime (length of video duration if VOD) (in seconds) of media player element [`IStats`]. Reference: [IStats & Shaka.extern.Stats](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.Stats) |{Shaka.extern.Stats} => func|\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","readmeFilename":"README.md","_id":"@mkhuda/react-shaka-player@1.2.2-beta.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-5aFdk9F21LeYeiEjr/adynsvxSPuMrOjB3fK6gbpEfwBNTgWce48e3jWhsjiOvccHSqX/DtlK5X107FMM/1bqg==","shasum":"32a97532dd941ae08f12d7d04a93abf8a29da59b","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.2.2-beta.0.tgz","fileCount":24,"unpackedSize":41165,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUbz6aNRuiHdLDS9E5n3CVhKCr3UKLrYciXL2TmDI/7AIgUvzi7ulwQNCaRgkUSzefhdExEvzNHRJ4ABC7H1SbJ1I="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwVbVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmonSg/9FsZF3R6H3vidMRL66OzeK07d0ZocuRzqcro8TyoR3Gvnm987\r\nWHDgI7bR7H8sqLMSFaBIm+Kws4yCLHPzZUhGkuFCJERhAmII7bN5B+Hg2Bqd\r\nkRWrOCAFqbJsWZR46UQPbIfO6XkHqUHPSzir39I69dVrpo3ihrCPz8qdbfAW\r\n6iSG8MRSaw1+YThFdVY3d4n6pDheLJaZFXLjNtUueIAFQWfDLNBx6QS4n+uK\r\n2YpCGVz1CeTkAQsOM7BkBxqI4mb7/wtr4MKVCq+T/ZJ0lFYJdRu0TlhrKE8F\r\n+CPxCiaZo1kV/d8hYvwh4nj/RiA+v85PowdKV1bKaeY3n5qclGtp7stC4Ztk\r\nXkmY5umlZ5d83o8zZKbHJfBR8YBTjsjHwW9/p4in77yHWhDVSbTagudlPG73\r\nNU8sEv1+Ba3iDtpvwaCUrdPSHNy6FS8pPPLuE/v/fts6o6A81iNRgD23FAEu\r\n+DILRQbutC20dNbHlOy0Pxk40f878xfhRTIs5+x25A7ApY+wIlb7WIhr/J1r\r\n2tr8h+DWHeF0OmK5+XgPOHZKWP7afKLO7RIgpkS/eMELtSUs3drLxrIAufmp\r\n84V5SJnxFbMdsYGFSe9jB4lIl6XHOa4uRbx5GAhazP2J9BcoKtjQkigIcXAT\r\nb9C6aYuUdtbKL+2yih8T18DSRQqM/BfVybw=\r\n=nBto\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.2.2-beta.0_1656837845735_0.4425027132765087"},"_hasShrinkwrap":false},"1.2.2":{"name":"@mkhuda/react-shaka-player","version":"1.2.2","description":"React video player built with Shaka-Player","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Muhammad K. Huda"},"license":"MIT","scripts":{"nodeminify":"node ./node_modules/.bin/node-minify","build-css":"yarn nodeminify --compressor clean-css --input \"src/styles/ui.css\" --output \"dist/ui.css\"","build":"rimraf dist && rollup -c --perf","start":"yarn build","test":"jest","watch":"rollup -c --watch"},"dependencies":{"shaka-player":"^3.3.7"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5","@node-minify/clean-css":"^6.2.0","@node-minify/cli":"^6.2.0","@rollup/plugin-alias":"^3.1.5","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^20.0.0","@rollup/plugin-node-resolve":"^13.0.4","@rollup/plugin-replace":"^3.0.0","@rollup/plugin-strip":"^2.1.0","@rollup/plugin-typescript":"^8.2.5","@types/enzyme":"^3.10.9","@types/jest":"^27.0.1","@types/react":"^17.0.18","@types/react-dom":"^17.0.9","@types/react-test-renderer":"^17.0.1","@wojtekmaj/enzyme-adapter-react-17":"^0.6.3","babel-jest":"^27.0.6","enzyme":"^3.11.0","enzyme-to-json":"^3.6.2","jest":"^27.0.6","postcss":"^8.3.6","prettier":"^2.3.2","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rimraf":"^3.0.2","rollup":"^2.56.3","rollup-plugin-analyzer":"^4.0.0","rollup-plugin-bundle-html":"^0.2.2","rollup-plugin-copy":"^3.4.0","rollup-plugin-html2":"^3.0.1","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-postcss":"^4.0.1","rollup-plugin-serve":"^1.1.0","rollup-plugin-terser":"^7.0.2","ts-jest":"^27.0.5","tslib":"^2.3.1","typescript":"^4.3.5"},"peerDependencies":{"react":"^16.8.x || ^17.x.x","shaka-player":"^3.x.x"},"directories":{"demo":"demo","test":"test"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"jsdom","testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"setupFilesAfterEnv":["<rootDir>/test/app.test.tsx"]},"repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"homepage":"https://github.com/mkhuda/react-shaka-player#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["react","shaka-player","video-player","mpd","hls"],"gitHead":"780254408dfd18c5376324b1ab9456d1f50fa180","_id":"@mkhuda/react-shaka-player@1.2.2","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-CF+KKsu4cgFDKtM9F5UlRcSYXI4RzCP9Bo4KpbLB6afWiXfikgt60yAxC6PL5kXYAH0bj82jas7Jb2quDvohag==","shasum":"5d68f77c0fb612f9fb8a8cc9a9da6e5c87cd0705","tarball":"https://registry.npmjs.org/@mkhuda/react-shaka-player/-/react-shaka-player-1.2.2.tgz","fileCount":24,"unpackedSize":41158,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIkOqqaMsdiEC9m59nwf43m1SGn3I/CcokMOVIGpg2RwIgNEgcOur+0r6qnF2HfHMEa8GRtlQdiC8HSusz12TpIjc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwybHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmreEA//a8sUMCba1HOpB/lYot1xT1nmHeYuUUf5S6tb5NHyeQCeWEYL\r\nAnoqKzRzUYyJn9NTWQJl5n5RNztp0NVAAaNxNPhTVHqLGBRicYgQEHjYSCh3\r\nRU+fH1W7oTuBRUq1No4ILD+T1oV5s8f++2JE+2m11ja02D/cgQcHChNuAM9s\r\nOZbBoKWtZrFL6iEktI1ZcNuKcFSYI9ZCNp2v3Xx7Dmj/dJnUZYzxtDZHdKgx\r\nN3dcZeNc0AUT4jAXyICz66PNbgE+Q0tf3p8r4FGwgtPF9G3X78DH8BZcSjAn\r\npOH3X0ds9iIsaGp0f9oW9mLCVvChcQ3DkyuWssix49AmctG/IoC64mZmeri2\r\nPQ7XCoCycjNlrMU1MwKmHjmNl38Uimfj2HvWFC0m3mZXOg41y6K8eAh32C4t\r\nXr3JTInyxeIyCeDLaFjV+fC+/QzPIdaBTSQ9hZ8wKoh2bavxiYxtAoVY9QY0\r\nY679A6vLL3ya24ybV9nf1Ob1lVRDfB4BwIbWXiyWRzAPVVRJMxHfoFoXD4tm\r\nHaaVMZjNnYBBY6bL0USjVrU6X7fZQ4w3tnW6a3q30KUdFh1qK/DFqasg6XN6\r\n2cISHJk/vaQq4mtS6LBvjEKqRLZm0VhoNqWsuw2p32qaArLosqz4RSyeWW+R\r\nyT7cXZZP9jw3lbUqOAdwW/dMO7sb50tT+Io=\r\n=aO3k\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"mkhuda","email":"mhmmd.huda@gmail.com"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-shaka-player_1.2.2_1656956615257_0.767834452728712"},"_hasShrinkwrap":false}},"time":{"created":"2021-08-22T07:43:57.418Z","1.1.0":"2021-08-22T07:43:57.672Z","modified":"2022-07-04T17:43:35.474Z","1.1.1":"2021-08-25T01:14:58.707Z","1.1.2":"2021-08-27T17:25:10.643Z","1.1.3":"2021-08-28T09:40:27.631Z","1.1.4":"2021-08-28T12:12:18.927Z","1.1.5":"2021-08-29T11:47:28.432Z","1.1.6-beta.0":"2021-08-29T15:37:57.334Z","1.1.6-beta.1":"2021-08-30T03:58:12.749Z","1.1.6":"2021-08-30T04:25:44.308Z","1.1.7-beta.0":"2021-09-03T13:37:17.668Z","1.1.7-beta.1":"2021-09-03T13:51:57.045Z","1.1.7-beta.2":"2021-09-03T14:26:09.758Z","1.1.7-beta.3":"2021-09-04T13:36:48.652Z","1.1.7":"2021-09-04T14:14:25.779Z","1.1.8":"2021-09-04T14:39:48.429Z","1.1.9-beta.0":"2021-09-08T17:19:17.100Z","1.1.9":"2021-09-11T02:29:09.013Z","1.1.10-beta.0":"2021-09-28T12:32:39.760Z","1.1.10-beta.1":"2021-09-28T13:07:19.037Z","1.1.10-beta.2":"2021-09-28T13:21:46.848Z","1.1.10-beta.3":"2021-09-29T15:47:05.198Z","1.2.0":"2021-09-29T16:01:21.362Z","1.2.1-beta.0":"2021-09-30T19:45:19.627Z","1.2.1":"2021-09-30T20:35:07.785Z","1.2.2-beta.0":"2022-07-03T08:44:05.916Z","1.2.2":"2022-07-04T17:43:35.407Z"},"maintainers":[{"name":"mkhuda","email":"mhmmd.huda@gmail.com"}],"description":"React video player built with Shaka-Player","homepage":"https://github.com/mkhuda/react-shaka-player#readme","repository":{"type":"git","url":"git+https://github.com/mkhuda/react-shaka-player.git"},"author":{"name":"Muhammad K. Huda"},"bugs":{"url":"https://github.com/mkhuda/react-shaka-player/issues"},"license":"MIT","readme":"# @mkhuda/react-shaka-player \n[![Build Status](https://app.travis-ci.com/mkhuda/react-shaka-player.svg?branch=main)](https://app.travis-ci.com/mkhuda/react-shaka-player) [![npm version](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player.svg)](https://badge.fury.io/js/%40mkhuda%2Freact-shaka-player) ![npm](https://img.shields.io/npm/v/shaka-player?label=shaka-player)\n\nReact video player built on top of [Shaka Player](https://github.com/google/shaka-player). \n> [DEMO](https://csb-pygk8-mkhuda.vercel.app/)\n\n> [CODESANDBOX](https://codesandbox.io/s/keen-dewdney-pygk8)\n\n> [ROADMAP](https://github.com/mkhuda/react-shaka-player/wiki/Initial-Roadmap)\n\n> [EXAMPLE & USAGES](https://github.com/mkhuda/react-shaka-player/wiki/Usages-&-Examples)\n\n## Installation\n\nUse the package manager [yarn](https://classic.yarnpkg.com/en/) or [npm](https://www.npmjs.com/) to install `@mkhuda/react-shaka-player`.\n\n```bash\nyarn add @mkhuda/react-shaka-player shaka-player\n\nor\n\nnpm install @mkhuda/react-shaka-player shaka-player\n```\n\n## Usage\n\n```javascript\n// import the css. Now we have custom ui.css\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  return <ReactShakaPlayer autoPlay={true} src={\"https://yourvideohere.mpd\"} />;\n}\n```\n\n## Manual Handle Usage\n\n```javascript\nimport \"@mkhuda/react-shaka-player/dist/ui.css\";\nimport { ReactShakaPlayer } from \"@mkhuda/react-shaka-player\";\n\nfunction App() {\n  let [mainPlayer, setMainPlayer] = useState({});\n\n  useEffect(() => {\n    const { player, videoElement } = mainPlayer;\n\n    if (player) {\n      async function play() {\n        await player.load(\"https://yourvideomaster.mpd\");\n        videoElement.play();\n      }\n      play();\n    }\n  }, [mainPlayer]);\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-main\">\n        <ReactShakaPlayer\n          playerClassName=\"player-class-name\"\n          onLoad={(player) => setMainPlayer(player)}\n        />\n      </div>\n    </div>\n  );\n}\n```\n\n## Props\n\nThis is main props for the components:\n\n|Props                |Optional       |Description                         |Type                         |\n|----------------|--------|-------------------------------|-----------------------------|\n|src|No|MPD or HLS to play            |string           |\n|className |Yes| string of ui overlay classname | string |\n|autoPlay|Yes| as it described | boolean |\n|superConfig|Yes|The special configs for Streaming or VOD. Will add more `superConfig` soon.      | string (\"STREAMING\" / \"VOD\")            |\n|config |Yes|Changes configuration settings on Shaka Player. Reference: [shaka.extern.PlayerConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration). This config will override `superConfig`.      | object            |\n|uiConfig |Yes|Changes configuration settings for UI elements. Reference: [shaka.extern.UIConfiguration](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.UIConfiguration). This config will override `superConfig`.      | object            |\n|onLoad |Yes|Catch `Shaka.Player`, `Shaka.ui.Overlay` and `HTMLVideoElement` for manual usages or improvement of configuration. see: [PlayerRefs](https://github.com/mkhuda/react-shaka-player/blob/c4459e31027a08165007d03c9a08ff8a3e5de3dc/src/types/index.ts#L3) |object: PlayerRefs => func|\n|onPlay |Yes|Catch when media is playing |func|\n|onPlause |Yes|Catch when media is paused |func|\n|onEnded |Yes|Catch when video is end |func|\n|onBuffering |Yes|Catch `onBuffering` status when playing |bool => func|\n|onPlayerError |Yes|Catch `error` when playing. Reference: [Shaka.Player.ErrorEvent](https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:ErrorEvent) |{Shaka.extern.Error} => func|\n|onStatsChanged |Yes|Catch `stats` when playing video, including currentTime (current seek position), and currentEndTime (length of video duration if VOD) (in seconds) of media player element [`IStats`]. Reference: [IStats & Shaka.extern.Stats](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.Stats) |{Shaka.extern.Stats} => func|\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","readmeFilename":"README.md","keywords":["react","shaka-player","video-player","mpd","hls"]}