https://www.mediawiki.org/wiki/Special:Code/MediaWiki/113738

Revision: 113738
Author:   dale
Date:     2012-03-13 18:12:15 +0000 (Tue, 13 Mar 2012)
Log Message:
-----------
added in some missing methods from kaltura branch ( getTextTracks ) 
fixed getDownload sources to not be dependent on timedText binding
add text binding at loader.js time

Modified Paths:
--------------
    
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/mw.MediaElement.js
    
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/skins/kskin/mw.PlayerSkinKskin.js
    
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/skins/mw.PlayerControlBuilder.js
    
trunk/extensions/TimedMediaHandler/MwEmbedModules/TimedText/TimedText.loader.js

Modified: 
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/mw.MediaElement.js
===================================================================
--- 
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/mw.MediaElement.js
  2012-03-13 17:57:54 UTC (rev 113737)
+++ 
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/mw.MediaElement.js
  2012-03-13 18:12:15 UTC (rev 113738)
@@ -72,6 +72,18 @@
        },
 
        /**
+        * Get Text tracks
+        */
+       getTextTracks: function(){
+               var textTracks = [];
+               $.each( this.sources, function(inx, source ){
+                       if (  source.nodeName == 'track' || ( source.mimeType 
&& source.mimeType.indexOf('text/') !== -1 )){
+                               textTracks.push( source );
+                       }
+               });
+               return textTracks;
+       },
+       /**
         * Check for Timed Text tracks
         *
         * @return {Boolean} True if text tracks exist, false if no text tracks 
are

Modified: 
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/skins/kskin/mw.PlayerSkinKskin.js
===================================================================
--- 
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/skins/kskin/mw.PlayerSkinKskin.js
   2012-03-13 17:57:54 UTC (rev 113737)
+++ 
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/skins/kskin/mw.PlayerSkinKskin.js
   2012-03-13 18:12:15 UTC (rev 113738)
@@ -308,7 +308,7 @@
        */
        showMenuItem:function( menuItem ) {
                var embedPlayer = this.embedPlayer;
-               //handle special k-skin specific display;
+               // Handle special k-skin specific display;
                switch( menuItem ){
                        case 'credits':
                                this.showCredits();
@@ -319,9 +319,8 @@
                                );
                        break;
                        case 'download' :
-                               embedPlayer.$interface.find( 
'.menu-download').text(
-                                       gM('mwe-loading' )
-                               );
+                               embedPlayer.$interface.find( '.menu-download')
+                                       .loadingSpinner();
                                // Call show download with the target to be 
populated
                                this.showDownload(
                                        embedPlayer.$interface.find( 
'.menu-download')

Modified: 
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/skins/mw.PlayerControlBuilder.js
===================================================================
--- 
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/skins/mw.PlayerControlBuilder.js
    2012-03-13 17:57:54 UTC (rev 113737)
+++ 
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/skins/mw.PlayerControlBuilder.js
    2012-03-13 18:12:15 UTC (rev 113738)
@@ -1684,32 +1684,11 @@
        * Loads sources and calls showDownloadWithSources
        * @param {Object} $target jQuery target to output to
        */
-       showDownload: function( $target ) {
+       showDownload: function( $targetContainer ) {
                var _this = this;
                var embedPlayer = this.embedPlayer;
                
-               // Load additional text sources via apiTitleKey:
-               // TODO we should move this to timedText bindings
-               if( embedPlayer.apiTitleKey ) {
-                       // Load text interface ( if not already loaded )
-                       mw.load( 'TimedText', function() {
-                               
embedPlayer.timedText.setupTextSources(function(){
-                                       _this.showDownloadWithSources( $target 
);
-                               });
-                       });
-               } else {
-                       _this.showDownloadWithSources( $target );
-               }
-       },
-
-       /**
-       * Shows the download interface with sources loaded
-       * @param {Object} $targetContainer jQuery target to output to
-       */
-       showDownloadWithSources : function( $targetContainer ) {
-               var _this = this;
-               mw.log( 'showDownloadWithSources::' + $targetContainer.length );
-               var embedPlayer = this.embedPlayer;
+               mw.log( 'PlayerControlBuilder::showDownload: ' + 
$targetContainer.length );
                // Empty the target:
                $targetContainer.empty();
                $targetContainer.append( $('<div />') );
@@ -1719,7 +1698,7 @@
                var $textList =  $( '<ul />' );
                $.each( embedPlayer.mediaElement.getSources(), function( index, 
source ) {
                        if( source.getSrc() ) {
-                               mw.log("showDownloadWithSources:: Add src: " + 
source.getTitle() );
+                               mw.log("PlayerControlBuilder::showDownload:  
Add src: " + source.getTitle() );
                                var $dl_line = $( '<li />').append(
                                        $('<a />')
                                        .attr( 'href', source.getSrc() )

Modified: 
trunk/extensions/TimedMediaHandler/MwEmbedModules/TimedText/TimedText.loader.js
===================================================================
--- 
trunk/extensions/TimedMediaHandler/MwEmbedModules/TimedText/TimedText.loader.js 
    2012-03-13 17:57:54 UTC (rev 113737)
+++ 
trunk/extensions/TimedMediaHandler/MwEmbedModules/TimedText/TimedText.loader.js 
    2012-03-13 18:12:15 UTC (rev 113738)
@@ -17,7 +17,12 @@
                        classRequest = $.merge( classRequest, ['mw.TimedText'] 
);
                }
        } );            
-       
+       // On new embed player check if we need to add timedText
+       $( mw ).bind( 'newEmbedPlayerEvent', function( event, embedPlayer ){
+               if( mw.isTimedTextSupported( embedPlayer ) ){
+                       embedPlayer.timedText = new mw.TimedText( embedPlayer );
+               }
+       });
        /**
         * Check timedText is active for a given embedPlayer
         * @param {object} embedPlayer The player to be checked for timedText 
properties


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to