demo/dist/demo.js
function build() {
	    var _this = this;

	    // Re-attach media element listeners
	    // TODO: Use event bubbling?
	    this.listeners.media(); // Don't setup interface if no support

	    if (!this.supported.ui) {
	      this.debug.warn("Basic support only for ".concat(this.provider, " ").concat(this.type)); // Restore native controls

	      ui.toggleNativeControls.call(this, true); // Bail

	      return;
	    } // Inject custom controls if not present


	    if (!is$1.element(this.elements.controls)) {
	      // Inject custom controls
	      controls.inject.call(this); // Re-attach control listeners

	      this.listeners.controls();
	    } // Remove native controls


	    ui.toggleNativeControls.call(this); // Setup captions for HTML5

	    if (this.isHTML5) {
	      captions.setup.call(this);
	    } // Reset volume


	    this.volume = null; // Reset mute state

	    this.muted = null; // Reset loop state

	    this.loop = null; // Reset quality setting

	    this.quality = null; // Reset speed

	    this.speed = null; // Reset volume display

	    controls.updateVolume.call(this); // Reset time display

	    controls.timeUpdate.call(this); // Update the UI

	    ui.checkPlaying.call(this); // Check for picture-in-picture support

	    toggleClass(this.elements.container, this.config.classNames.pip.supported, support.pip && this.isHTML5 && this.isVideo); // Check for airplay support

	    toggleClass(this.elements.container, this.config.classNames.airplay.supported, support.airplay && this.isHTML5); // Add iOS class

	    toggleClass(this.elements.container, this.config.classNames.isIos, browser.isIos); // Add touch class

	    toggleClass(this.elements.container, this.config.classNames.isTouch, this.touch); // Ready for API calls

	    this.ready = true; // Ready event at end of execution stack

	    setTimeout(function () {
	      triggerEvent.call(_this, _this.media, 'ready');
	    }, 0); // Set the title

	    ui.setTitle.call(this); // Assure the poster image is set, if the property was added before the element was created

	    if (this.poster) {
	      ui.setPoster.call(this, this.poster, false).catch(function () {});
	    } // Manually set the duration if user has overridden it.
	    // The event listeners for it doesn't get called if preload is disabled (#701)


	    if (this.config.duration) {
	      controls.durationUpdate.call(this);
	    }
	  }
function build() {
	    var _this = this;

	    // Re-attach media element listeners
	    // TODO: Use event bubbling?
	    this.listeners.media(); // Don't setup interface if no support

	    if (!this.supported.ui) {
	      this.debug.warn("Basic support only for ".concat(this.provider, " ").concat(this.type)); // Restore native controls

	      ui.toggleNativeControls.call(this, true); // Bail

	      return;
	    } // Inject custom controls if not present


	    if (!is$1.element(this.elements.controls)) {
	      // Inject custom controls
	      controls.inject.call(this); // Re-attach control listeners

	      this.listeners.controls();
	    } // Remove native controls


	    ui.toggleNativeControls.call(this); // Setup captions for HTML5

	    if (this.isHTML5) {
	      captions.setup.call(this);
	    } // Reset volume


	    this.volume = null; // Reset mute state

	    this.muted = null; // Reset loop state

	    this.loop = null; // Reset quality setting

	    this.quality = null; // Reset speed

	    this.speed = null; // Reset volume display

	    controls.updateVolume.call(this); // Reset time display

	    controls.timeUpdate.call(this); // Update the UI

	    ui.checkPlaying.call(this); // Check for picture-in-picture support

	    toggleClass(this.elements.container, this.config.classNames.pip.supported, support.pip && this.isHTML5 && this.isVideo); // Check for airplay support

	    toggleClass(this.elements.container, this.config.classNames.airplay.supported, support.airplay && this.isHTML5); // Add iOS class

	    toggleClass(this.elements.container, this.config.classNames.isIos, browser.isIos); // Add touch class

	    toggleClass(this.elements.container, this.config.classNames.isTouch, this.touch); // Ready for API calls

	    this.ready = true; // Ready event at end of execution stack

	    setTimeout(function () {
	      triggerEvent.call(_this, _this.media, 'ready');
	    }, 0); // Set the title

	    ui.setTitle.call(this); // Assure the poster image is set, if the property was added before the element was created

	    if (this.poster) {
	      ui.setPoster.call(this, this.poster, false).catch(function () {});
	    } // Manually set the duration if user has overridden it.
	    // The event listeners for it doesn't get called if preload is disabled (#701)


	    if (this.config.duration) {
	      controls.durationUpdate.call(this);
	    }
	  }
function build ( ) { var _this = this ; // Re-attach media element listeners // TODO: Use event bubbling? this . listeners . media ( ) ; // Don't setup interface if no support if ( ! this . supported . ui ) { this . debug . warn ( "Basic support only for " . concat ( this . provider , " " ) . concat ( this . type ) ) ; // Restore native controls ui . toggleNativeControls . call ( this , true ) ; // Bail return ; } // Inject custom controls if not present if ( ! is$1 . element ( this . elements . controls ) ) { // Inject custom controls controls . inject . call ( this ) ; // Re-attach control listeners this . listeners . controls ( ) ; } // Remove native controls ui . toggleNativeControls . call ( this ) ; // Setup captions for HTML5 if ( this . isHTML5 ) { captions . setup . call ( this ) ; } // Reset volume this . volume = null ; // Reset mute state this . muted = null ; // Reset loop state this . loop = null ; // Reset quality setting this . quality = null ; // Reset speed this . speed = null ; // Reset volume display controls . updateVolume . call ( this ) ; // Reset time display controls . timeUpdate . call ( this ) ; // Update the UI ui . checkPlaying . call ( this ) ; // Check for picture-in-picture support toggleClass ( this . elements . container , this . config . classNames . pip . supported , support . pip && this . isHTML5 && this . isVideo ) ; // Check for airplay support toggleClass ( this . elements . container , this . config . classNames . airplay . supported , support . airplay && this . isHTML5 ) ; // Add iOS class toggleClass ( this . elements . container , this . config . classNames . isIos , browser . isIos ) ; // Add touch class toggleClass ( this . elements . container , this . config . classNames . isTouch , this . touch ) ; // Ready for API calls this . ready = true ; // Ready event at end of execution stack setTimeout ( function ( ) { triggerEvent . call ( _this , _this . media , 'ready' ) ; } , 0 ) ; // Set the title ui . setTitle . call ( this ) ; // Assure the poster image is set, if the property was added before the element was created if ( this . poster ) { ui . setPoster . call ( this , this . poster , false ) . catch ( function ( ) { } ) ; } // Manually set the duration if user has overridden it. // The event listeners for it doesn't get called if preload is disabled (#701) if ( this . config . duration ) { controls . durationUpdate . call ( this ) ; } }
Setup the UI
Setup the UI