http://www.mediawiki.org/wiki/Special:Code/MediaWiki/69061

Revision: 69061
Author:   dale
Date:     2010-07-05 18:35:54 +0000 (Mon, 05 Jul 2010)

Log Message:
-----------
improved clipBegin support 

Modified Paths:
--------------
    branches/MwEmbedStandAlone/modules/Sequencer/mw.FirefoggRender.js
    branches/MwEmbedStandAlone/modules/SmilPlayer/mw.EmbedPlayerSmil.js
    branches/MwEmbedStandAlone/modules/SmilPlayer/mw.Smil.js
    branches/MwEmbedStandAlone/modules/SmilPlayer/mw.SmilAnimate.js
    branches/MwEmbedStandAlone/modules/SmilPlayer/mw.SmilBody.js
    branches/MwEmbedStandAlone/modules/SmilPlayer/tests/VideoClipBegin.html
    branches/MwEmbedStandAlone/modules/SmilPlayer/tests/VideoClipBeginSmil.xml
    branches/MwEmbedStandAlone/modules/SmilPlayer/tests/VideoCrossFade.html

Modified: branches/MwEmbedStandAlone/modules/Sequencer/mw.FirefoggRender.js
===================================================================
--- branches/MwEmbedStandAlone/modules/Sequencer/mw.FirefoggRender.js   
2010-07-05 17:28:54 UTC (rev 69060)
+++ branches/MwEmbedStandAlone/modules/Sequencer/mw.FirefoggRender.js   
2010-07-05 18:35:54 UTC (rev 69061)
@@ -87,7 +87,10 @@
        // Start rendering
        doRender: function() {
                var _this = this;
-               
+               // Make sure we get a target destination
+               if( !_this.fogg.saveVideoAs() ){
+                       return false;
+               }
                // Set the render time to "startTime" of the render request
                this.renderTime = this.startTime;
                
@@ -118,12 +121,10 @@
 
                        // Update previusAudioTime
                        previusAudioTime = currentAudio.startTime + 
currentAudio.duration;
-               }
-               
-               // Now issue the save video as call
-               _this.fogg.saveVideoAs();
-               
-               _this.doNextFrame();            
+               }               
+               // Now issue the save video as call     
+               _this.doNextFrame();
+               return true;
        },
        
        /**

Modified: branches/MwEmbedStandAlone/modules/SmilPlayer/mw.EmbedPlayerSmil.js
===================================================================
--- branches/MwEmbedStandAlone/modules/SmilPlayer/mw.EmbedPlayerSmil.js 
2010-07-05 17:28:54 UTC (rev 69060)
+++ branches/MwEmbedStandAlone/modules/SmilPlayer/mw.EmbedPlayerSmil.js 
2010-07-05 18:35:54 UTC (rev 69061)
@@ -99,7 +99,7 @@
                                // If no render target exist create one: 
                                $j( this ).html(        
                                        $j( '<div />')
-                                       .attr('id', 'smilCanvas_' + this.id )
+                                       .attr( 'id', 'smilCanvas_' + this.id )
                                        .css( {
                                                'width' : '100%',
                                                'height' : '100%',

Modified: branches/MwEmbedStandAlone/modules/SmilPlayer/mw.Smil.js
===================================================================
--- branches/MwEmbedStandAlone/modules/SmilPlayer/mw.Smil.js    2010-07-05 
17:28:54 UTC (rev 69060)
+++ branches/MwEmbedStandAlone/modules/SmilPlayer/mw.Smil.js    2010-07-05 
18:35:54 UTC (rev 69061)
@@ -326,22 +326,24 @@
         * DIGIT               ::= [0-9]
         * 
         * @param {mixed} timeValue time value of smil structure
-        * @ return {float} Seconds from time value 
+        * @return {float} Seconds from time value, if timeValue is empty or 
null return 0 
         */
        parseTime : function( timeValue ){
-               // If timeValue is already a number return seconds: 
+               if( !timeValue )
+                       return 0;
+               
+               // If timeValue is already a clean number of seconds, return 
seconds: 
                if( ! isNaN( timeValue ) ){
                        return parseFloat( timeValue );
                }
-               // Trim whitespace
+               // Trim whitespace if empty return zero
                timeValue = $j.trim( timeValue );
-               if( timeValue == '' ){
-                       mw.log("Error: Empty time value ");
+               if( timeValue == '' ){                  
                        return 0;
                }
        
                // First check for hh:mm:ss time: 
-               if ( timeValue.split( ':' ).length == 3 ||  timeValue.split( 
':' ).length == 2 ) {
+               if ( timeValue.split( ':' ).length == 3 ||  timeValue.split( 
':' ).length == 2 ) {                      
                        return mw.npt2seconds( timeValue );
                }
                

Modified: branches/MwEmbedStandAlone/modules/SmilPlayer/mw.SmilAnimate.js
===================================================================
--- branches/MwEmbedStandAlone/modules/SmilPlayer/mw.SmilAnimate.js     
2010-07-05 17:28:54 UTC (rev 69060)
+++ branches/MwEmbedStandAlone/modules/SmilPlayer/mw.SmilAnimate.js     
2010-07-05 18:35:54 UTC (rev 69061)
@@ -331,7 +331,7 @@
                if( !animateInRange  ) {
                        if( animateTime == 0 ) {
                                // just a hack for now ( should read from 
previous animation or from source attribute
-                               //this.updateElementLayout( smilImgElement, { 
'top':1,'left':1,'width':1, 'height':1 } );
+                               // this.updateElementLayout( smilImgElement, { 
'top':1,'left':1,'width':1, 'height':1 } );
                                var $target = $j( '#' + this.smil.getAssetId( 
smilImgElement ));
                                $target.css( {
                                        'top' : '0px',

Modified: branches/MwEmbedStandAlone/modules/SmilPlayer/mw.SmilBody.js
===================================================================
--- branches/MwEmbedStandAlone/modules/SmilPlayer/mw.SmilBody.js        
2010-07-05 17:28:54 UTC (rev 69060)
+++ branches/MwEmbedStandAlone/modules/SmilPlayer/mw.SmilBody.js        
2010-07-05 18:35:54 UTC (rev 69061)
@@ -28,7 +28,8 @@
                'audio' : 'ref',
                'img' : 'ref',
                'textstream' : 'ref',
-               'video' : 'ref'
+               'video' : 'ref',
+               'smiltext' : 'ref'
        },
        
        // Constructor: 
@@ -162,7 +163,7 @@
                                        'src' : _this.smil.getAssetUrl ( 
$node.attr('src') ),
                                        'duration' : _this.getNodeDuration( 
$node ),
                                        'startTime' : $node.data( 'startOffset' 
),
-                                       'offset' : 0 // have to add in 
media-offset support
+                                       'offset' : _this.smil.parseTime( 
$node.attr( 'clipBegin') )  
                                };
                                
                                // If audioTimeline is empty insert directly 

Modified: 
branches/MwEmbedStandAlone/modules/SmilPlayer/tests/VideoClipBegin.html
===================================================================
--- branches/MwEmbedStandAlone/modules/SmilPlayer/tests/VideoClipBegin.html     
2010-07-05 17:28:54 UTC (rev 69060)
+++ branches/MwEmbedStandAlone/modules/SmilPlayer/tests/VideoClipBegin.html     
2010-07-05 18:35:54 UTC (rev 69061)
@@ -18,24 +18,18 @@
                                $j('#videoClipBegin').get(0).load();
                                return false;
                        });
