platform/video.videojs/dist/video.es.js
function Tech() {
    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var ready = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
    classCallCheck(this, Tech);

    // we don't want the tech to report user activity automatically.
    // This is done manually in addControlsListeners
    options.reportTouchActivity = false;

    // keep track of whether the current source has played at all to
    // implement a very limited played()
    var _this = possibleConstructorReturn(this, _Component.call(this, null, options, ready));

    _this.hasStarted_ = false;
    _this.on('playing', function () {
      this.hasStarted_ = true;
    });
    _this.on('loadstart', function () {
      this.hasStarted_ = false;
    });

    ALL.names.forEach(function (name) {
      var props = ALL[name];

      if (options && options[props.getterName]) {
        _this[props.privateName] = options[props.getterName];
      }
    });

    // Manually track progress in cases where the browser/flash player doesn't report it.
    if (!_this.featuresProgressEvents) {
      _this.manualProgressOn();
    }

    // Manually track timeupdates in cases where the browser/flash player doesn't report it.
    if (!_this.featuresTimeupdateEvents) {
      _this.manualTimeUpdatesOn();
    }

    ['Text', 'Audio', 'Video'].forEach(function (track) {
      if (options['native' + track + 'Tracks'] === false) {
        _this['featuresNative' + track + 'Tracks'] = false;
      }
    });

    if (options.nativeCaptions === false || options.nativeTextTracks === false) {
      _this.featuresNativeTextTracks = false;
    } else if (options.nativeCaptions === true || options.nativeTextTracks === true) {
      _this.featuresNativeTextTracks = true;
    }

    if (!_this.featuresNativeTextTracks) {
      _this.emulateTextTracks();
    }

    _this.autoRemoteTextTracks_ = new ALL.text.ListClass();

    _this.initTrackListeners();

    // Turn on component tap events only if not using native controls
    if (!options.nativeControlsForTouch) {
      _this.emitTapEvents();
    }

    if (_this.constructor) {
      _this.name_ = _this.constructor.name || 'Unknown Tech';
    }
    return _this;
  }
function Tech() {
    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var ready = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
    classCallCheck(this, Tech);

    // we don't want the tech to report user activity automatically.
    // This is done manually in addControlsListeners
    options.reportTouchActivity = false;

    // keep track of whether the current source has played at all to
    // implement a very limited played()
    var _this = possibleConstructorReturn(this, _Component.call(this, null, options, ready));

    _this.hasStarted_ = false;
    _this.on('playing', function () {
      this.hasStarted_ = true;
    });
    _this.on('loadstart', function () {
      this.hasStarted_ = false;
    });

    ALL.names.forEach(function (name) {
      var props = ALL[name];

      if (options && options[props.getterName]) {
        _this[props.privateName] = options[props.getterName];
      }
    });

    // Manually track progress in cases where the browser/flash player doesn't report it.
    if (!_this.featuresProgressEvents) {
      _this.manualProgressOn();
    }

    // Manually track timeupdates in cases where the browser/flash player doesn't report it.
    if (!_this.featuresTimeupdateEvents) {
      _this.manualTimeUpdatesOn();
    }

    ['Text', 'Audio', 'Video'].forEach(function (track) {
      if (options['native' + track + 'Tracks'] === false) {
        _this['featuresNative' + track + 'Tracks'] = false;
      }
    });

    if (options.nativeCaptions === false || options.nativeTextTracks === false) {
      _this.featuresNativeTextTracks = false;
    } else if (options.nativeCaptions === true || options.nativeTextTracks === true) {
      _this.featuresNativeTextTracks = true;
    }

    if (!_this.featuresNativeTextTracks) {
      _this.emulateTextTracks();
    }

    _this.autoRemoteTextTracks_ = new ALL.text.ListClass();

    _this.initTrackListeners();

    // Turn on component tap events only if not using native controls
    if (!options.nativeControlsForTouch) {
      _this.emitTapEvents();
    }

    if (_this.constructor) {
      _this.name_ = _this.constructor.name || 'Unknown Tech';
    }
    return _this;
  }
function Tech ( ) { var options = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ; var ready = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : function ( ) { } ; classCallCheck ( this , Tech ) ; // we don't want the tech to report user activity automatically. // This is done manually in addControlsListeners options . reportTouchActivity = false ; // keep track of whether the current source has played at all to // implement a very limited played() var _this = possibleConstructorReturn ( this , _Component . call ( this , null , options , ready ) ) ; _this . hasStarted_ = false ; _this . on ( 'playing' , function ( ) { this . hasStarted_ = true ; } ) ; _this . on ( 'loadstart' , function ( ) { this . hasStarted_ = false ; } ) ; ALL . names . forEach ( function ( name ) { var props = ALL [ name ] ; if ( options && options [ props . getterName ] ) { _this [ props . privateName ] = options [ props . getterName ] ; } } ) ; // Manually track progress in cases where the browser/flash player doesn't report it. if ( ! _this . featuresProgressEvents ) { _this . manualProgressOn ( ) ; } // Manually track timeupdates in cases where the browser/flash player doesn't report it. if ( ! _this . featuresTimeupdateEvents ) { _this . manualTimeUpdatesOn ( ) ; } [ 'Text' , 'Audio' , 'Video' ] . forEach ( function ( track ) { if ( options [ 'native' + track + 'Tracks' ] === false ) { _this [ 'featuresNative' + track + 'Tracks' ] = false ; } } ) ; if ( options . nativeCaptions === false || options . nativeTextTracks === false ) { _this . featuresNativeTextTracks = false ; } else if ( options . nativeCaptions === true || options . nativeTextTracks === true ) { _this . featuresNativeTextTracks = true ; } if ( ! _this . featuresNativeTextTracks ) { _this . emulateTextTracks ( ) ; } _this . autoRemoteTextTracks_ = new ALL . text . ListClass ( ) ; _this . initTrackListeners ( ) ; // Turn on component tap events only if not using native controls if ( ! options . nativeControlsForTouch ) { _this . emitTapEvents ( ) ; } if ( _this . constructor ) { _this . name_ = _this . constructor . name || 'Unknown Tech' ; } return _this ; }
Create an instance of this Tech.

@param {Object} [options]
The key/value store of player options.

@param {Component~ReadyCallback} ready
Callback function to call when the `HTML5` Tech is ready.
Create an instance of this Tech .