Index: trunk/extensions/MetavidWiki/includes/MV_GlobalFunctions.php |
— | — | @@ -106,7 +106,7 @@ |
107 | 107 | |
108 | 108 | $wgJSAutoloadClasses['mv_allpages'] = $mv_jspath . 'mv_allpages.js'; |
109 | 109 | $wgJSAutoloadClasses['mv_search'] = $mv_jspath . 'mv_search.js'; |
110 | | - $wgJSAutoloadClasses['mv_stream'] = $mv_jspath . 'mv_stream.js'; |
| 110 | + $wgJSAutoloadClasses['mv_stream'] = $mv_jspath . 'mv_stream.js'; |
111 | 111 | |
112 | 112 | //$wgJSAutoloadClasses[''] |
113 | 113 | $wgJSAutoloadClasses['j.ui.mouse'] = $mvjsp . 'jquery/jquery.ui-1.5.2/ui/ui.core.js'; |
— | — | @@ -117,7 +117,9 @@ |
118 | 118 | $wgJSAutoloadClasses['j.contextMenu'] = $mvjsp . 'jquery/plugins/jquery.contextMenu.js'; |
119 | 119 | $wgJSAutoloadClasses['j.fn.autocomplete'] = $mvjsp . 'jquery/plugins/jquery.autocomplete.js'; |
120 | 120 | $wgJSAutoloadClasses['j.fn.hoverIntent'] = $mvjsp . 'jquery/plugins/jquery.hoverIntent.js'; |
121 | | - $wgJSAutoloadClasses['j.Jcrop'] = $mvjsp . 'jquery/plugins/Jcrop/js/jquery.Jcrop.js'; |
| 121 | + $wgJSAutoloadClasses['j.Jcrop'] = $mvjsp . 'jquery/plugins/Jcrop/js/jquery.Jcrop.js'; |
| 122 | + $wgJSAutoloadClasses['Date.fromString'] = $mvjsp . 'jquery/plugins/date.js'; |
| 123 | + $wgJSAutoloadClasses['j.fn.datePicker'] = $mvjsp . 'jquery/plugins/jquery.datePicker.js'; |
122 | 124 | |
123 | 125 | //libAddMedia: |
124 | 126 | $wgJSAutoloadClasses['mvFirefogg'] = $mvjsp . 'libAddMedia/mvFirefogg.js'; |
— | — | @@ -128,6 +130,7 @@ |
129 | 131 | $wgJSAutoloadClasses['mediaWikiSearch'] = $mvjsp . 'libAddMedia/searchLibs/mediaWikiSearch.js'; |
130 | 132 | $wgJSAutoloadClasses['metavidSearch'] = $mvjsp . 'libAddMedia/searchLibs/metavidSearch.js'; |
131 | 133 | $wgJSAutoloadClasses['archiveOrgSearch'] = $mvjsp . 'libAddMedia/searchLibs/archiveOrgSearch.js'; |
| 134 | + $wgJSAutoloadClasses['baseRemoteSearch'] = $mvjsp . 'libAddMedia/searchLibs/baseRemoteSearch.js'; |
132 | 135 | |
133 | 136 | //libClipEdit: |
134 | 137 | $wgJSAutoloadClasses['mvClipEdit'] = $mvjsp . 'libClipEdit/mvClipEdit.js'; |
— | — | @@ -344,7 +347,12 @@ |
345 | 348 | * enables linkback and autocomplete for search |
346 | 349 | */ |
347 | 350 | function mvfAutoAllPageHeader() { |
| 351 | +<<<<<<< .mine |
| 352 | + global $mvgScriptPath, $wgJsMimeType, $wgOut, $mvExtraHeader, $wgTitle, $mvgJSDebug, $wgEnableScriptLoader, $wgRequest, $wgScriptPath; |
| 353 | + |
| 354 | +======= |
348 | 355 | global $mvgScriptPath, $wgJsMimeType, $wgOut, $mvExtraHeader, $mvgJSDebug, $wgEnableScriptLoader, $wgRequest;; |
| 356 | +>>>>>>> .r49450 |
349 | 357 | $mvgScriptPath = htmlspecialchars( $mvgScriptPath ); |
350 | 358 | $wgJsMimeType = htmlspecialchars( $wgJsMimeType ) ; |
351 | 359 | //set the unquie request value |
— | — | @@ -360,7 +368,7 @@ |
361 | 369 | $wgRequest->getVal('debug')=='true' || |
362 | 370 | $wgRequest->getVal('debug')=='1' ) |
363 | 371 | ? '&debug=true' : ''; |
364 | | - $wgOut->addScript( "<script type=\"{$wgJsMimeType}\" src=\"{$mvgScriptPath}/skins/mv_embed/mvwScriptLoader.php?" . |
| 372 | + $wgOut->addScript( "<script type=\"{$wgJsMimeType}\" src=\"{$wgScriptPath}/mvwScriptLoader.php?" . |
365 | 373 | "class=window.jQuery,j.fn.autocomplete,j.fn.hoverIntent,mv_embed,mv_allpages,mv_search" . |
366 | 374 | '&urid=' .$unique_req_param . $debug_param . "\"></script>" |
367 | 375 | ); |
Index: trunk/extensions/MetavidWiki/skins/mv_embed/example_usage/testing_page.php |
— | — | @@ -17,7 +17,7 @@ |
18 | 18 | <h3>testing embed</h3> |
19 | 19 | <table border="1" cellpadding="6" width="600"> |
20 | 20 | <tr> |
21 | | - <td valign="top"><video id="vogg" src="http://<?= $_SERVER['SERVER_NAME']?>/test.ogg?t=0:0:0/0:6:14"></video></td> |
| 21 | + <td valign="top"><video id="vogg" src="http://tinyvid.tv/file/27wsh8kw4vmwi.ogg"></video></td> |
22 | 22 | <td valign="top"><b>Test embed</b><br /> |
23 | 23 | </td> |
24 | 24 | </tr> |
Index: trunk/extensions/MetavidWiki/skins/mv_embed/libAddMedia/searchLibs/baseRemoteSearch.js |
— | — | @@ -195,4 +195,4 @@ |
196 | 196 | updateDataForImport:function( rObj ){ |
197 | 197 | return rObj; |
198 | 198 | } |
199 | | -} |
\ No newline at end of file |
| 199 | +} |
Index: trunk/extensions/MetavidWiki/skins/mv_embed/libAddMedia/remoteSearchDriver.js |
— | — | @@ -636,7 +636,7 @@ |
637 | 637 | //do an upload tab if enabled: |
638 | 638 | if( this.enable_uploads ){ |
639 | 639 | var class_attr = ( this.disp_item =='upload' ) ? 'class="rsd_selected"':''; |
640 | | - o+='<div id="rsd_tab_upload" ' + class_attr + ' >'+gM('upload');+'</li>'; |
| 640 | + o+='<div id="rsd_tab_upload" ' + class_attr + ' >'+gM('upload');+'</div>'; |
641 | 641 | } |
642 | 642 | //o+='</ul>'; |
643 | 643 | o+='</div>'; |
— | — | @@ -648,6 +648,15 @@ |
649 | 649 | $j('.rsd_cp_tab').click(function(){ |
650 | 650 | _this.selectTab( $j(this).attr('id').replace(/rsd_tab_/, '') ); |
651 | 651 | }); |
| 652 | + |
| 653 | + //setup key binding |
| 654 | + $j().keyup(function(e){ |
| 655 | + js_log('keyup on : ' +e.which ); |
| 656 | + //if escape pressed clear the interface: |
| 657 | + if(e.which == 27) |
| 658 | + _this.closeAll(); |
| 659 | + }); |
| 660 | + |
652 | 661 | }, |
653 | 662 | //resource title |
654 | 663 | getResourceFromTitle:function( rTitle , callback){ |
Index: trunk/extensions/MetavidWiki/skins/mv_embed/libSequencer/mvPlayList.js |
— | — | @@ -602,7 +602,7 @@ |
603 | 603 | js_log('basic play'); |
604 | 604 | //play cur_clip |
605 | 605 | this.cur_clip.embed.play(); |
606 | | - } |
| 606 | + } |
607 | 607 | //start up the playlist monitor |
608 | 608 | this.monitor(); |
609 | 609 | }, |
Index: trunk/extensions/MetavidWiki/skins/mv_embed/libSequencer/mvSequencer.js |
— | — | @@ -528,6 +528,7 @@ |
529 | 529 | item_containers+='<div class="seq_control_container" id="welcome_ic">' + gM('mv_welcome_to_sequencer') + '</div>'; |
530 | 530 | |
531 | 531 | $j('#'+this.sequence_tools_id).html( menu_html + item_containers ); |
| 532 | + |
532 | 533 | //add binding for menu |
533 | 534 | $j('#seq_menu li').click(function(){ |
534 | 535 | $j('#seq_menu li').removeClass('mv_selected_item'); |
— | — | @@ -575,9 +576,8 @@ |
576 | 577 | this_seq.key_ctrl_down = false; |
577 | 578 | |
578 | 579 | //backspace or delete key while not focused on a text area: |
579 | | - if( (e.which == 8 || e.which == 46) && !this_seq.inputFocus){ |
580 | | - this_seq.removeSelectedClips(); |
581 | | - } |
| 580 | + if( (e.which == 8 || e.which == 46) && !this_seq.inputFocus) |
| 581 | + this_seq.removeSelectedClips(); |
582 | 582 | }); |
583 | 583 | }, |
584 | 584 | //check all nodes for focus |
Index: trunk/extensions/MetavidWiki/skins/mv_embed/mv_embed.js |
— | — | @@ -21,7 +21,7 @@ |
22 | 22 | MV_DO_INIT=false; |
23 | 23 | } |
24 | 24 | //used to grab fresh copies of scripts. (should be changed on commit) |
25 | | -var MV_EMBED_VERSION = '1.0r13'; |
| 25 | +var MV_EMBED_VERSION = '1.0r14'; |
26 | 26 | |
27 | 27 | //the name of the player skin (default is mvpcf) |
28 | 28 | var mv_skin_name = 'mvpcf'; |
— | — | @@ -36,9 +36,11 @@ |
37 | 37 | //the default height/width of the video (if no style or width attribute provided) |
38 | 38 | var mv_default_video_size = '400x300'; |
39 | 39 | |
40 | | -var global_player_list = new Array(); |
| 40 | +var mediaWiki_mvEmbed_path = 'extensions/MetavidWiki/skins/mv_embed/'; |
| 41 | + |
| 42 | +var global_player_list = new Array(); //the global player list per page |
41 | 43 | var global_req_cb = new Array(); //the global request callback array |
42 | | -var _global = this; |
| 44 | +var _global = this; //global obj |
43 | 45 | var mv_init_done=false; |
44 | 46 | var global_cb_count =0; |
45 | 47 | |
— | — | @@ -165,8 +167,8 @@ |
166 | 168 | //only call load base libs once |
167 | 169 | mvBaseLoader.calledloadBaseLibs=true; |
168 | 170 | //issue a style sheet request can come in whenever: |
169 | | - if(!styleSheetPresent(mv_embed_path+'skins/'+mv_skin_name+'/styles.css')) |
170 | | - loadExternalCss(mv_embed_path+'skins/'+mv_skin_name+'/styles.css'); |
| 171 | + if(!styleSheetPresent( mv_embed_path + 'skins/'+mv_skin_name+'/styles.css')) |
| 172 | + loadExternalCss( mv_embed_path + 'skins/'+mv_skin_name+'/styles.css'); |
171 | 173 | |
172 | 174 | //two loading stages, first get jQuery |
173 | 175 | var _this = this; |
— | — | @@ -235,7 +237,8 @@ |
236 | 238 | return ; |
237 | 239 | } |
238 | 240 | //check if we should use the script loader to combine all the requests into one: |
239 | | - if( usingScriptLoaderCheck() ){ |
| 241 | + var slpath = getScriptLoaderPath(); |
| 242 | + if( slpath ){ |
240 | 243 | var class_set = ''; |
241 | 244 | var last_class = ''; |
242 | 245 | var coma = ''; |
— | — | @@ -248,7 +251,7 @@ |
249 | 252 | } |
250 | 253 | } |
251 | 254 | var dbug_attr = (parseUri( getMvEmbedURL() ).queryKey['debug'])?'&debug=true':''; |
252 | | - this.libs[ last_class ] = 'mvwScriptLoader.php?class=' + class_set + |
| 255 | + this.libs[ last_class ] = slpath + '?class=' + class_set + |
253 | 256 | '&urid=' + getMvUniqueReqId() + dbug_attr; |
254 | 257 | |
255 | 258 | }else{ |
— | — | @@ -256,7 +259,7 @@ |
257 | 260 | for(var i in libs){ //for in loop oky on object |
258 | 261 | // do a direct load of the file (pass along unique id from request or mv_embed Version ) |
259 | 262 | var qmark = (libs[i].indexOf('?')!==true)?'?':'&'; |
260 | | - this.libs[i]=libs[i] + qmark + 'urid='+ getMvUniqueReqId(); |
| 263 | + this.libs[i] = getMvEmbedPath() + libs[i] + qmark + 'urid='+ getMvUniqueReqId(); |
261 | 264 | } |
262 | 265 | } |
263 | 266 | } |
— | — | @@ -300,7 +303,7 @@ |
301 | 304 | var i=null; |
302 | 305 | for(var i in this.libs){ //for in loop oky on object |
303 | 306 | if( ! this.checkObjPath( i ) ){ |
304 | | - if(!this.libreq[i]) loadExternalJs( getMvEmbedPath() + this.libs[i] ); |
| 307 | + if(!this.libreq[i]) loadExternalJs( this.libs[i] ); |
305 | 308 | this.libreq[i]=1; |
306 | 309 | loading=1; |
307 | 310 | } |
— | — | @@ -1294,9 +1297,15 @@ |
1295 | 1298 | e.rel = 'stylesheet'; |
1296 | 1299 | document.getElementsByTagName("head")[0].appendChild(e); |
1297 | 1300 | } |
1298 | | -function usingScriptLoaderCheck(){ |
1299 | | - return ( getMvEmbedURL().indexOf('mvwScriptLoader.php') != -1 )?true:false; |
1300 | | - |
| 1301 | +function getScriptLoaderPath(){ |
| 1302 | + var eurl = getMvEmbedURL(); |
| 1303 | + var sln = 'mvwScriptLoader.php'; |
| 1304 | + if( eurl.indexOf(sln) != -1 ){ |
| 1305 | + //get just the script loader part of the url: |
| 1306 | + return eurl.substr(0, (eurl.indexOf(sln) + sln.length)); |
| 1307 | + }else{ |
| 1308 | + return false; |
| 1309 | + } |
1301 | 1310 | } |
1302 | 1311 | function getMvEmbedURL(){ |
1303 | 1312 | if( _global['mv_embed_url'] ) |
— | — | @@ -1343,7 +1352,8 @@ |
1344 | 1353 | if( mv_embed_url.indexOf('mv_embed.js') !== -1 ){ |
1345 | 1354 | mv_embed_path = mv_embed_url.substr(0, mv_embed_url.indexOf('mv_embed.js')); |
1346 | 1355 | }else{ |
1347 | | - mv_embed_path = mv_embed_url.substr(0, mv_embed_url.indexOf('mvwScriptLoader.php')); |
| 1356 | + //script load is in the root of mediaWiki so include the default mv_embed extention path (if using the script loader) |
| 1357 | + mv_embed_path = mv_embed_url.substr(0, mv_embed_url.indexOf('mvwScriptLoader.php')) + mediaWiki_mvEmbed_path ; |
1348 | 1358 | } |
1349 | 1359 | //absolute the url (if relative) (if we don't have mv_embed path) |
1350 | 1360 | if( mv_embed_path.indexOf('://') == -1){ |
Index: trunk/extensions/MetavidWiki/skins/mv_embed/libEmbedObj/mv_nativeEmbed.js |
— | — | @@ -13,13 +13,12 @@ |
14 | 14 | 'overlays':true, |
15 | 15 | 'playlist_swap_loader':true //if the object supports playlist functions |
16 | 16 | }, |
17 | | - getEmbedHTML : function (){ |
| 17 | + getEmbedHTML : function (){ |
| 18 | + var id = (this.pc!=null)?this.pc.pp.id:this.id; |
18 | 19 | var embed_code = this.getEmbedObj(); |
19 | | - js_log('embed code: ' + embed_code); |
20 | | - js_log("DURATION: "+ this.getDuration() ); |
21 | | - return this.wrapEmebedContainer( embed_code); |
22 | | - |
23 | | - setTimeout('$j(\'#'+this.id+'\').get(0).postEmbedJS()', 150); |
| 20 | + js_log("embed code: " + embed_code) |
| 21 | + setTimeout('$j(\'#' + id + '\').get(0).postEmbedJS()', 150); |
| 22 | + return this.wrapEmebedContainer( embed_code); |
24 | 23 | }, |
25 | 24 | getEmbedObj:function(){ |
26 | 25 | //we want to let mv_embed handle the controls so notice the absence of control attribute |
— | — | @@ -27,10 +26,11 @@ |
28 | 27 | //http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2008-August/016159.html |
29 | 28 | js_log("native play url:" + this.getURI( this.seek_time_sec )); |
30 | 29 | return '<video ' + |
31 | | - 'id="'+this.pid + '" ' + |
32 | | - 'style="width:'+this.width+'px;height:'+this.height+'px;" ' + |
33 | | - 'width="'+this.width+'" height="'+this.height+'" '+ |
34 | | - 'src="' + this.media_element.selected_source.getURI( this.seek_time_sec ) + '" ' + |
| 30 | + 'id="' + this.pid + '" ' + |
| 31 | + 'style="width:' + this.width+'px;height:' + this.height + 'px;" ' + |
| 32 | + 'width="' + this.width + '" height="'+this.height+'" '+ |
| 33 | + 'src="' + this.media_element.selected_source.getURI( this.seek_time_sec ) + '" ' + |
| 34 | + 'autoplay="true" '+ |
35 | 35 | 'oncanplaythrough="$j(\'#'+this.id+'\').get(0).oncanplaythrough();return false;" ' + |
36 | 36 | 'onloadedmetadata="$j(\'#'+this.id+'\').get(0).onloadedmetadata();return false;" ' + |
37 | 37 | 'loadedmetadata="$j(\'#'+this.id+'\').get(0).onloadedmetadata();return false;" ' + |
— | — | @@ -39,7 +39,8 @@ |
40 | 40 | '</video>'; |
41 | 41 | }, |
42 | 42 | //@@todo : loading progress |
43 | | - postEmbedJS:function(){ |
| 43 | + postEmbedJS:function(){ |
| 44 | + js_log("f:native:postEmbedJS:"); |
44 | 45 | this.getVID(); |
45 | 46 | if(typeof this.vid != 'undefined'){ |
46 | 47 | js_log("GOT video object sending PLAY()"); |
— | — | @@ -50,17 +51,21 @@ |
51 | 52 | js_log('could not grab vid obj trying again:' + typeof this.vid); |
52 | 53 | this.grab_try_count++; |
53 | 54 | if( this.grab_count == 10 ){ |
54 | | - js_log(' could not get vid object after 10 tries re-run: getEmbedObj()' ) ; |
55 | | - //reload the dom: |
56 | | - this.grab_try_count=0; |
57 | | - this.getEmbedObj(); |
| 55 | + js_log(' could not get vid object after 10 tries re-run: getEmbedObj()' ) ; |
58 | 56 | }else{ |
59 | 57 | setTimeout('$j(\'#'+this.id+'\').get(0).postEmbedJS()',100); |
60 | 58 | } |
61 | | - } |
| 59 | + } |
62 | 60 | }, |
| 61 | + doSeek:function(perc){ |
| 62 | + js_log('native:seek:' + this.supportsURLTimeEncoding() + ' dur: ' + this.vid.duration); |
| 63 | + if( this.supportsURLTimeEncoding() ){ |
| 64 | + this.parent_doSeek(perc); |
| 65 | + }else if( this.vid.duration ){ |
| 66 | + this.vid.currentTime = perc * this.vid.duration; |
| 67 | + } |
| 68 | + }, |
63 | 69 | monitor : function(){ |
64 | | - //js_log('native:monitor'); |
65 | 70 | this.getVID(); //make shure we have .vid obj |
66 | 71 | if(!this.vid){ |
67 | 72 | js_log('could not find video embed: '+this.id + ' stop monitor'); |
— | — | @@ -86,10 +91,7 @@ |
87 | 92 | * native callbacks for the video tag: |
88 | 93 | */ |
89 | 94 | oncanplaythrough : function(){ |
90 | | - this.getVID(); |
91 | | - //js_log("f:oncanplaythrough start playback"); |
92 | | - //start playback (we don't yet support pre-loading clips) |
93 | | - this.vid.play(); |
| 95 | + js_log('f:oncanplaythrough'); |
94 | 96 | }, |
95 | 97 | onloadedmetadata: function(){ |
96 | 98 | js_log('f:onloadedmetadata get duration: ' +this.vid.duration); |
— | — | @@ -99,8 +101,9 @@ |
100 | 102 | js_log('f:onloadedmetadata metadata ready'); |
101 | 103 | //set the clip duration |
102 | 104 | }, |
103 | | - onprogress: function(e){ |
104 | | - this.bufferedPercent = Math.round(e.loaded/e.total*100); |
| 105 | + onprogress: function(e){ |
| 106 | + this.bufferedPercent = e.loaded / e.total; |
| 107 | + //js_log("onprogress:" +e.loaded + ' / ' + (e.total) + ' = ' + this.bufferedPercent); |
105 | 108 | }, |
106 | 109 | onended:function(){ |
107 | 110 | //clip "ended" |
Index: trunk/extensions/MetavidWiki/skins/mv_embed/libEmbedObj/mv_baseEmbed.js |
— | — | @@ -277,13 +277,13 @@ |
278 | 278 | /** Title of the source. */ |
279 | 279 | title:null, |
280 | 280 | /** True if the source has been marked as the default. */ |
281 | | - marked_default:null, |
| 281 | + marked_default:false, |
282 | 282 | /** True if the source supports url specification of offset and duration */ |
283 | | - supports_url_time_encoding:null, |
| 283 | + serverSideSeeking:false, |
284 | 284 | /** Start offset of the requested segment */ |
285 | 285 | start_offset:null, |
286 | 286 | /** Duration of the requested segment (0 if not known) */ |
287 | | - duration:NaN, |
| 287 | + duration:0, |
288 | 288 | is_playable:null, |
289 | 289 | upddate_interval:null, |
290 | 290 | |
— | — | @@ -340,7 +340,7 @@ |
341 | 341 | //js_log("f:updateSrcTime: "+ start_ntp+'/'+ end_ntp + ' from org: ' + this.start_ntp+ '/'+this.end_ntp); |
342 | 342 | //js_log("pre uri:" + this.src); |
343 | 343 | //if we have time we can use: |
344 | | - if( this.supports_url_time_encoding ){ |
| 344 | + if( this.serverSideSeeking ){ |
345 | 345 | //make sure its a valid start time / end time (else set default) |
346 | 346 | if( !ntp2seconds(start_ntp) ) |
347 | 347 | start_ntp = this.start_ntp; |
— | — | @@ -383,8 +383,8 @@ |
384 | 384 | */ |
385 | 385 | getURI : function(seek_time_sec) |
386 | 386 | { |
387 | | - js_log("f:getURI: tf:" + this.timeFormat +' uri_enc:'+this.supports_url_time_encoding); |
388 | | - if( !seek_time_sec || !this.supports_url_time_encoding ){ |
| 387 | + js_log("f:getURI: tf:" + this.timeFormat +' uri_enc:'+this.serverSideSeeking); |
| 388 | + if( !seek_time_sec || !this.serverSideSeeking ){ |
389 | 389 | return this.src; |
390 | 390 | } |
391 | 391 | if( this.timeFormat == 'anx' ){ |
— | — | @@ -441,12 +441,12 @@ |
442 | 442 | this.src = mp4URL.protocol+'://'+mp4URL.authority + mp4URL.path + '?start=' + mp4URL.queryKey['start']; |
443 | 443 | } |
444 | 444 | } |
445 | | - this.supports_url_time_encoding = true; |
| 445 | + this.serverSideSeeking = true; |
446 | 446 | this.start_offset = ntp2seconds(this.start_ntp); |
447 | 447 | this.duration = ntp2seconds( this.end_ntp ) - this.start_offset; |
448 | 448 | } //time format |
449 | 449 | |
450 | | - if( !this.supports_url_time_encoding ){ |
| 450 | + if( !this.serverSideSeeking ){ |
451 | 451 | //else normal media request (can't predict the duration without the plugin reading it) |
452 | 452 | this.duration = null; |
453 | 453 | this.start_offset = 0; |
— | — | @@ -1340,7 +1340,7 @@ |
1341 | 1341 | //reset slider |
1342 | 1342 | this.setSliderValue(0); |
1343 | 1343 | //reset seek_offset: |
1344 | | - if(this.media_element.selected_source.supports_url_time_encoding) |
| 1344 | + if(this.media_element.selected_source.serverSideSeeking) |
1345 | 1345 | this.seek_time_sec=0; |
1346 | 1346 | else |
1347 | 1347 | this.seek_time_sec=ntp2seconds(start_ntp); |
— | — | @@ -1952,7 +1952,8 @@ |
1953 | 1953 | return this.media_element.selected_source.getURI( this.seek_time_sec ); |
1954 | 1954 | }, |
1955 | 1955 | supportsURLTimeEncoding: function(){ |
1956 | | - return this.media_element.selected_source.supports_url_time_encoding; |
| 1956 | + //do head request if on the same domain |
| 1957 | + return this.media_element.selected_source.serverSideSeeking; |
1957 | 1958 | }, |
1958 | 1959 | setSliderValue: function(perc, hide_progress){ |
1959 | 1960 | |
Index: trunk/extensions/MetavidWiki/skins/mv_embed/libEmbedObj/mv_htmlEmbed.js |
— | — | @@ -70,7 +70,7 @@ |
71 | 71 | library:"html" |
72 | 72 | }, |
73 | 73 | selected_source:{ |
74 | | - supports_url_time_encoding:true |
| 74 | + serverSideSeeking:false |
75 | 75 | }, |
76 | 76 | timedTextSources:function(){ |
77 | 77 | return false; |
Index: trunk/extensions/MetavidWiki/skins/mv_embed/libEmbedObj/mv_vlcEmbed.js |
— | — | @@ -23,7 +23,7 @@ |
24 | 24 | userSlide:false, |
25 | 25 | pejs_count:0, //post embed js count |
26 | 26 | |
27 | | - getEmbedHTML: function(){ |
| 27 | + getEmbedHTML: function(){ |
28 | 28 | //give VLC 150ms to initialize before we start playback |
29 | 29 | //@@todo should be able to do this as an ready event |
30 | 30 | this.pejs_count=0; |
— | — | @@ -31,9 +31,9 @@ |
32 | 32 | return this.getEmbedObj(); |
33 | 33 | }, |
34 | 34 | getEmbedObj:function(){ |
35 | | - return '<object classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" '+ |
| 35 | + var embed_code = '<object classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" '+ |
36 | 36 | 'codebase="http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab#Version=0,8,6,0" '+ |
37 | | - 'id="'+this.pid+'" events="True" height="'+this.height+'" width="'+this.width+'">'+ |
| 37 | + 'id="' + this.pid + '" events="True" height="'+this.height+'" width="'+this.width+'">'+ |
38 | 38 | '<param name="MRL" value="">'+ |
39 | 39 | '<param name="ShowDisplay" value="True">'+ |
40 | 40 | '<param name="AutoLoop" value="False">'+ |
— | — | @@ -41,8 +41,10 @@ |
42 | 42 | '<param name="Volume" value="50">'+ |
43 | 43 | '<param name="StartTime" value="0">'+ |
44 | 44 | '<embed pluginspage="http://www.videolan.org" type="application/x-vlc-plugin" '+ |
45 | | - 'progid="VideoLAN.VLCPlugin.2" name="'+this.pid+'" height="'+this.height+'" width="'+this.width+'">'+ |
| 45 | + 'progid="VideoLAN.VLCPlugin.2" name="' + this.pid + '" height="'+this.height+'" width="'+this.width+'">'+ |
46 | 46 | '</object>'; |
| 47 | + js_log('embed with: ' + embed_code); |
| 48 | + return embed_code; |
47 | 49 | }, |
48 | 50 | |
49 | 51 | /* |