-                       $j('#renderToFile').click(function(){                   
        
-                               $j(this).empty().unbind().after(
-                                       $j('<span />').text( ' ' ),
-                                       $j('<span />').attr('id', 
'targetFoggStatus' )
-                               );
-                               
+                       $j('#renderToFile').click(function(){                   
                                                                        
                                // xxx for local rendering 'AddMedia.firefogg' 
is overkill 
-                               // but will have to clean up modularity later
-                               
+                               // but will have to clean up modularity later   
                        
                                mw.load( 
['AddMedia.firefogg','mw.FirefoggRender'],function(){
                                        var foggRender = 
$j('#videoClipBegin').firefoggRender({
                                                'statusTarget': 
'#targetFoggStatus'
                                        });
-                                       foggRender.doRender();
-
-                                       $j('#renderToFile').text('Stop 
Render').click(function(){
-                                               foggRender.stopRender();        
                                        
-                                       }); 
+                                       if( foggRender.doRender() ){
+                                               $j('#renderToFile').text('Stop 
Render').click(function(){
+                                                       
foggRender.stopRender();                                                
+                                               }); 
+                                       }
                                })
                                return false;
                        });
@@ -52,7 +46,7 @@
 <p></p>seek to <input id="seekInputTime" size="4" value = "6"></input><span 
id="seekInProgress" style="display: none"> Seeking<blink>...</blink></span>
 <br/>
 <a id="startBuffer" href="#">Start buffering</a> <br>
