{"_id":"level-selector","_rev":"6-fcce53cddd086ac5dc8d2de15289aba2","time":{"0.1.10":"2017-07-25T14:17:55.075Z","created":"2018-04-10T21:15:02.798Z","0.1.11":"2018-04-10T21:15:02.978Z","modified":"2022-05-07T21:27:47.736Z","0.1.12":"2018-04-25T20:34:05.595Z","0.2.0":"2018-12-02T01:23:49.959Z"},"name":"level-selector","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.11":{"name":"level-selector","description":"A simple plugin for Clappr that adds support to manually select level on multi-bitrate streams.","version":"0.1.11","license":"MIT","repository":{"type":"git","url":"git+https://github.com/clappr/clappr-level-selector-plugin.git"},"main":"dist/level-selector.js","scripts":{"release":"webpack --p --output-filename level-selector.min.js","build":"webpack --progress","watch":"webpack --progress --watch","test":"npm run lint && echo 'No tests configured - aborting.'","lint":"eslint *.js src/","lint:fix":"npm run lint -- --fix","start":"webpack-dev-server --content-base public/ --output-public-path /latest --hot","lock":"rm -rf npm-shrinkwrap.json node_modules && npm install --silent && npm shrinkwrap"},"author":{"name":"Lucas Mundim","email":"lucas.mundim@gmail.com","url":"https://github.com/lucasmundim"},"contributors":[{"name":"Flávio Ribeiro","email":"email@flavioribeiro.com"},{"name":"Bruno Torres","email":"me@brunotorr.es"}],"keywords":["clappr","plugin"],"dependencies":{"clappr":"latest","clappr-zepto":"latest"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","css-loader":"^0.28.10","eslint":"^4.18.2","html-loader":"^0.5.5","node-sass":"^4.7.2","postcss-loader":"^2.1.1","sass-loader":"^6.0.6","style-loader":"^0.12.4","webpack":"^3.11.0","webpack-dev-server":"^2.11.1","yargs":"^11.0.0"},"gitHead":"31c1aa610e665b8020a86447a745e6eecd09dab7","bugs":{"url":"https://github.com/clappr/clappr-level-selector-plugin/issues"},"homepage":"https://github.com/clappr/clappr-level-selector-plugin#readme","_id":"level-selector@0.1.11","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"towerz","email":"me@brunotorr.es"},"dist":{"integrity":"sha512-79snD+CypzAt/+kkj6fyMCmQwQZhtz18M6MH/cYGWQwuK8znFq6MLsbyKys8VPraMnxOeVyrlQQXTx7CAiSUgA==","shasum":"8c468bc23f0d7e7e340037eee867087d9c26a72d","tarball":"https://registry.npmjs.org/level-selector/-/level-selector-0.1.11.tgz","fileCount":19,"unpackedSize":593154,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/jMwrDtd37uGQINjT1GYLyhsfZ2PSah4YtLD6TK6sywIhANnMayYzKDIJFSJA5psduRFZU47lIojyF3DsBebUxZEu"}]},"maintainers":[{"name":"towerz","email":"me@brunotorr.es"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/level-selector_0.1.11_1523394902799_0.5159743793849845"},"_hasShrinkwrap":false},"0.1.12":{"name":"level-selector","description":"A simple plugin for Clappr that adds support to manually select level on multi-bitrate streams.","version":"0.1.12","license":"MIT","repository":{"type":"git","url":"git+https://github.com/clappr/clappr-level-selector-plugin.git"},"main":"dist/level-selector.js","scripts":{"release":"webpack --p --output-filename level-selector.min.js","build":"webpack --progress","watch":"webpack --progress --watch","test":"npm run lint && echo 'No tests configured - aborting.'","lint":"eslint *.js src/","lint:fix":"npm run lint -- --fix","start":"webpack-dev-server --content-base public/ --output-public-path /latest --hot","lock":"rm -rf npm-shrinkwrap.json node_modules && npm install --silent && npm shrinkwrap"},"author":{"name":"Lucas Mundim","email":"lucas.mundim@gmail.com","url":"https://github.com/lucasmundim"},"contributors":[{"name":"Flávio Ribeiro","email":"email@flavioribeiro.com"},{"name":"Bruno Torres","email":"me@brunotorr.es"}],"keywords":["clappr","plugin"],"peerDependencies":{"clappr":"0.x"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","clappr":"^0.2.92","css-loader":"^0.28.10","eslint":"^4.18.2","html-loader":"^0.5.5","node-sass":"^4.7.2","postcss-loader":"^2.1.1","sass-loader":"^6.0.6","style-loader":"^0.12.4","webpack":"^3.11.0","webpack-dev-server":"^2.11.1","yargs":"^11.0.0"},"gitHead":"2dff9def562d2e80d3db6bac44f632ffb3c22383","bugs":{"url":"https://github.com/clappr/clappr-level-selector-plugin/issues"},"homepage":"https://github.com/clappr/clappr-level-selector-plugin#readme","_id":"level-selector@0.1.12","_npmVersion":"5.8.0","_nodeVersion":"9.6.1","_npmUser":{"name":"towerz","email":"me@brunotorr.es"},"dist":{"integrity":"sha512-I/EF4snScYa4MjEzosiw0GiA+WUXOC0U0Lbk025vMqV37kbqVT65PzlqzqAzmG4riZ6bDWaGt4IP4jPeOhr2dA==","shasum":"13487f4ee098f821d4e49ebf24ff5f9ae5b01b91","tarball":"https://registry.npmjs.org/level-selector/-/level-selector-0.1.12.tgz","fileCount":19,"unpackedSize":591992,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa4OY+CRA9TVsSAnZWagAABPcP/ioUsR9AZdchKCqtJgSr\n1LXlpBRAy4eTKezpMMcgTgz996NFbnAt1slYxs5aUkfkOsIWMUxhXrYFavMp\no4icv/yrddRpoIOiQStPpv5NjMYpJuUgpHHOvpaOTJltdRma5IaHbAsXYaie\nGhlgmkYFOoXd1IhnR/NltM5k2krq4N8SyPIeLxrpHZTXOT+4HtHRDTvhxJRB\nGp/Oh+0RhKO1Z/UxcoW8FER7tzAQk0ksBxB5l/jG+nGYFJKuSgEELRMY503H\nOuDZG7eSCEiYD98GjJ61w8c0NOvgtd2UkN1oWWn/SaQjYz5Kh9gYYh6W4iRi\nddbXfonYhTZLVBA0FlNJujfeb6fZgwmJ2NTrgPtXZ4XNxf4eB4zRDwDqjZHb\nJbOkYYokhukN9plOfdru5OTL+hImCnT7c+VNKzydWo9HRtKSw14c06XvBDyk\nxy/SU0qPrHQi6KQZHVslFIL3Epgh3qpueetCxjfLGe8xRUlNpUq7zhw5ulHk\nAgauzxApABA0dRMlcXVYtzv1jlgfPpVW8/Rm7P8wP3nncfaeu2pO/jn0aHmg\nJQfx2yyTfPSK/Hb0KWQEOAYk2Hi4nJLGqJyy5PRIkTgI2Mdnz8qhdbJcf3xE\n+jp/yFIAYamipRJD/jivQNqnv0dWAxfXPpMsbA8I6vb0+TF5dfuWYcd62fZ+\ntKt5\r\n=Nz/s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYOEqsVCWIkPCvZ5wXKwgp1skXtAH8K0F1A1QM5sqHbAIgW8D4xF8nrf06CK3vOsRsjwAqws1hkKaglJzTu8DYVkg="}]},"maintainers":[{"name":"towerz","email":"me@brunotorr.es"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/level-selector_0.1.12_1524688445471_0.13838357264181944"},"_hasShrinkwrap":false},"0.2.0":{"name":"level-selector","description":"A simple plugin for Clappr that adds support to manually select level on multi-bitrate streams.","version":"0.2.0","license":"MIT","repository":{"type":"git","url":"git+https://github.com/clappr/clappr-level-selector-plugin.git"},"main":"dist/level-selector.js","scripts":{"release":"webpack --p --output-filename level-selector.min.js","build":"webpack --progress","watch":"webpack --progress --watch","test":"npm run lint && echo 'No tests configured - aborting.'","lint":"eslint *.js src/","lint:fix":"npm run lint -- --fix","start":"webpack-dev-server --content-base public/ --output-public-path /latest --hot","lock":"rm -rf npm-shrinkwrap.json node_modules && npm install --silent && npm shrinkwrap"},"author":{"name":"Lucas Mundim","email":"lucas.mundim@gmail.com","url":"https://github.com/lucasmundim"},"contributors":[{"name":"Flávio Ribeiro","email":"email@flavioribeiro.com"},{"name":"Bruno Torres","email":"me@brunotorr.es"}],"keywords":["clappr","plugin"],"peerDependencies":{"clappr":"0.x"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.3","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","clappr":"^0.2.92","css-loader":"^0.28.10","eslint":"^4.18.2","html-loader":"^0.5.5","node-sass":"^4.7.2","postcss-loader":"^2.1.1","sass-loader":"^6.0.6","style-loader":"^0.12.4","webpack":"^3.11.0","webpack-dev-server":"^2.11.1","yargs":"^11.0.0"},"gitHead":"effb7eb454f0cdf9cd4dba047c4a2ab8e95276b7","bugs":{"url":"https://github.com/clappr/clappr-level-selector-plugin/issues"},"homepage":"https://github.com/clappr/clappr-level-selector-plugin#readme","_id":"level-selector@0.2.0","_npmVersion":"6.4.1","_nodeVersion":"8.14.0","_npmUser":{"name":"towerz","email":"me@brunotorr.es"},"dist":{"integrity":"sha512-/n+0V6nIA8GEvYAwp9/4rrxykWs6cSNAqs0R51x4/VyMm7NOjcGxX5j6wQ2v4VvY4pkh9LfSe+ZJES2r/1wgcA==","shasum":"173d89f5d506af6d8bbebcdfafa76062b3334d1a","tarball":"https://registry.npmjs.org/level-selector/-/level-selector-0.2.0.tgz","fileCount":19,"unpackedSize":591813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcAzQmCRA9TVsSAnZWagAALWcQAI+TwxHiwkv+n+FQKYVM\nb76NlYqPDnE/lJQA+BSZXvnpQ3pVbzcz793IrD8QV+AdQ9fQHVddEDoeueUs\n22wnxpnONE6F3FSZjB5gqOWg8UlRBBaMmOMazLHM29Bp95OtjguNn7YCrxLU\n5Fg4RtMbnD4EltizdAARy//yZ2BA29We00Ewal3uCco5anVlYE64/+lELLv/\nt0vH8KdOpxhXuRqN1/F1yE5gpfyblWRASoycY7Yv4CVEa8tuE20h7k+j7bah\ntINtCIWVRcLWc5WuiJQcgulAGTacLDVHv741lPi7WkJ4xI+7VVQ98xQfDPjG\nSkVLWo8qwUulv1JtMA0wCrdfoH017YBpoKeVP9nAOxYH8OQnVzHoM557U02z\nu19JQrZOn+yTGAYT9kY/YQF7+F7pN1Go/8fPwvMZ9uHPV0q3+0bQh6Rb1blZ\n/GB6lxFiK3jgcvE2eHTihLS/ADOCZVjzEG6CyQc5PHQXInRIyvtdWUmGdvJd\nzcKTDZkvM3tvecJIdFGDlHvusZeoIdkBL9ZRdvkw+yG+djIDQK+N/yaY0X8B\nDJumLJIXpDUg5foo1CJrv6MY6ju+xksgxMDaxRGDpbOUKrsjitB1P3c6+IwT\n/kwipELWFHDbH3iBJUHVjpNIMD11dfxipH8EqsRV1cJHqvPq4L3WKOBIQwYQ\nMbFO\r\n=+aGv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDAtjmVHLobVnTx09lkywrwnt65lSivlyANpK2pAzSxdQIhAN9LA9YCGXzM6LEoORVKa9lS1btXN8bvjaeCs+rzoWZo"}]},"maintainers":[{"name":"towerz","email":"me@brunotorr.es"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/level-selector_0.2.0_1543713829771_0.4942372911477029"},"_hasShrinkwrap":false}},"maintainers":[{"name":"towerz","email":"me@brunotorr.es"}],"description":"A simple plugin for Clappr that adds support to manually select level on multi-bitrate streams.","homepage":"https://github.com/clappr/clappr-level-selector-plugin#readme","keywords":["clappr","plugin"],"repository":{"type":"git","url":"git+https://github.com/clappr/clappr-level-selector-plugin.git"},"contributors":[{"name":"Flávio Ribeiro","email":"email@flavioribeiro.com"},{"name":"Bruno Torres","email":"me@brunotorr.es"}],"author":{"name":"Lucas Mundim","email":"lucas.mundim@gmail.com","url":"https://github.com/lucasmundim"},"bugs":{"url":"https://github.com/clappr/clappr-level-selector-plugin/issues"},"license":"MIT","readme":"# Clappr Level Selector Plugin\n\n<img src=\"https://raw.githubusercontent.com/lucasmundim/clappr-level-selector-plugin/master/screenshot.png\"/>\n\n## Usage\n\nAdd both Clappr and Level Selector plugin scripts to your HTML:\n\n```html\n<head>\n  <script type=\"text/javascript\" src=\"http://cdn.clappr.io/latest/clappr.min.js\"></script>\n  <script type=\"text/javascript\" src=\"dist/level-selector.js\"></script>\n</head>\n```\n\nThen just add `LevelSelector` into the list of plugins of your player instance:\n\n```javascript\nvar player = new Clappr.Player({\n  source: \"http://your.video/here.m3u8\",\n  plugins: [LevelSelector]\n});\n```\n\nYou can also customize the labels and title:\n\n```javascript\nvar player = new Clappr.Player({\n  source: \"http://your.video/here.m3u8\",\n  plugins: [LevelSelector],\n  levelSelectorConfig: {\n    title: 'Quality',\n    labels: {\n        2: 'High', // 500kbps\n        1: 'Med', // 240kbps\n        0: 'Low', // 120kbps\n    },\n    labelCallback: function(playbackLevel, customLabel) {\n        return customLabel + playbackLevel.level.height+'p'; // High 720p\n    }\n  },\n});\n```\n\n*Note: There is a minified version served through CDNs too:*\n```html\n<script type=\"text/javascript\"\n        src=\"//cdn.jsdelivr.net/gh/clappr/clappr-level-selector-plugin@latest/dist/level-selector.min.js\"></script>\n```\n\n## Compatibility\n\nAll the playbacks that follow these rules:\n\n* must trigger `PLAYBACK_LEVELS_AVAILABLE` with an ordered array of levels `[{id: 3, label: '500Kbps'}, {id: 4, label: '600Kpbs'}]`\n* to have a property `levels`, initialized with `[]` and then after filled with the proper levels\n* to have a property `currentLevel` (set/get), the level switch will happen when id (currentLevel) is changed  (`playback.currentLevel = id`)\n* optionally, trigger events: `PLAYBACK_LEVEL_SWITCH_START` and `PLAYBACK_LEVEL_SWITCH_END`\n* `id=-1` will be always the `Auto` level\n","readmeFilename":"README.md"}