platform/video.videojs/dist/video.es.js
function VideoTrackList() {
    var _this, _ret;

    var tracks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
    classCallCheck(this, VideoTrackList);

    var list = void 0;

    // make sure only 1 track is enabled
    // sorted from last index to first index
    for (var i = tracks.length - 1; i >= 0; i--) {
      if (tracks[i].selected) {
        disableOthers$1(tracks, tracks[i]);
        break;
      }
    }

    // IE8 forces us to implement inheritance ourselves
    // as it does not support Object.defineProperty properly
    if (IS_IE8) {
      list = document.createElement('custom');
      for (var prop in TrackList.prototype) {
        if (prop !== 'constructor') {
          list[prop] = TrackList.prototype[prop];
        }
      }
      for (var _prop in VideoTrackList.prototype) {
        if (_prop !== 'constructor') {
          list[_prop] = VideoTrackList.prototype[_prop];
        }
      }
    }

    list = (_this = possibleConstructorReturn(this, _TrackList.call(this, tracks, list)), _this);
    list.changing_ = false;

    /**
     * @member {number} VideoTrackList#selectedIndex
     *         The current index of the selected {@link VideoTrack`}.
     */
    Object.defineProperty(list, 'selectedIndex', {
      get: function get$$1() {
        for (var _i = 0; _i < this.length; _i++) {
          if (this[_i].selected) {
            return _i;
          }
        }
        return -1;
      },
      set: function set$$1() {}
    });

    return _ret = list, possibleConstructorReturn(_this, _ret);
  }
function VideoTrackList() {
    var _this, _ret;

    var tracks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
    classCallCheck(this, VideoTrackList);

    var list = void 0;

    // make sure only 1 track is enabled
    // sorted from last index to first index
    for (var i = tracks.length - 1; i >= 0; i--) {
      if (tracks[i].selected) {
        disableOthers$1(tracks, tracks[i]);
        break;
      }
    }

    // IE8 forces us to implement inheritance ourselves
    // as it does not support Object.defineProperty properly
    if (IS_IE8) {
      list = document.createElement('custom');
      for (var prop in TrackList.prototype) {
        if (prop !== 'constructor') {
          list[prop] = TrackList.prototype[prop];
        }
      }
      for (var _prop in VideoTrackList.prototype) {
        if (_prop !== 'constructor') {
          list[_prop] = VideoTrackList.prototype[_prop];
        }
      }
    }

    list = (_this = possibleConstructorReturn(this, _TrackList.call(this, tracks, list)), _this);
    list.changing_ = false;

    /**
     * @member {number} VideoTrackList#selectedIndex
     *         The current index of the selected {@link VideoTrack`}.
     */
    Object.defineProperty(list, 'selectedIndex', {
      get: function get$$1() {
        for (var _i = 0; _i < this.length; _i++) {
          if (this[_i].selected) {
            return _i;
          }
        }
        return -1;
      },
      set: function set$$1() {}
    });

    return _ret = list, possibleConstructorReturn(_this, _ret);
  }
function VideoTrackList ( ) { var _this , _ret ; var tracks = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : [ ] ; classCallCheck ( this , VideoTrackList ) ; var list = void 0 ; // make sure only 1 track is enabled // sorted from last index to first index for ( var i = tracks . length - 1 ; i >= 0 ; i -- ) { if ( tracks [ i ] . selected ) { disableOthers$1 ( tracks , tracks [ i ] ) ; break ; } } // IE8 forces us to implement inheritance ourselves // as it does not support Object.defineProperty properly if ( IS_IE8 ) { list = document . createElement ( 'custom' ) ; for ( var prop in TrackList . prototype ) { if ( prop !== 'constructor' ) { list [ prop ] = TrackList . prototype [ prop ] ; } } for ( var _prop in VideoTrackList . prototype ) { if ( _prop !== 'constructor' ) { list [ _prop ] = VideoTrackList . prototype [ _prop ] ; } } } list = ( _this = possibleConstructorReturn ( this , _TrackList . call ( this , tracks , list ) ) , _this ) ; list . changing_ = false ; /**
     * @member {number} VideoTrackList#selectedIndex
     *         The current index of the selected {@link VideoTrack`}.
     */ Object . defineProperty ( list , 'selectedIndex' , { get : function get$$1 ( ) { for ( var _i = 0 ; _i < this . length ; _i ++ ) { if ( this [ _i ] . selected ) { return _i ; } } return - 1 ; } , set : function set$$1 ( ) { } } ) ; return _ret = list , possibleConstructorReturn ( _this , _ret ) ; }
Create an instance of this class.

@param {VideoTrack[]} [tracks=[]]
A list of `VideoTrack` to instantiate the list with.
Create an instance of this class .