[Ffmpeg-cvslog] r8359 - trunk/libavformat/matroska.c

aurel subversion
Mon Mar 12 22:58:29 CET 2007


Author: aurel
Date: Mon Mar 12 22:58:29 2007
New Revision: 8359

Modified:
   trunk/libavformat/matroska.c

Log:
move timecode calculation out of laces loop

Modified: trunk/libavformat/matroska.c
==============================================================================
--- trunk/libavformat/matroska.c	(original)
+++ trunk/libavformat/matroska.c	Mon Mar 12 22:58:29 2007
@@ -2552,18 +2552,18 @@ matroska_parse_block(MatroskaDemuxContex
 
     if (res == 0) {
         int real_v = matroska->tracks[track]->flags & MATROSKA_TRACK_REAL_V;
+        uint64_t timecode = AV_NOPTS_VALUE;
+
+        if (cluster_time != (uint64_t)-1 && cluster_time + block_time >= 0)
+            timecode = cluster_time + block_time;
+
         for (n = 0; n < laces; n++) {
-            uint64_t timecode = AV_NOPTS_VALUE;
             int slice, slices = 1;
 
             if (real_v) {
                 slices = *data++ + 1;
                 lace_size[n]--;
             }
-            if (cluster_time != (uint64_t)-1 && n == 0) {
-                if (cluster_time + block_time >= 0)
-                    timecode = cluster_time + block_time;
-            }
             /* FIXME: duration */
 
             for (slice=0; slice<slices; slice++) {
@@ -2595,6 +2595,8 @@ matroska_parse_block(MatroskaDemuxContex
                     matroska_queue_packet_reordered(matroska, pkt, is_bframe);
                 else
                     matroska_queue_packet(matroska, pkt);
+
+                timecode = AV_NOPTS_VALUE;
             }
             data += lace_size[n];
         }




More information about the ffmpeg-cvslog mailing list