# Silvermine VideoJS Quality/Resolution Selector
[![Build Status](https://travis-ci.org/silvermine/videojs-quality-selector.svg?branch=master)](https://travis-ci.org/silvermine/videojs-quality-selector)
[![Coverage Status](https://coveralls.io/repos/github/silvermine/videojs-quality-selector/badge.svg?branch=master)](https://coveralls.io/github/silvermine/videojs-quality-selector?branch=master)
[![Dependency Status](https://david-dm.org/silvermine/videojs-quality-selector.svg)](https://david-dm.org/silvermine/videojs-quality-selector)
[![Dev Dependency Status](https://david-dm.org/silvermine/videojs-quality-selector/dev-status.svg)](https://david-dm.org/silvermine/videojs-quality-selector?type=dev)
## What is it?
A plugin for [videojs](http://videojs.com/) versions 6+ that adds a button to the control
bar which will allow the user to choose from available video qualities or resolutions.
## How do I use it?
There are three primary steps to use this plug-in: [(1) including](#includingrequiring),
[(2) providing sources](#providing-video-sources), and [(3) adding the component the to
`controlBar`](#adding-to-the-player). Please see the following for information on each
step.
### Including/Requiring
#### Using `
```
##### From [`unpkg`](https://unpkg.com/@silvermine/videojs-quality-selector/)
```js
```
#### Using `require`
When using NPM/Browserify, first install the plugin.
```bash
npm install --save @silvermine/videojs-quality-selector
```
For `videojs` to use the plug-in, the plugin needs to register itself with the instance of
`videojs`. This can be accomplished by:
```js
var videojs = require('videojs');
// The following registers the plugin with `videojs`
require('@silvermine/videojs-quality-selector')(videojs);
```
Remember to also add the CSS to your build. With most bundlers you can:
```js
require('@silvermine/videojs-quality-selector/dist/css/quality-selector.css')
```
> [!WARNING]
> This plugin's source code uses ES6+ syntax and keywords, such as `class` and `static`.
> If you need to support [browsers that do not support newer JavaScript
> syntax](https://caniuse.com/es6), you will need to use a tool like
> [Babel](https://babeljs.io/) to transpile and polyfill your code.
>
> Alternatively, you can
> `require('@silvermine/videojs-quality-selector/dist/js/silvermine-videojs-quality-selector.js')`
> to use a JavaScript file that has already been polyfilled/transpiled down to ES5
> compatibility.
### Providing video sources
Sources can be provided with either the `