{"_id":"videojs-http-quality-selector","_rev":"53-5af5a039aa9aefaad22c3261caf380ed","name":"videojs-http-quality-selector","dist-tags":{"latest":"1.2.1","next":"1.3.16"},"versions":{"1.0.0":{"name":"videojs-http-quality-selector","version":"1.0.0","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"gitHead":"9bd8f52647721023e1d70d3888034e5339bc0ddc","_id":"videojs-http-quality-selector@1.0.0","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-JlJObL2qiDzj9mYevqFJKho+O72+B/aKhJeN3lXUhtV+ZdR4BM+rQr98YQO6LpBMHtKy1K93HVC5bLqOjUy7nw==","shasum":"844d505946bcdeaabb503c646887102c642917f8","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.0.0.tgz","fileCount":12,"unpackedSize":37909,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcUDH8n9HuD3H+jECoGu/U5IZSF6tRqlvxSER4Y4dImAIhAOnL9TzG9KHDVPps8XL2m1tyay+1d2NkDqW4hQRNMCHU"}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.0.0_1632240018837_0.7810009309209793"},"_hasShrinkwrap":false},"1.1.0":{"name":"videojs-http-quality-selector","version":"1.1.0","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"git+https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"gitHead":"0651e12e91f211389a580d06b80b6d20377f1176","bugs":{"url":"https://github.com/tux-tn/videojs-http-quality-selector/issues"},"_id":"videojs-http-quality-selector@1.1.0","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-eKNjlnatY1civaDN2sN6nYrbDUMHgB7Jbqv/Xxs+ItLlXO9A1Viwpr9R8r/lTBc6s+dFP9pYZ4EtNUAmtB4O/A==","shasum":"94efd165d374a3b4e011f2fcea7a0b6403c1dbed","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.1.0.tgz","fileCount":12,"unpackedSize":38216,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLzP6u70at8iYMVOg+QQypoLkpXnfAohkOEACAmfvlxwIhAN8Tdftn2VTrrdueGz73q3Bn2vLkcfOZl0gB+NFAD0ym"}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.1.0_1632250227832_0.3088919174514049"},"_hasShrinkwrap":false},"1.2.0":{"name":"videojs-http-quality-selector","version":"1.2.0","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"git+https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"gitHead":"0651e12e91f211389a580d06b80b6d20377f1176","bugs":{"url":"https://github.com/tux-tn/videojs-http-quality-selector/issues"},"_id":"videojs-http-quality-selector@1.2.0","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-rezoCtMDS+FMUlsZH+Qea/zk4WSPFiJC5qu8UQCapOqBa7HJWkslAMQm4banhBm9smnI6GTXL8bpkSsZ3jyIjg==","shasum":"8464ae9a7911857a19c03240ed7e5cea15f0f7e6","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.0.tgz","fileCount":12,"unpackedSize":38593,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDab2Cxwbbi+hzqCqt3zL2zVcH8ayX22MNkmvIFynnt6wIhAJoOfqes9NC4LbXhT+3tzuFGEBR4MAdPkWQKES1nOoul"}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.0_1632252970154_0.019002922665777744"},"_hasShrinkwrap":false},"1.2.1":{"name":"videojs-http-quality-selector","version":"1.2.1","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"git+https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"gitHead":"e1008caa2d9fc3e4c99d5dd317771da7ab44d8a0","bugs":{"url":"https://github.com/tux-tn/videojs-http-quality-selector/issues"},"_id":"videojs-http-quality-selector@1.2.1","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-EZ3/04y1mJsW2iLYnxbIyM1BZ3g2evj2SQyyaV797UBXd/zIkU5zv0DNfJwiSj2H6ua9hgpxQrg3VZ9B9ePh0A==","shasum":"d91310540696b2d2fd650c95d17e6f5fcc9ef341","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.1.tgz","fileCount":12,"unpackedSize":38624,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICqnWo7pbM4Zx7U15RrHhZVyZCGPcxNE9p5lzH2tFdSmAiEAwJrj8+TzbjD51OIlJ1112WMFmOUWnUqnRz9DZk+iJ7s="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.1_1632254169467_0.711551644201059"},"_hasShrinkwrap":false},"1.2.2":{"name":"videojs-http-quality-selector","version":"1.2.2","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.2","dist":{"shasum":"d82e0ea36c69fb757e3a45661f01bdf8f820ceb1","integrity":"sha512-v/3LBTk3aPDYX/F4NBGbGE/zXK1yacMXg0CYTLkH6NIcvM5mZjvCZUPjHGl/37wsyopjhagvjFANU0wIOA3goA==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.2.tgz","fileCount":19,"unpackedSize":39737,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnoyLCAJbP2NjEgNAtM7oUIYcmBFbxqhxfCH/YbvjTwwIhANafvdvDCclf/CZGY17MjnolbT/fD6Tu6uSgT8aVE7xP"}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.2_1632314220044_0.761450422269963"},"_hasShrinkwrap":false},"1.2.3":{"name":"videojs-http-quality-selector","version":"1.2.3","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.3","dist":{"shasum":"f68c606926ce1bfe6f2c3da29bf89311d9a933a0","integrity":"sha512-U+SDrxp0u9XVP8P3gpD1mu9ScO8U1gu8fUfQY6QAJC1qp0HtVG5NU/1wBdEMUq3TVnk8HwVJ5CqS1R41GyPLQQ==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.3.tgz","fileCount":19,"unpackedSize":39841,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGnYKbBTnoaITyAX1uFM+VMPB+deljltbkIu6up6IqdfAiBQ2+ayQKpptR/+9KqbAoiNw49Iw3YKF9MIPKYi50USAg=="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.3_1632315309365_0.4754129002453842"},"_hasShrinkwrap":false},"1.2.4":{"name":"videojs-http-quality-selector","version":"1.2.4","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.4","dist":{"shasum":"0bc0d89963d7e4ebbbf316380820abb2e17fcd5b","integrity":"sha512-78LdStEnR+ORP92zC7uKwrukFg5CxJyIOB210l9yLVc6y4x04EhcU7V52wpvA0WUMSY30x8TwphbhVhN6vgiwg==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.4.tgz","fileCount":19,"unpackedSize":39910,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGVomMMdawSVHNZDioC46C2L7Rg9IRJek3zgEV4WOoHcAiEAv1y5K/SeDnls7ZzMNENAYarToe2cZaCovxzdT+dfaR0="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.4_1632315787171_0.04786776879116794"},"_hasShrinkwrap":false},"1.2.5":{"name":"videojs-http-quality-selector","version":"1.2.5","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.5","dist":{"shasum":"2d9e08e7fd49743756d91574712267477ca20b2d","integrity":"sha512-TCk6/okA97xwAj5i4iCsvFP9co7a+Ahdyg9EO2ogZMDnD/YlN99M9VZeekiRj/Hxg1m3rgwP5JRaDEdtJMJ68w==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.5.tgz","fileCount":19,"unpackedSize":39137,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFcQ+jjbBljm9tioyVQeDDlxVh+TPiz8hX4nxKfbB0KgIhANu1jt7yGz4mgXqVzhasw1arcq9XamE+SnN0EqbCmx8Y"}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.5_1632318428437_0.15064873739981577"},"_hasShrinkwrap":false},"1.2.6":{"name":"videojs-http-quality-selector","version":"1.2.6","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.6","dist":{"shasum":"ddf375c86883d723b5aed9b43625d85f1710038c","integrity":"sha512-xXY5svy3TJrBPJZTz1hqC5URILF+St8OK1kE/juHlv/oOy/NnQ2Qj/76ZRu3hOKI13Q0Dr/XJtofqoQ9TZgv+Q==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.6.tgz","fileCount":19,"unpackedSize":39559,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC5gtlGXXDs6X59s31DDm0C2CtX7Vl2s637JIG7qRg+HAiAuSK5/ctGCqfTATy9fpuvEAEeYYfABHogd6I5fC0TUTQ=="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.6_1632320065429_0.8220633915791924"},"_hasShrinkwrap":false},"1.2.7":{"name":"videojs-http-quality-selector","version":"1.2.7","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.7","dist":{"shasum":"d5c569b12d1e5f726c5721f34db44557fc68a37b","integrity":"sha512-bndJ1GahRotFKyfWRSMsClFcQSA7+NOtnJrC2fExiB1fZTkJCaWxlKPtcTp+Du3sHTqkQPibrdlJIKWcndizWA==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.7.tgz","fileCount":19,"unpackedSize":40689,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzTrab108kVrSdl0M3BvHrtvxpA6/2iti6DoGFK0am2QIgEsrpdz9Prs0Bn1AdwpmtaryBtLIxu0W5B1zMYsTNNTk="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.7_1632320351445_0.44112426106397495"},"_hasShrinkwrap":false},"1.2.8":{"name":"videojs-http-quality-selector","version":"1.2.8","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.8","dist":{"shasum":"be041d5409b311d5e65f63e9bd181d2b88733701","integrity":"sha512-AJYfDAuFLhVa6VD0tr2AWMmTzJjLYPy71uTFxTVl8q8jqTW0kna3FS1B7hMfjhn1LxpfhYZ1erfP+QWsTGepyA==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.8.tgz","fileCount":19,"unpackedSize":40568,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDL2BM64Coy3KZ8I5VSM5RfPGbT0rtwS3k7DXWbTq+8xQIhANV7onOHXyUocwg6lviF4HRxHe8PIrdNh9dy39OuDwHq"}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.8_1632320809417_0.3163801698537225"},"_hasShrinkwrap":false},"1.2.9":{"name":"videojs-http-quality-selector","version":"1.2.9","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.9","dist":{"shasum":"850f79c129b4aa1fafdcf3160fd45abab66aa385","integrity":"sha512-/PT8RS6C00JLJE7vzNRLGoKzLN5vnDBPJpK96CghSmkbaSg0YMIUVNrSEYw+vYPnMk4yLFxhWLwsY0EKCpjNeA==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.9.tgz","fileCount":19,"unpackedSize":41416,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBygb6XtLCYvAswkUljXzz1AnOHqw7SSfwsfa5zmNJqQIgbsn8qOb63gY4n2sRw3VPO+tqI8R8DwicueB5mkzXM+k="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.9_1632322222070_0.48774691207695864"},"_hasShrinkwrap":false},"1.2.10":{"name":"videojs-http-quality-selector","version":"1.2.10","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.10","dist":{"shasum":"6faa1fc268339a9d9a4077ed9fb632c64dbe69a3","integrity":"sha512-LgitLd6akD4HflxdLPKeKOhbI2E6Or9mY+DslADBOrdOLMZ+YiwTE1A/s6BXf0cWeJSNX6dwalQDO8a8VBOlBA==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.10.tgz","fileCount":19,"unpackedSize":41161,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjs3KgdAEcXWjudM8QJeuey1gzjFEsoyxk15N357m1UQIgQoyyNDVlyv/wUOb4XxnyXx9BbOgdzpcjedR3waCL7As="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.10_1632322568736_0.890462007831694"},"_hasShrinkwrap":false},"1.2.11":{"name":"videojs-http-quality-selector","version":"1.2.11","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.11","dist":{"shasum":"5b8914b299e83567434dfed32bca11c4f9d55645","integrity":"sha512-M0bgQSS0xkwrFZJ0gVPdl1lSLpDH9M4M0lVnBhd+0jsAmflt7jqinphDEc3BGfity2xQRbodP1K7PsOCtDqVXA==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.11.tgz","fileCount":19,"unpackedSize":39870,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChPjoNeJcXj7/cgTzRhr8d/GQUhcoadaiKrU7/XFyhPQIgQt7oMdcYwqU5/9Q3pB4tlWCkrBEwpA5q4KdMYPzj85I="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.11_1632323924113_0.3507157341795788"},"_hasShrinkwrap":false},"1.2.12":{"name":"videojs-http-quality-selector","version":"1.2.12","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.12","dist":{"shasum":"e70d92e4ddd27a97aa5e022f76fee992f8241932","integrity":"sha512-EvT2n4kqVt4sh4IDJ5h1jeYiRrC8F5K/wSA4bU6G/bcfuUp1EqAl3g+ukeMjKtjFH59xonHL9aan8vP7dnLiZg==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.12.tgz","fileCount":19,"unpackedSize":40267,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBhAdEt//IopVAkaJht95x2jyRJPBH59pPQaW/olHvlkAiEAp9obnnir6Kuu3X822Sn8rbAM/s6oY/1G8HJaXoeoU10="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.12_1632325287941_0.5999743264998252"},"_hasShrinkwrap":false},"1.2.13":{"name":"videojs-http-quality-selector","version":"1.2.13","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.13","dist":{"shasum":"fd7e5ac98688858c00d57c10788f4be3529d43e4","integrity":"sha512-DAb6gOtHdR6DjcGiznr3g1JoeFCQoUwHI8ziHgz7bSqhnegGGFJASakqrzq8o5BB0vc2ND6yNe18OYhBKSk0Uw==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.13.tgz","fileCount":19,"unpackedSize":40108,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPBfAN1YWMp9SZfh2FC0f+07zXtQ4R8yyF+tx6n6sOQQIgcuOmE4ZPV2UsUKplGoSVeucJEhXqdXsmn8MEQPWAeGQ="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.13_1632325486479_0.8181233149288221"},"_hasShrinkwrap":false},"1.2.14":{"name":"videojs-http-quality-selector","version":"1.2.14","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.14","dist":{"shasum":"1a3d45fecdf792b4801f49697f11811b86cdc83d","integrity":"sha512-5Dd+4WJYeJWonnGeHQ1Yt3ZoVH1KAD3JKct1SjSJ6/HJkETq83lRQ7ylU/on42pfMOvESQ9XZtWBMsAwRodjyg==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.14.tgz","fileCount":19,"unpackedSize":41495,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHeG494kLK3WnLfh3IMEtLPOIZvSnQLefAXaZyUnjMpaAiAYc0d5N6bOpzjLJcWZAC21bbFTY+ExPEuQp2fqee5SOw=="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.14_1632328662255_0.22777386278240996"},"_hasShrinkwrap":false},"1.2.15":{"name":"videojs-http-quality-selector","version":"1.2.15","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.15","dist":{"shasum":"b36308a0b805d48140f87f064e2a2ef2f37fdb28","integrity":"sha512-8ARQaEXr2j7N94mcx51OuFFoVy+5GMKX1vulBpD8j+tngz1OCuux3YLjVoY/HJoxK0Izp8XAsV2LFpH43BUHFA==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.15.tgz","fileCount":19,"unpackedSize":41666,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD007E42GP5r4J5v38YtQD7iCHan3wVQ3kn5PDbbRSR1wIgVi/ajQsawtKIfxN4bYoKH1BDQ4bFRxMy2RqF9TDVnkg="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.15_1632329030157_0.5380233709238045"},"_hasShrinkwrap":false},"1.2.16":{"name":"videojs-http-quality-selector","version":"1.2.16","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.16","dist":{"shasum":"52010bec754e454c24d2ae741d67dddd04ebde2e","integrity":"sha512-pPM9E3VjJAdIkie1JAGhQPcEuNvzv4AtCTtEEynB/Gu0B01z/MnG/Vv/XcSos5Smag/ZeYygFDq79a4u/96QQQ==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.16.tgz","fileCount":19,"unpackedSize":42348,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBgnNF7q3UdtWkNVTeSfZyEDGaw/RSU/JyNF+6e73k2RAiBMHS+CtXPMsBUiTTtSOYlofU00rTXlNAj+sIxY6MhnBA=="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.16_1632329424385_0.6102705668805872"},"_hasShrinkwrap":false},"1.2.17":{"name":"videojs-http-quality-selector","version":"1.2.17","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.17","dist":{"shasum":"e744129834d2bcfadac539e9f37e90dfbf9294b9","integrity":"sha512-IJpcvYf46L2YZ5TG/2fjwDGLPc7Q9gDNqXSBRgoaVkpBlckz/IG1u0QOkgNEw3l1J3MKfIheqlym7eG1PFiJwg==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.17.tgz","fileCount":19,"unpackedSize":43192,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDECgkbrRq2DaMobXrh9j7vUUyIsGLT+9du5ffJw5i5jAiEArs+y/iQT8ZTwrdB6JCoy3cZJ4WQR71gGfcmvjq2l7l0="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.17_1632331930162_0.6692566443267749"},"_hasShrinkwrap":false},"1.2.18":{"name":"videojs-http-quality-selector","version":"1.2.18","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.18","dist":{"shasum":"e5ceb69a63983aa82c907a6d4e183061a7e086ef","integrity":"sha512-5l/84EVAv8mSpDFCpN5ox2PmPhWm80jdpEer8BZFRFKNdzXWRjM6tZ0PTax99EM4U1dlnJX8BeTjID2x9GSNgw==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.18.tgz","fileCount":19,"unpackedSize":43884,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDM/bj9G4k8I9pS+0KuQbkoKU4RZimarvlh42n9PUTWfgIhALOe/Em6nJWAPGxQ/AllzTTYIUBz3dBcEWLN78Xi9Z7r"}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.18_1632332608211_0.28064599905492216"},"_hasShrinkwrap":false},"1.2.19":{"name":"videojs-http-quality-selector","version":"1.2.19","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.19","dist":{"shasum":"cc6a926cde42e33e0b22725f1f8ff0dd0634fc68","integrity":"sha512-5EUqM/tWFVFHjxw05a53qtWO0+tORVAc5BEEmx++6ZFiPKsnMYmiQGQejDKUU/diUTbY5VvoJ3h1Xqc0pguMcw==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.19.tgz","fileCount":19,"unpackedSize":43786,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBkv6F7nbew3naSyjPBf6LOH51ZjwoVw5ZI+lC7XMTd+AiEAtLIVhh1WbvgrWTssLeruZcuwvnzbfKysOtr10iIvdIM="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.19_1632333417604_0.38328692015482035"},"_hasShrinkwrap":false},"1.2.20":{"name":"videojs-http-quality-selector","version":"1.2.20","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.20","dist":{"shasum":"43cc4bcf083d687ff015915a4b6f409380b68db1","integrity":"sha512-txwoBDjPxh3PygPUTgcb7wGL87cYnUDlDOLfiC2i+tRhBX+JpIQCseTNFV1aDpLCZ+nWOAjvbmS0gd+vNLp/cA==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.20.tgz","fileCount":19,"unpackedSize":43941,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIArNfpGQZ8I8OiicmQXiVe48BbQEEiLG7No+eOfYzrcxAiAourPt1Gxo3UvXNaQDJHYOrbdmLvRUYJZ//3tjHnzWLg=="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.20_1632390222164_0.6023354296660162"},"_hasShrinkwrap":false},"1.2.21":{"name":"videojs-http-quality-selector","version":"1.2.21","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.21","dist":{"shasum":"03484c7210511aae45bcbc01ca2b58b645f7102c","integrity":"sha512-468wCxwj6RCz2EErGaRE8gk7eRA5URK+CoMApmIgJHMgK15fJdTCQsNyc8DEd0Ot/Toppt4YvwW3TTBLpNjOnw==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.21.tgz","fileCount":21,"unpackedSize":43644,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWNOZjCAlV+8aGpJepkfhaNjV+bWofGMZT0PjTqqK23AIhAIIR9UYTVgyyBpv3sHuOM3tCxJZe1oWAIZ+N/porMPIB"}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.21_1632400309079_0.6369254860154234"},"_hasShrinkwrap":false},"1.2.22":{"name":"videojs-http-quality-selector","version":"1.2.22","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.22","dist":{"shasum":"a637cc5b65458018fea157b3b860a06db0bb7e04","integrity":"sha512-5m160sMOVX8+pEA8xS2W7SebUjbH4V9fHWsMp590LHpm01m28d98AjEwajaOkrwvHaeaMPOR9aE6Ef9+PZYoMQ==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.22.tgz","fileCount":21,"unpackedSize":42974,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSD/ggMNrtb8A+ReUlSCz1EemdIksZFLvF58Fg/tb3mAIgLBQFFyTIgtHsP2NNdk9aWQjus6i+Et2qTdYveRumogM="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.22_1632400758682_0.7819875123885338"},"_hasShrinkwrap":false},"1.2.23":{"name":"videojs-http-quality-selector","version":"1.2.23","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.23","dist":{"shasum":"ff4b5d6696cde841f5743e1c53cd9c3b192a3876","integrity":"sha512-hvZaZ26MVvWKZa+8hOIvhBoB6anIR4L3kuzFhth71ApFTKptSE6WpiX9bMp9DH5KJGQxdiWbMjjCIjAavkE3aA==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.23.tgz","fileCount":21,"unpackedSize":43297,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHGe6nruoQ1bTAteHRWFI00jvKoTBpUTMU9yTvmYSVtQAiEAmd/ARp5FSv30TJ9vmF4qsO/ySioydgsKLW7OFCUudmA="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.23_1632401076191_0.8771918170080613"},"_hasShrinkwrap":false},"1.2.24":{"name":"videojs-http-quality-selector","version":"1.2.24","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.24","dist":{"shasum":"775d5dbc6be92a5e83f3bb0bfb701f9b27425d4f","integrity":"sha512-WSyVhiwRUUTBFw1CC/A+lrxV59LTfVRH2jHP2RwoiHLM/URgC36ZVZ4ShmdeiBslx8Um2AotfxUtv7AYk/rv3A==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.24.tgz","fileCount":21,"unpackedSize":44053,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDS6jVq1JuHxnTrNpeNkolitweielDB38Kx3MrEb6x5tAIgNw3AKXNz4tMkynLo+FnShCd/2W9cAGRxdD4jrGs/weY="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.24_1632401243884_0.6068845304803705"},"_hasShrinkwrap":false},"1.2.25":{"name":"videojs-http-quality-selector","version":"1.2.25","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.25","dist":{"shasum":"02909aa0f4cf4b01d585539e982c52431cc6035c","integrity":"sha512-s1pBZAQBvAJIz2/Yd1Xtof3ucLRJ05MZltuFyifN9ld5Zbz7bXHIde3ZHD0foQHuCeNMilV08ymJZKLba/YB4w==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.25.tgz","fileCount":21,"unpackedSize":44387,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDrb6xsquALEbBsB2NdKMu+7u0GGyfLvEIR3W7PTYPnMAiA/0hcgVlZ/1PYMwsljfq3cYSkEaa55IvkxqVwEfChdfQ=="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.25_1632401553848_0.29520324046663027"},"_hasShrinkwrap":false},"1.2.26":{"name":"videojs-http-quality-selector","version":"1.2.26","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.26","dist":{"shasum":"86cadf4184b96f12784748ca9274fe3bdf136737","integrity":"sha512-7poAukbJn/MPrQSHih0ckjkLqft7NdW3EMQvRjfDtaYK1PfNyBsrzF7ZQ5SeK2w/gVYX3bVFU94SnFQMl+TBGg==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.26.tgz","fileCount":21,"unpackedSize":44643,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHRL/avannFNK19Dv7XuVb4NTEnnNpjTsP9BjV2OYgUGAiEAzHSEEz8A/Pdvugxmz4Qy6SD7RwqM7b51ps1QQ6mYdSg="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.26_1632402075342_0.525215478066031"},"_hasShrinkwrap":false},"1.2.27":{"name":"videojs-http-quality-selector","version":"1.2.27","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.27","dist":{"shasum":"83dfc0f21d55aa47d126b96da55a742a30a89784","integrity":"sha512-5uZOCYVXGIYciuIhgwffi4Yn46OASwzZnvawyAFxADGnBQBc3sDH0uN8DrDCeE70hBWlhCNkl9IAIA4r6+uveA==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.27.tgz","fileCount":21,"unpackedSize":44833,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBptoPiPNFv3RkPsSlVPBRbmA8ARJS2+EdwAVgAmsxeZAiBpvEtLifCvzEbrs5ycC/X4GIG7IvzpCrePiQrJURG0lg=="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.27_1632402240209_0.2721668270919668"},"_hasShrinkwrap":false},"1.2.28":{"name":"videojs-http-quality-selector","version":"1.2.28","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.28","dist":{"shasum":"b2fb87af9491f8b2318547f18a636c85ad0b66d1","integrity":"sha512-pbfx8oPqV53/86nAyZC/7CPufVzTJMjgJv8bTAfo+IzqI05Om7unoa81Tu0qtQW+TjLW7hBLOdn/R2y0cUBJjA==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.28.tgz","fileCount":21,"unpackedSize":44900,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFt7eBKKyS1AaiiOC5y35vUY+PU93l5VkzU2tX9QrxGZAiEA+4s/bizM1v5YDtC6T/AVjID3PHkJltyG5x/bfrGGKNs="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.28_1632402429220_0.904735297906212"},"_hasShrinkwrap":false},"1.2.29":{"name":"videojs-http-quality-selector","version":"1.2.29","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.29","dist":{"shasum":"ddc4b261edbdd18b794ac37820a13e4571dfbae7","integrity":"sha512-FwQcz8NwB2Prv7IAZQm1CGawztZBY1g+Qzz0zsSwoF48WHMdbUCqLRaFEu4YjQ9KiNZKpDgCYNXymVpeUrOaJw==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.29.tgz","fileCount":21,"unpackedSize":46015,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHLeC5t2GHKl1A7K63rUYsUbbggDsWtBWAuenCM5/d6bAiBFkbqQQ8Z8bTYBHE6kwX/7v7vqqsD03w4YVcNSgS+G1Q=="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.29_1632402940791_0.020675608927105626"},"_hasShrinkwrap":false},"1.2.30":{"name":"videojs-http-quality-selector","version":"1.2.30","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.30","dist":{"shasum":"3e8e3ff1be6671cb96ce52d1782eb9411ab758c7","integrity":"sha512-NwB9v5gtrtQpb0CzejVvSdSGhcXshjS71TLlbKgSf9hya5vPN0UnOaS0n98e9OON8GZiXWui2mZLo1xQjNM1hA==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.30.tgz","fileCount":21,"unpackedSize":46406,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHNiUlr1VbK0xlR6IF2JIrdjiA/WnfRLfVFMNHdwkOCLAiEA39pwQNs5ZJQNUVZdQssDlwMrLHHab6wjT+vU6/IQ4sM="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.30_1632404222780_0.13457454912004896"},"_hasShrinkwrap":false},"1.2.31":{"name":"videojs-http-quality-selector","version":"1.2.31","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.31","dist":{"shasum":"78331a6536da6da38e3ac70e37b4315c1da1f630","integrity":"sha512-Lll9tDu4yGzL4xndfq171Z2+cwzTdV3RDiGZXLLH7XpEfK4SV0dCfKWPiExW9qdb4O4hJ2G0gCnBa9Ve+FRpFQ==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.31.tgz","fileCount":21,"unpackedSize":46295,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUdnjw+609L6i6Rflj/LI9UY0GSoTqp8JsexO/qzxg3AIgFzBBdMPy8zrzWnD9sgY0CASuTQOiU/FUI+4n+hopJOk="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.31_1632404428029_0.8209594827916533"},"_hasShrinkwrap":false},"1.2.32":{"name":"videojs-http-quality-selector","version":"1.2.32","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.32","dist":{"shasum":"0c75015870eca831925d8fd69d50956f452ef0e4","integrity":"sha512-k7Cy02OFkIn5mB/gqawd9I7/fBiipXTEQjHNDF9WlJ0xY0JLCeKRKB24xIFx/F1lrsJM7J7G3pZ8zL598pvz6w==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.32.tgz","fileCount":21,"unpackedSize":46486,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMvpgwl1KzyVF/7LI7LQbD6OCKBORsdXguwdC60G8igAIgBQsCLdvAWhkuJFbytKmoY73Ei91GxgzZirobOM8AZyA="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.32_1632404766174_0.7152875598225319"},"_hasShrinkwrap":false},"1.2.33":{"name":"videojs-http-quality-selector","version":"1.2.33","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.33","dist":{"shasum":"19cfe24ada95a0c39d8834e50ad02ca0f3360557","integrity":"sha512-TheQhR12eKj1yN3IxyUuY1IwjZHacypuygRyFB3VDCTuLbixMeD2kkifK6cHsTqhgP3fjxu5wAePhJqfWAsDOQ==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.33.tgz","fileCount":21,"unpackedSize":46643,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDX5DncLnL2RqgIf+lS/D5UqWPKZ6QE9JSczwXWEsnYuwIhAJ4vPJF3PAJ9VdQm0dL7yaBovNofSvI6SAvupnpzCKXj"}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.33_1632405051872_0.9287008534231764"},"_hasShrinkwrap":false},"1.2.34":{"name":"videojs-http-quality-selector","version":"1.2.34","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.34","dist":{"shasum":"db2d5f4ace2d9a72887d9567cd28ae4315bef633","integrity":"sha512-/Bk0jCWR+WtZLeOW2Wrp2W114+7gbHJmaDV+lY6LeRGi8s4mNYrGDvbu7z1q1L0MLp6rqv14YjsGe8zwMTBGQw==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.34.tgz","fileCount":21,"unpackedSize":46814,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEi5ZaGjwKCBUdNAnrg1Zdx63LEIcFa+T9g4cdNcjLk/AiEA2QVfSZOvlOHLQhCSWbdcsTCjKH40wRSYbsEJzRu2XC4="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.34_1632405493317_0.5234325469948602"},"_hasShrinkwrap":false},"1.2.35":{"name":"videojs-http-quality-selector","version":"1.2.35","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.35","dist":{"shasum":"0004733cf8b319bf9087f19b4e1b3a0a7ed7e55f","integrity":"sha512-wCLD8TWTzzY3F+vdW2EW9ORvfMtc3rXEfOQxL6iigOxd3nRs6RuxyoXXGo0Uec1HvgICKUkp42IrJXmJMJTW4g==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.35.tgz","fileCount":21,"unpackedSize":46015,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF07C144b9i8yChKjGCrCHRZ5l31wn0Cb4VhWsZWVMcHAiEA2HUUegwTRb5Vq5a446Pl+IBoT6vFtJ9QaTDmKyXYcXs="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.35_1632405867746_0.20293364286218551"},"_hasShrinkwrap":false},"1.2.36":{"name":"videojs-http-quality-selector","version":"1.2.36","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.36","dist":{"shasum":"2b4c40689590ea322d16d8ff1c3b57bcf8a9e0ae","integrity":"sha512-UFH5ERbUR5nVCvQoXV1XO6cy01X20kslkdkT4Fm68qNjQWtPSF6sBCZ8PU6ex0p+yYKwq/xd1QFPerg+yI/O4A==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.36.tgz","fileCount":21,"unpackedSize":46742,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0l5IIa36Ze8AC+erRSjMuAjFKBnIo7lNMZsESp6JKwQIgA16+xP6jOJn0HRPilVlzLE53rW/uJatOofK9s94Ljsw="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.36_1632406263549_0.8311603572865445"},"_hasShrinkwrap":false},"1.2.37":{"name":"videojs-http-quality-selector","version":"1.2.37","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.37","dist":{"shasum":"481885424a9f949bad288bd148b5b422c4e7d5b7","integrity":"sha512-Oe55ENQxu7FpmQofbYay9YECmZHj16+nMt6SAzLN639bZhQ8qmONHqFioOv61bDdIoKf/mNCCKTtD2ttK+KE1w==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.37.tgz","fileCount":21,"unpackedSize":46803,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBMKEYuM1h1Ld0H5zu8F+yui4oScomgwa8LypmbfMZySAiBWscsJKOl/VEtfhhmLweRlLhnCRUj1s4ggIgdjAovQ2g=="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.37_1632406529640_0.31839486833767405"},"_hasShrinkwrap":false},"1.2.38":{"name":"videojs-http-quality-selector","version":"1.2.38","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.38","dist":{"shasum":"2f550996769dff3c7b06534b9deb637b82212fb1","integrity":"sha512-TwU8x7ervJlR9TvKm9r3OaC3WdsbD7yljCcAW+KevngwhJE8YQFSythfCQRSVf81Tm1Uqq750zqTO/TVMg8j+w==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.38.tgz","fileCount":21,"unpackedSize":48912,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkiHxFC49yIh6xbiEgotdCOLgGvv4l4MtBhHKC3m96bQIhALjbLSKoKeNJ7dbVzC9nOpUQSZsowFryDnuxkH5yn+u5"}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.38_1632406833447_0.8513358705998633"},"_hasShrinkwrap":false},"1.2.39":{"name":"videojs-http-quality-selector","version":"1.2.39","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.39","dist":{"shasum":"9b1aa0f8ddfbd2b7d378749bab75dfa98d7326c4","integrity":"sha512-bsIPuwQ2DEnkJz+LOoIfiwcsxYDh4izzcpGBagh765fVtE329cwjImLVX6fs9f+zlSEEFmSvt1bYzMe2aHRA8Q==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.39.tgz","fileCount":21,"unpackedSize":48443,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbf76yrdt0BKnlSGPLK1hQFzQykCHqVNjBqOh+XJX4+gIhALHDeIlBbxhYmFjDLeJbkJ0fQbvIJdy1Oj2Y45RP99Zb"}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.39_1632407484453_0.48701543314822726"},"_hasShrinkwrap":false},"1.2.40":{"name":"videojs-http-quality-selector","version":"1.2.40","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.40","dist":{"shasum":"190167badddc70c423b021b1a6c273e5e8e781a6","integrity":"sha512-vCVH6S9AWcEKh5woGNBP6OEqyGUieGvru6a2AiNOab8uV/IVpdkA6qwsrxgejrL3BhcTjamvfFm9ou55UalJsA==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.40.tgz","fileCount":21,"unpackedSize":47009,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8i6nQB2oRaVIPPIGulJIKEq9s0ZS+Fn67crlgrZI57gIgDpcC/CoTWkzVUcsvX/ZsMsFSaC1o8LWieZwKrTvfYlQ="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.40_1632407808576_0.03910915875533072"},"_hasShrinkwrap":false},"1.2.41":{"name":"videojs-http-quality-selector","version":"1.2.41","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.41","dist":{"shasum":"75cf7ad5f7df57ce1b96751b5fb412cab478ed33","integrity":"sha512-Y73cIBrkMyfFhhrNCQLnale4MF9h/CL7qQwwYBbM1Nlie4KpE0rl37sUmRJ4VxHRtxeWpk1GlWheihmtJk573Q==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.41.tgz","fileCount":21,"unpackedSize":47124,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDll28aqVTVZaw2GD6fdR/r53ZeqFQqRekjFSpcKh6COwIgVqfho4/vaZ7Vte6f8ZEjP1s+6yVjWjawNfpCnd95aLk="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.41_1632407984824_0.07198752101094819"},"_hasShrinkwrap":false},"1.2.42":{"name":"videojs-http-quality-selector","version":"1.2.42","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.42","dist":{"shasum":"3bd8ad336a10cbf9c25ef1da066b44bffe2aaae1","integrity":"sha512-bt7tfsn9s6u/C9a69vp1u6kSJuC2Pwa0ACUJ7dOGbEMHtqqSEeEQmW9Al9HMRrkkSRLyNnOxfxiOv7ANzmZ4Iw==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.42.tgz","fileCount":21,"unpackedSize":47028,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDb2DB6614HnnYXfl9Rw4wDkXvMU7l5Wc+UJN8N/ni0OAIhAKkphFeJybf3YgUkoeJD6ExjmJiNYKNC4W40tB+yLZP7"}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.42_1632408187152_0.9007336615149464"},"_hasShrinkwrap":false},"1.2.49":{"name":"videojs-http-quality-selector","version":"1.2.49","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.49","dist":{"shasum":"ddea5b6c5a5e12853ca40afeb0e5d52fd0a78cd8","integrity":"sha512-6cPh0nsOLDPE+GXCndgmygh/f5ws3Vg83/oHPalqC4IR4tTiAnc6nsGc/CqqtlGexcQOrgy+kHbLeca73FB3cA==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.49.tgz","fileCount":21,"unpackedSize":45098,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzNgf9Whkp02R42xg1/zxw7uqvKQInC1YuzQRavpP51AIhAKVKdUkfZQJQdeoIPAhkms9hOIpZIXrh5GMPuHzGCXyq"}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.49_1632814674518_0.25296191517586175"},"_hasShrinkwrap":false},"1.2.50":{"name":"videojs-http-quality-selector","version":"1.2.50","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.50","dist":{"shasum":"acb1735124978deaed2a3c093a1778f6bc8f91f7","integrity":"sha512-SPRpg1OmrlmzH4oJjMzWqqMbMavgWD595zKi3Q5ktdpQruqflwa20zBjwDliXC1ZEsP/j+ADQMJXyDQwBCrLJg==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.50.tgz","fileCount":21,"unpackedSize":45565,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEFzzjwhjG9mjW7m0suJOVeID/Uq+imhNp4PocssLAHtAiB4YnmZLXLmtwQKW1dVXoRuiRZU96p0nZncU/+qWc5B1A=="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.50_1632815164610_0.4164938549565491"},"_hasShrinkwrap":false},"1.2.51":{"name":"videojs-http-quality-selector","version":"1.2.51","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all lint build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod && vjsverify --verbose"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.51","dist":{"shasum":"ff17095e5f99516b756ed3257a79956f31ccd5eb","integrity":"sha512-5U/FvqYfjjkynKGG2BE3mR3iFV6VCumBWee5fhjGFYsuqXuIwbb4U0gEPA8r6WdQKQHaLS+Hk4Frmiwc5s4Viw==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.51.tgz","fileCount":21,"unpackedSize":49332,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICexB2Z15D/XD6BnyNaMnzCGDgG91SUf5nmz12u0sz1ZAiEA7zP2Xr2qwOFahs67U5WwpHq5+FJxezD6gZKNTsqVUjs="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.51_1633390393347_0.22712816547445525"},"_hasShrinkwrap":false},"1.2.53":{"name":"videojs-http-quality-selector","version":"1.2.53","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.53","dist":{"shasum":"63375e0e1484ca8c05fc14b4ada787f1e6e1ef07","integrity":"sha512-tiFx66TolveaUjC6XZIHT2C/dJjKjuq9c3mRHrUQCl04Uvq7PaOKuYj75H8jlIho8Fz4UYRAMNGYHjKt92Onpw==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.53.tgz","fileCount":21,"unpackedSize":46207,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDqZEY7LW/LY4Vnvf/0ST6GZp7gWVnwCvaJRZYC7Hi0pAIgMSe9N4DWj7+GlfKG5SS786qRL4GNonnf4yLuYzi1pOU="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.53_1635847679810_0.6225782947571867"},"_hasShrinkwrap":false},"1.2.54":{"name":"videojs-http-quality-selector","version":"1.2.54","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.2.54","dist":{"shasum":"4e7926de6743cea27fcad06e2f404d5a83b80864","integrity":"sha512-+WZ3RsAdfhpXe/2QCWPRje0Zb5X07pYf1AUB/OEYooUNu0R7iu9Pl9w7Q0FsbBpIoIz7j6fnl0ZpQuiRA3Fq2w==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.2.54.tgz","fileCount":21,"unpackedSize":46206,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfm1uq61H/u/EdJEOCtLvz82tyPoVdDLkMURxMWpGE+wIhAOi8O018JsPhKZaJ10J1HiGVOL19H45qiNrfeaZbW5bW"}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.2.54_1635851122108_0.19788970606539524"},"_hasShrinkwrap":false},"1.3.0":{"name":"videojs-http-quality-selector","version":"1.3.0","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.3.0","dist":{"shasum":"83b3b82f6f6726d7ff3b18eddb2f99d45825b87e","integrity":"sha512-NwK30214+d8a0VWFLMkSwDfLA8QqkbRWJRVmqBcYGU63BRO0gRsUL5OsjhiFG3o62OSBSsAMjI9fankoWCmvCw==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.3.0.tgz","fileCount":21,"unpackedSize":47345,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEllyuCzhYdHDDZleUnhEH7nGLNtG7mj34kCjCCNaFF1AiEA3up5cc7pNwTpUvSUCmC5RGiextYX73fp7fj9Hk5zh8U="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.3.0_1635855685334_0.9715994776297137"},"_hasShrinkwrap":false},"1.3.1":{"name":"videojs-http-quality-selector","version":"1.3.1","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.3.1","dist":{"shasum":"5f72e0dce8bfd1a595857d89c93337715352b7fa","integrity":"sha512-H0sw+HCeirx20va8bMcQA7ekkQZrolYV1NIKk/zedVDqopFsba2OHaXqlZnDoz56VI6VQrHCD9bFST3w2wBdYg==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.3.1.tgz","fileCount":21,"unpackedSize":47154,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzcggCRA9TVsSAnZWagAAficQAJ+c4MIBYsavBL/KWk0m\nZ8tOApvirQWXkPN6ePEscjh7Mo0VKYLtQicStRc96TrX+slcmvunH7bEkgvu\nZlsPBez1sU2m3YoPCAAPsSOU8jvVRO/6VZaIKuzOnbapUKK8n9RA8kioT2M4\nP01s0jZ8HWyRrF+7GHXGt2vnbLq8hDok6PPlXFiNNxeLqEINzTsQ4NL/g9hG\nAaqqqlj02vc5E3Vplj0TXu9TKQWHvfoGa87uSGvc057mbn3A4ko4aUd+zS3N\nyh5sLtFpQU41MXZFyAWHJoWjuuCjOK47f2twUzUnwvj80yEjs71vQrEMBxEM\nkLBO1Ellk2AM+Nos9epOCWAKMkmUVkC/3r0/z+E1RXWLPS3g1Xgc0UhhP1bv\nvsil4sheXaWW305oByGumFa89/WqHXQQbjPZ5BmvJBgfoWAxrLVL925ovnQH\nLqT3F6Bgm2C3CPtWcl2JBOUa0EYeksDnSVWO1MuSwR/lMmpXY2l5oRcCoc2J\ng6hFQKLrqjlSpt+44tZf/oo0Ziq3LiwosvMQtFJhwNpm7t8vvoBBSYvBMGMi\nbE+bqG5aVleFQKsYpzA2fo+Tu9fKJVpaEx+LDblL6a4PAFnHWjH+ntt4TFJi\n77aIe4TB7o3YqIHKKb4yNN7FivLfDm0TCHUYnqZquU10x1KEIkpcYKUlgs6Z\nya3W\r\n=E+iA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGFT08S04tCVbB8iCYPvSKxv2ZE+okK2f58C29YRnAOVAiEA6+/W8hk82FhPOJlQGqftlVyasegEwhgRu77tGsugDo4="}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.3.1_1640876064826_0.6505194039786599"},"_hasShrinkwrap":false},"1.3.16":{"name":"videojs-http-quality-selector","version":"1.3.16","description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"https://github.com/tux-tn/videojs-http-quality-selector.git"},"main":"cjs/plugin.js","module":"es/plugin.js","browser":"dist/videojs-http-quality-selector.js","generator-videojs-plugin":{"version":"8.0.0"},"scripts":{"build":"npm-run-all -s clean -p build:*","build-prod":"cross-env-shell NO_TEST_BUNDLE=1 'npm run build'","build-test":"cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'","build:cjs":"babel-config-cjs -d ./cjs ./src","build:css":"postcss -o dist/videojs-http-quality-selector.css --config scripts/postcss.config.js src/plugin.css","build:es":"babel-config-es -d ./es ./src","build:js":"rollup -c scripts/rollup.config.js","build:lang":"vjslang --dir dist/lang","clean":"shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es","lint":"vjsstandard","server":"karma start scripts/karma.conf.js --singleRun=false --auto-watch","start":"npm-run-all -p server watch","test":"npm-run-all build-test && karma start scripts/karma.conf.js","posttest":"shx cat test/dist/coverage/text.txt","update-changelog":"conventional-changelog -p videojs -i CHANGELOG.md -s","preversion":"npm test","version":"is-prerelease || npm run update-changelog && git add CHANGELOG.md","watch":"npm-run-all -p watch:*","watch:cjs":"npm run build:cjs -- -w","watch:css":"npm run build:css -- -w","watch:es":"npm run build:es -- -w","watch:js":"npm run build:js -- -w","prepublishOnly":"npm-run-all build-prod"},"engines":{"node":">=14","npm":">=6"},"keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","vjsstandard":{"ignore":["es","cjs","dist","docs","test/dist"]},"husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"npm run test"}},"lint-staged":{"*.js":"vjsstandard --fix","README.md":"doctoc --notitle"},"dependencies":{"global":"^4.4.0","video.js":"^6 || ^7"},"peerDependencies":{"video.js":"^6 || ^7","videojs-contrib-quality-levels":"^2"},"devDependencies":{"@babel/cli":"^7.13.16","@babel/runtime":"^7.14.0","@videojs/babel-config":"^0.2.0","@videojs/generator-helpers":"~2.0.2","karma":"^6.3.2","postcss":"^8.2.13","postcss-cli":"^8.3.1","rollup":"^2.46.0","sinon":"^9.1.0","videojs-generate-karma-config":"~8.0.0","videojs-generate-postcss-config":"~3.0.0","videojs-generate-rollup-config":"~6.2.0","videojs-generator-verify":"~3.0.3","videojs-languages":"^2.0.0","videojs-standard":"^8.0.4"},"readmeFilename":"README.md","readme":"# videojs-http-quality-selector\n\n[![npm version](https://badge.fury.io/js/videojs-http-quality-selector.svg)](https://badge.fury.io/js/videojs-http-quality-selector)\n[![ci](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/tux-tn/videojs-http-quality-selector/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nBased on [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector)\n\nVideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. \n\n# Difference with http-source-selector plugin\n\n- Using a much more recent version of videojs-plugin generator with updated dependencies\n- All console log statement have been removed\n- Using correct videojs cog icon\n- Not failing when fullscreen toggle button is disabled or removed\n\n# Dependencies\n\nRequires videojs-contrib-quality-levels and work only with adaptive http streams (HLS and Dash)\n\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-levels videojs-http-quality-selector\n```\n\nTo include videojs-http-quality-selector on your website or web application, use any of the following methods.\n\n### `<script>` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n<script src=\"//path/to/video.min.js\"></script>\n<script src=\"//path/to/videojs-contirb-quality-levels.min.js\"></script>\n<script src=\"//path/to/videojs-http-quality-selector.min.js\"></script>\n<script>\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n</script>\n```\n\n### Browserify/CommonJS\n\nWhen using with Browserify, install videojs-http-quality-selector via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contirb-quality-levels')\nrequire('videojs-http-quality-selector');\n\nvar player = videojs('my-video');\n\nplayer.httpQualitySelector();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js','videojs-contirb-quality-levels', 'videojs-http-quality-selector'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.httpQualitySelector();\n});\n```\n\n## Usage\n\n### Labels:\n\nLevel labels are generated from the `height` and `bitrate` metadata parsed from the stream QualityLevels sources. If `height` isn't available in the stream metadata, the labels will default to `bitrate`.\n\n### Default settings:\n\nYou can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.\n\n#### Low:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'low' }});\n\n```\n\n#### High:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'high' }});\n\n```\n\n#### Auto:\n\n```js\nvideojs(video, {httpQualitySelector: { default: 'auto' }});\n\n```\n## License\n\nMIT. Copyright (c) Sarhan Aissi\n\nBased on work from Justin Fujita\n\n\n[videojs]: http://videojs.com/\n","licenseText":"Copyright (c) Sarhan <sarhan@anava.tn>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"videojs-http-quality-selector@1.3.16","dist":{"shasum":"a6d6820169df10697702e98cd124f16ddcdead50","integrity":"sha512-Pwdbz2Ba41U+PkMmtrQDxlq6PQueMp0l4CoRbwADtEfmLW7Gbn+A4goIcwLQ9kUpdCJKLb27pQY7baWyl7wdhA==","tarball":"https://registry.npmjs.org/videojs-http-quality-selector/-/videojs-http-quality-selector-1.3.16.tgz","fileCount":21,"unpackedSize":48195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8q5qCRA9TVsSAnZWagAAG7cQAJycIIG4xYOdVAIzj5ez\nSPmuj6Q0COzkPs9c4NIDnt5PQQK/Dex7YzP5FPhiVdQYvMIHaMNq2s1ZR0Gs\nXn0fSLfxcuKtoHbtfbDMTxOwUi/Qf7BTButKXuOfsf6qsPkBMz37z7YNmqv6\n5zsC4+og3pxXHby2oNHwt4B17pyoasyw6fJrRZyltL4o3Jf2/bs8Ape1889y\n1TAqP2NeXvmL3YtE4x6vGl/XbNEzC4Bzeej9SiVIcTIGsZOA569qVjNwuZsQ\nSfJjmfQfS//OAh5fboEbbl+0IRFvQhttpVGROuxBrjpjI6VnX6U+uoToyVqZ\nvp4Y/9B0T5pnc6c1z87+i2hl5sLIvMzn7o55kTuqPUCA4pTa2rSAZyOC7omw\nmXB94mCpCwzZlt3NMbjOSETcdPKBkdjQE3A1tN21995SOYVvnTr42fYKLrTK\ndT7FSAb8hnee8e1mFhELd9wrsPJwcLPnd4QQrSqk3CDStXy4x//K/NHfQnkf\nvMg0U6Cn0LKVtlz5l8EWsChgK1CXwFJW3AnK1D4fZ28xExoi/CVl0drGEEs2\n8vwg0qGwBN3jNCE6oQUkORUtFH4wf3KuUS2UtCtwx/tHWPzFDGyfkKAu+6KP\nuwEXZ8g4VJAfy6Q1HVxRi1GsZshAQvrs26A8ARob4XkqidVx/AL8EyFJST7O\nxfYu\r\n=dbcx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvrW37pdF7AUd5eEgBodm37AjiE8G5ArlEhuFFyuMAVAIhAJ4hhUxE9UH1c+Nk09Nfu0TCtj6Gsq1obarSE5EivSnJ"}]},"_npmUser":{"name":"tux-tn","email":"sarhanaissi@gmail.com"},"directories":{},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-http-quality-selector_1.3.16_1643294313851_0.48211671037548065"},"_hasShrinkwrap":false}},"time":{"created":"2021-09-21T16:00:18.837Z","1.0.0":"2021-09-21T16:00:18.984Z","modified":"2022-05-23T06:35:33.680Z","1.1.0":"2021-09-21T18:50:28.017Z","1.2.0":"2021-09-21T19:36:10.302Z","1.2.1":"2021-09-21T19:56:09.599Z","1.2.2":"2021-09-22T12:37:00.215Z","1.2.3":"2021-09-22T12:55:09.502Z","1.2.4":"2021-09-22T13:03:07.323Z","1.2.5":"2021-09-22T13:47:08.588Z","1.2.6":"2021-09-22T14:14:25.605Z","1.2.7":"2021-09-22T14:19:11.633Z","1.2.8":"2021-09-22T14:26:49.551Z","1.2.9":"2021-09-22T14:50:22.204Z","1.2.10":"2021-09-22T14:56:08.900Z","1.2.11":"2021-09-22T15:18:44.285Z","1.2.12":"2021-09-22T15:41:28.088Z","1.2.13":"2021-09-22T15:44:46.666Z","1.2.14":"2021-09-22T16:37:42.468Z","1.2.15":"2021-09-22T16:43:50.580Z","1.2.16":"2021-09-22T16:50:24.556Z","1.2.17":"2021-09-22T17:32:10.343Z","1.2.18":"2021-09-22T17:43:28.392Z","1.2.19":"2021-09-22T17:56:57.795Z","1.2.20":"2021-09-23T09:43:42.305Z","1.2.21":"2021-09-23T12:31:49.234Z","1.2.22":"2021-09-23T12:39:18.804Z","1.2.23":"2021-09-23T12:44:36.363Z","1.2.24":"2021-09-23T12:47:24.046Z","1.2.25":"2021-09-23T12:52:33.972Z","1.2.26":"2021-09-23T13:01:15.485Z","1.2.27":"2021-09-23T13:04:00.346Z","1.2.28":"2021-09-23T13:07:09.344Z","1.2.29":"2021-09-23T13:15:40.965Z","1.2.30":"2021-09-23T13:37:02.919Z","1.2.31":"2021-09-23T13:40:28.182Z","1.2.32":"2021-09-23T13:46:06.342Z","1.2.33":"2021-09-23T13:50:52.069Z","1.2.34":"2021-09-23T13:58:13.446Z","1.2.35":"2021-09-23T14:04:27.858Z","1.2.36":"2021-09-23T14:11:03.718Z","1.2.37":"2021-09-23T14:15:29.784Z","1.2.38":"2021-09-23T14:20:33.624Z","1.2.39":"2021-09-23T14:31:24.693Z","1.2.40":"2021-09-23T14:36:48.837Z","1.2.41":"2021-09-23T14:39:45.008Z","1.2.42":"2021-09-23T14:43:07.377Z","1.2.49":"2021-09-28T07:37:54.729Z","1.2.50":"2021-09-28T07:46:04.759Z","1.2.51":"2021-10-04T23:33:13.537Z","1.2.53":"2021-11-02T10:07:59.927Z","1.2.54":"2021-11-02T11:05:22.273Z","1.3.0":"2021-11-02T12:21:25.495Z","1.3.1":"2021-12-30T14:54:24.977Z","1.3.16":"2022-01-27T14:38:34.005Z"},"maintainers":[{"name":"tux-tn","email":"sarhanaissi@gmail.com"}],"description":"VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams. Based on videojs-http-source-selector","keywords":["videojs","videojs-plugin"],"author":{"name":"Sarhan","email":"sarhan@anava.tn"},"license":"MIT","readme":"","readmeFilename":"","homepage":"https://github.com/tux-tn/videojs-http-quality-selector#readme","repository":{"type":"git","url":"git+https://github.com/tux-tn/videojs-http-quality-selector.git"},"bugs":{"url":"https://github.com/tux-tn/videojs-http-quality-selector/issues"}}