-<a id="renderToFile" href="#">Render to file</a>
+<a id="renderToFile" href="#">Render to file</a> <span 
id="targetFoggStatus"></span>
 </td>
 <td valign="top">
 Sample playlist code: 

Modified: 
branches/MwEmbedStandAlone/modules/SmilPlayer/tests/VideoClipBeginSmil.xml
===================================================================
--- branches/MwEmbedStandAlone/modules/SmilPlayer/tests/VideoClipBeginSmil.xml  
2010-07-05 17:28:54 UTC (rev 69060)
+++ branches/MwEmbedStandAlone/modules/SmilPlayer/tests/VideoClipBeginSmil.xml  
2010-07-05 18:35:54 UTC (rev 69061)
@@ -14,14 +14,14 @@
     <seq>    
        
     <video 
src="http://upload.wikimedia.org/wikipedia/commons/9/94/Folgers.ogv";        
-               dur="2s"
-               clipBegin = "16s"
-       />
+               dur="5s"
+               clipBegin = "17s"
+       />      
        
        <video 
src="http://upload.wikimedia.org/wikipedia/commons/1/14/Independence_Day%2C_1940_Promotion.ogv";
          
-               dur="5s"                
+               dur="1s"                
        />      
-       
+               
        <video 
src="http://upload.wikimedia.org/wikipedia/commons/1/14/Independence_Day%2C_1940_Promotion.ogv";
        transIn="fromBlack"                                     
                dur="2s"                
@@ -34,17 +34,16 @@
        />
        
        <video 
src="http://upload.wikimedia.org/wikipedia/commons/1/14/Independence_Day%2C_1940_Promotion.ogv";
                          
-               dur="5"
+               dur="2"
                clipBegin = "18"
        />      
        
-    <!-- where does quality come from 
        <video 
src="http://upload.wikimedia.org/wikipedia/commons/8/8b/Yochai_Benkler_-_On_Autonomy%2C_Control_and_Cultural_Experience.ogg";
             
                transIn="fromBlack"
-               dur="27"
+               dur="10"
                clipBegin = "0:3:43"
-       />      
-       -->
+       />              
+       
     </seq>
     
   </body>

Modified: 
branches/MwEmbedStandAlone/modules/SmilPlayer/tests/VideoCrossFade.html
===================================================================
--- branches/MwEmbedStandAlone/modules/SmilPlayer/tests/VideoCrossFade.html     
2010-07-05 17:28:54 UTC (rev 69060)
+++ branches/MwEmbedStandAlone/modules/SmilPlayer/tests/VideoCrossFade.html     
2010-07-05 18:35:54 UTC (rev 69061)
@@ -18,24 +18,18 @@
                                $j('#videoCrossfade').get(0).load();
                                return false;
                        });
-                       $j('#renderToFile').click(function(){                   
        
-                               $j(this).empty().unbind().after(
-                                       $j('<span />').text( ' ' ),
-                                       $j('<span />').attr('id', 
'targetFoggStatus' )
-                               );
-                               
+                       $j('#renderToFile').click(function(){                   
                                                                        
                                // xxx for local rendering 'AddMedia.firefogg' 
is overkill 
-                               // but will have to clean up modularity later
-                               
+                               // but will have to clean up modularity later   
                        
                                mw.load( 
['AddMedia.firefogg','mw.FirefoggRender'],function(){
-                                       var foggRender = 
$j('#videoCrossfade').firefoggRender({
+                                       var foggRender = 
$j('#videoClipBegin').firefoggRender({
                                                'statusTarget': 
'#targetFoggStatus'
                                        });
-                                       foggRender.doRender();
-
-                                       $j('#renderToFile').text('Stop 
Render').click(function(){
-                                               foggRender.stopRender();        
                                        
-                                       }); 
+                                       if( foggRender.doRender() ){
+                                               $j('#renderToFile').text('Stop 
Render').click(function(){
+                                                       
foggRender.stopRender();                                                
+                                               }); 
+                                       }
                                })
                                return false;
                        });
@@ -52,7 +46,7 @@
 <p></p>seek to <input id="seekInputTime" size="4" value = "6"></input><span 
id="seekInProgress" style="display: none"> Seeking<blink>...</blink></span>
 <br/>
 <a id="startBuffer" href="#">Start buffering</a> <br>
-<a id="renderToFile" href="#">Render to file</a>
+<a id="renderToFile" href="#">Render to file</a> <span 
id="targetFoggStatus"></span>
 </td>
 <td valign="top">
 Sample playlist code: 



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

Reply via email to