Browse Source

Don't seek when streamed

Originally committed as revision 10383 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
David Conrad 18 years ago
parent
commit
ac9e1177b3
1 changed files with 6 additions and 0 deletions
  1. +6
    -0
      libavformat/matroskaenc.c

+ 6
- 0
libavformat/matroskaenc.c View File

@@ -215,6 +215,10 @@ static void end_ebml_master(ByteIOContext *pb, ebml_master master)
{
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(AVFormatContext *s)

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(AVFormatContext *s)
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);


Loading…
Cancel
Save