]> git.vomp.tv Git - vompclient.git/commitdiff
Fix pause handling
authorMarten Richter <marten.richter@freenet.de>
Sat, 1 Sep 2012 07:43:15 +0000 (09:43 +0200)
committerMarten Richter <marten.richter@freenet.de>
Sat, 1 Sep 2012 07:43:15 +0000 (09:43 +0200)
videovpeogl.cc

index b56526619855d5d2f82df8aab7cfe2c307cd544a..294bc3abb7061599781c108bdcf4a1f59439f53f 100644 (file)
@@ -2747,9 +2747,13 @@ UINT VideoVPEOGL::DeliverMediaPacketOMX(MediaPacket packet,
 
 
        if (!omx_running) return 0; // if we are not runnig do not do this
+       if (paused) return 0; //Block if we pause
 
-       if (packet.synched && packet.presentation_time<0) {
-               Log::getInstance()->log("Video", Log::DEBUG, "DeliverMediaPacketOMX Preroll %lld", packet.presentation_time);
+       long long current_media_time=GetCurrentSystemTime()+playbacktimeoffset;
+       if (packet.synched &&
+                       (packet.presentation_time<0 || // preroll skip frames
+                       (packet.presentation_time-1000000LL)>(current_media_time))) { // we are late skip
+               Log::getInstance()->log("Video", Log::DEBUG, "DeliverMediaPacketOMX Preroll or too late %lld %lld", packet.presentation_time,current_media_time);
                *samplepos=packet.length;
                return packet.length;
        }