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