Paladox has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/312709

Change subject: Update ogv.js to 1.2.1
......................................................................

Update ogv.js to 1.2.1

This includes a fix for IE10.

Change-Id: Ie31b4ba630f3309865cb87ffb15a17e1fd330cac
---
M MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv.js
1 file changed, 17 insertions(+), 43 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/TimedMediaHandler 
refs/changes/09/312709/3

diff --git a/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv.js 
b/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv.js
index 1fc249b..28c56c8 100644
--- a/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv.js
+++ b/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv.js
@@ -64,7 +64,7 @@
                OGVLoader = __webpack_require__(3),
                OGVMediaType = __webpack_require__(7),
                OGVPlayer = __webpack_require__(8),
-               OGVVersion = ("1.2.0-20160919145031-b4b9f58");
+               OGVVersion = ("1.2.0-20160924223217-8e8a0db");
 
        // Version 1.0's web-facing and test-facing interfaces
        if (window) {
@@ -287,7 +287,7 @@
 /* 3 */
 /***/ function(module, exports, __webpack_require__) {
 
-       var OGVVersion = ("1.2.0-20160919145031-b4b9f58");
+       var OGVVersion = ("1.2.0-20160924223217-8e8a0db");
 
        (function() {
                var global = this;
@@ -2014,12 +2014,9 @@
                                                                
frameEndTimestamp = frame.frameEndTimestamp;
                                                                
currentVideoCpuTime = frame.videoCpuTime;
 
-                                                               var dupe = 
frame.yCbCrBuffer.duplicate;
-                                                               if (!dupe) {
-                                                                       
drawingTime += time(function() {
-                                                                               
frameSink.drawFrame(frame.yCbCrBuffer);
-                                                                       });
-                                                               }
+                                                               drawingTime += 
time(function() {
+                                                                       
frameSink.drawFrame(frame.yCbCrBuffer);
+                                                               });
 
                                                                
framesProcessed++;
                                                                framesPlayed++;
@@ -2474,7 +2471,10 @@
                        set: function setSrc(val) {
                                self.setAttribute('src', val);
                                loading = false; // just in case?
-                               self.load();
+                               stopVideo();
+                               if (self.preload !== 'none') {
+                                       self.load();
+                               }
                        }
                });
 
@@ -2810,14 +2810,13 @@
                });
                /**
                 * @property preload {string}
-                * @todo implement
                 */
                Object.defineProperty(self, "preload", {
                        get: function getPreload() {
-                               return 'auto';
+                               return self.getAttribute('preload') || '';
                        },
                        set: function setPreload(val) {
-                               // ignore
+                               self.setAttribute('preload', val);
                        }
                });
 
@@ -4025,6 +4024,8 @@
                        seekPosition = options.seekPosition || 0,
                        bufferPosition = seekPosition,
                        chunkSize = options.chunkSize || 1024 * 1024, // 
read/buffer up to a megabyte at a time
+                       userAgent = navigator ? navigator.userAgent : '',
+                       useMSStream = options.useMSStream || 
!!userAgent.match(/MSIE 10\./),
                        waitingForInput = false,
                        doneBuffering = false,
                        bytesTotal = 0,
@@ -4453,7 +4454,7 @@
                                }
                        };
 
-               } else if (options.useMSStream && 
internal.tryMethod('ms-stream')) {
+               } else if (useMSStream && internal.tryMethod('ms-stream')) {
                        // IE 10 supports returning a Stream from XHR.
                        // This seems unreliable in practice as the connections 
tend to die
                        // unexpectedly; recommend using the chunking even if 
it's primitive.
@@ -6389,7 +6390,7 @@
        var OGVWrapperCodec = (function(options) {
                options = options || {};
                var self = this,
-                       suffix = '?version=' + 
encodeURIComponent(("1.2.0-20160919145031-b4b9f58")),
+                       suffix = '?version=' + 
encodeURIComponent(("1.2.0-20160924223217-8e8a0db")),
                        base = (typeof options.base === 'string') ? 
(options.base + '/') : '',
                        type = (typeof options.type === 'string') ? 
options.type : 'video/ogg',
                        processing = false,
@@ -6738,41 +6739,14 @@
                                timestamp = self.frameTimestamp,
                                keyframeTimestamp = self.keyframeTimestamp;
                        demuxer.dequeueVideoPacket(function(packet) {
-                               function finish(ok) {
+                               videoDecoder.processFrame(packet, function(ok) {
                                        // hack
                                        if (videoDecoder.frameBuffer) {
                                                
videoDecoder.frameBuffer.timestamp = timestamp;
                                                
videoDecoder.frameBuffer.keyframeTimestamp = keyframeTimestamp;
                                        }
                                        cb(ok);
-                               }
-                               if (packet.byteLength === 0) {
-                                       //
-                                       // Zero-byte packets in Theora mean 
dupe frames.
-                                       //
-                                       // Going through the decoder worker is 
expensive in Edge
-                                       // for pathological cases such as "1000 
fps" files created
-                                       // in some sort of 
super-mutant-creating transcoding accident.
-                                       //
-                                       // Skip the worker and just return a 
dupe frame immediately.
-                                       //
-                                       var lastFrame = 
videoDecoder.frameBuffer;
-                                       if (lastFrame) {
-                                               var nextFrame = {};
-                                               for (var key in lastFrame) {
-                                                       if 
(lastFrame.hasOwnProperty(key)) {
-                                                               nextFrame[key] 
= lastFrame[key];
-                                                       }
-                                               }
-                                               nextFrame.duplicate = true;
-                                               videoDecoder.frameBuffer = 
nextFrame;
-                                               finish(true);
-                                       } else {
-                                               finish(false);
-                                       }
-                               } else {
-                                       videoDecoder.processFrame(packet, 
finish);
-                               }
+                               });
                        });
                };
 

-- 
To view, visit https://gerrit.wikimedia.org/r/312709
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie31b4ba630f3309865cb87ffb15a17e1fd330cac
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/TimedMediaHandler
Gerrit-Branch: master
Gerrit-Owner: Paladox <[email protected]>

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

Reply via email to