nl_tokens: Setup the UI
pl_tokens: 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 . <mask> , 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 ) ; } }