{"_id":"clappr-level-selector-plugin","_rev":"2-5b89e7d0a1145df3694caac08eb15ecd","name":"clappr-level-selector-plugin","dist-tags":{"latest":"0.2.1"},"versions":{"0.2.0":{"name":"clappr-level-selector-plugin","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":"Nikita Makarin","email":"zn.makarinm@gmail.com","url":"https://github.com/n-makarin"},"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"},"bugs":{"url":"https://github.com/clappr/clappr-level-selector-plugin/issues"},"homepage":"https://github.com/clappr/clappr-level-selector-plugin#readme","dependencies":{},"gitHead":"96f585b620c14fe37c9938965238a1ddb5526981","_id":"clappr-level-selector-plugin@0.2.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-S0AhPlG/QG08hmn1yRByKFYszhX21rOTsCNzzknpuRKmDrDjPdJcJ6AiWiy+v8p4F3IpCmywVHfJGzWlyucj+g==","shasum":"18a80d70465f3b471ba5df6eac19277847e54d9d","tarball":"https://registry.npmjs.org/clappr-level-selector-plugin/-/clappr-level-selector-plugin-0.2.0.tgz","fileCount":17,"unpackedSize":360378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyPFZCRA9TVsSAnZWagAAFzgQAJxWfhsZmL8THsdfnoeQ\niRMJi32lidNa8BOuiMMRSTKABOJBNuRUMpk23f14Em5liMcpekYLrTGjKSnw\nmLkOzgDwrM70eb3Lcz8wnunN7JKz25P52IMTEydy91V72rFS8ZAVNtuCNZPF\nfXVmIeVVm7Z0VW+hQDqMiEM425cHY7wHlmHzieUnGLDyZxwdOeBK1YXBuGTj\nyT52Og7mlt7iO1z+Tdw+Us0BcBxAITwKg02fE5+VbkrzRH1WWWiINJbMQ/aF\ne8/KZbSdweGkzcs0kIeC7gQlj8r4oS8aFlLGXdlJlggqRZVv0kFWjFvlN8w8\n0Cmya76MR81jQpZilzIRXcvMmlMBr8Ja72hMIKwo0sx5AXC0zMbxLGyCKYGH\naoYBHtrL7yxpJvWU4GFf31SARGxlPeW2FZmC90IBVU6F/KiF3MMO32e6axjR\nBnckTAG9tw+N2EGLOqMzDCrc71utpQK7seoFHDkRO/77cW/77Ypqc86ydEiz\nSdVuT5lLwSpcpk7dZm3ClgJYfnFUnOSc39U1kMqH10ATl3iX/oJBzK2wZjIA\nyowcnTcfOvNh5n32cuoatvZBblmLurvjrOvAApUnq2X+xMbWoYKtpKIMqZBs\nhoIOIRHV7mOIMISTbi3qy9VQ6CqPvtwSH5O79TDb+f24CoJTMn5JAQZI1JBh\nSugs\r\n=L4dh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFPht275gPcOr0R9dStiPCqScfDlXSIp/gqM2VeRh5mtAiEAhMLhDnHf2fEGro2TBJqbwCNmRK7wdKufqtmrCTYzqL0="}]},"_npmUser":{"name":"nmakarin","email":"zn.makarin@gmail.com"},"directories":{},"maintainers":[{"name":"nmakarin","email":"zn.makarin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/clappr-level-selector-plugin_0.2.0_1607004504904_0.22508855455750254"},"_hasShrinkwrap":false},"0.2.1":{"name":"clappr-level-selector-plugin","description":"A simple plugin for Clappr that adds support to manually select level on multi-bitrate streams.","version":"0.2.1","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":"Nikita Makarin","email":"zn.makarinm@gmail.com","url":"https://github.com/n-makarin"},"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"},"bugs":{"url":"https://github.com/clappr/clappr-level-selector-plugin/issues"},"homepage":"https://github.com/clappr/clappr-level-selector-plugin#readme","dependencies":{},"gitHead":"8dfaa6d93969c18d529d7a1a6112fab81debeff6","_id":"clappr-level-selector-plugin@0.2.1","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-RnyD9+57tKf8uB+gYPAlgbbZuoRagGIz4lhocYtf/qWpU/UW9Lr7FL9ov3msv7SsNJRdSijqy4jLvh0YxU8fYw==","shasum":"8c1f1194dc282b9139f584a0c60623be7e326658","tarball":"https://registry.npmjs.org/clappr-level-selector-plugin/-/clappr-level-selector-plugin-0.2.1.tgz","fileCount":17,"unpackedSize":360714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyPS0CRA9TVsSAnZWagAAvTQQAKNL6MZnAMxDH6OVzWMa\n/STsWhMkRrTJWZJrD0AWgzB/PrhaJd9hMvNJZYsF6EU2gEFWqVroke/t834V\n0wg14l8r4xqihWdywiBttV2P/iyJk5SA0Y5DVauvoVQ1goneQIYmwt0JfoHQ\nrvmdYFSYqMz4HiX3bWGrM+TMq8QxKmMTGEHhr9P+nfXShHdv1476THj2gt0V\n9pZ+ztHyIfqskoK6g8QImRw+/1/Kj4P2un+8Fnc5N2vhVgI4SIgj0t62JBQl\nGT8ks4odo6LYcTiGund2R8vYpc+8OJcPSDTASBIfw58O5SUsC6O/iOBB4QJm\nIsjp5oW/ygavkErBXl3Qs2wTyQ+GXBwPLsFPdAxFj9HcZ9oXQbI9OeXBDgSl\nNoW+WjfjfOfFyHchXVtuR+2YKEvCZrLRPTZs1F8E8mLRclDOXqx4ipBOAUNN\nEbfo8RPUdNV4kpsVZ2MnEnVrcEilVJqBceR7UQU4BHEA+u+/0lKCHbdHoYtE\nVRHquyuTt7iyT+1NBURcY8gXo6Xh2i9zSfBbQc2srHOSb5fHhE1h2v++E5rc\nHoEPpZMzVVQanHHqgE3D7573rhBIiPucZyYyjaiUzn3TpeMlphytzs7qG0E1\nkr1HIVm/N/eRS9kXHjXZK7Txc5w2SFzE1MbksZ6ZKaxEdF9myrdxaNNOnjO5\neZN7\r\n=fufc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZsVX0qHnFesYftteND5oritrhONd3a8ms54bNQfveZgIgOfvBsHLEem0ENtdIC6BHy3EiT1SFHTmviyTkFEhPXW4="}]},"_npmUser":{"name":"nmakarin","email":"zn.makarin@gmail.com"},"directories":{},"maintainers":[{"name":"nmakarin","email":"zn.makarin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/clappr-level-selector-plugin_0.2.1_1607005364110_0.3993690362653797"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-03T14:08:24.850Z","0.2.0":"2020-12-03T14:08:25.033Z","modified":"2022-04-12T06:33:03.049Z","0.2.1":"2020-12-03T14:22:44.321Z"},"maintainers":[{"name":"nmakarin","email":"zn.makarin@gmail.com"}],"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":"Nikita Makarin","email":"zn.makarinm@gmail.com","url":"https://github.com/n-makarin"},"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 `ClapprLevelSelectorPlugin` 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: [ClapprLevelSelectorPlugin]\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: [ClapprLevelSelectorPlugin],\n  ClapprLevelSelectorPluginConfig: {\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\nAnd also transform available levels:\n\n```javascript\nvar player = new Clappr.Player({\n  // [...]\n  ClapprLevelSelectorPluginConfig: {\n    onLevelsAvailable: function(levels) {\n      return levels.reverse(); // For example, reverse levels order\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"}