[FFmpeg-cvslog] r10383 - trunk/libavformat/matroskaenc.c

conrad subversion
Wed Sep 5 02:26:01 CEST 2007


Author: conrad
Date: Wed Sep  5 02:26:00 2007
New Revision: 10383

Log:
Don't seek when streamed


Modified:
   trunk/libavformat/matroskaenc.c

Modified: trunk/libavformat/matroskaenc.c
==============================================================================
--- trunk/libavformat/matroskaenc.c	(original)
+++ trunk/libavformat/matroskaenc.c	Wed Sep  5 02:26:00 2007
@@ -215,6 +215,10 @@ static void end_ebml_master(ByteIOContex
 {
     offset_t pos = url_ftell(pb);
 
+    // leave the unknown size for masters when streaming
+    if (url_is_streamed(pb))
+        return;
+
     url_fseek(pb, master.pos - master.sizebytes, SEEK_SET);
     put_ebml_size(pb, pos - master.pos, master.sizebytes);
     url_fseek(pb, pos, SEEK_SET);
@@ -767,6 +771,7 @@ static int mkv_write_trailer(AVFormatCon
 
     end_ebml_master(pb, mkv->cluster);
 
+    if (!url_is_streamed(pb)) {
     cuespos = mkv_write_cues(pb, mkv->cues, s->nb_streams);
     second_seekhead = mkv_write_seekhead(pb, mkv->cluster_seekhead);
 
@@ -790,6 +795,7 @@ static int mkv_write_trailer(AVFormatCon
         put_ebml_binary(pb, MATROSKA_ID_SEGMENTUID, segment_uid, 16);
     }
     url_fseek(pb, currentpos, SEEK_SET);
+    }
 
     end_ebml_master(pb, mkv->segment);
     av_free(mkv->md5_ctx);




More information about the ffmpeg-cvslog mailing list