[SCM] libav/experimental: Attempt seeking to write EBML master sizes even if streamed
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 17:02:50 UTC 2013
The following commit has been merged in the experimental branch:
commit 2529bb3019a027c39d6ba7de3e7d4c7a49bdf384
Author: David Conrad <lessen42 at gmail.com>
Date: Thu Mar 4 08:53:00 2010 +0000
Attempt seeking to write EBML master sizes even if streamed
Most EBML masters are much smaller than IO_BUFFER_SIZE and thus the size
can be updated. This makes parsing the resulting files easier.
Originally committed as revision 22197 to svn://svn.ffmpeg.org/ffmpeg/trunk
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index ad41893..0f74ad3 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -218,11 +218,8 @@ static void end_ebml_master(ByteIOContext *pb, ebml_master master)
{
int64_t pos = url_ftell(pb);
- // leave the unknown size for masters when streaming
- if (url_is_streamed(pb))
+ if (url_fseek(pb, master.pos - master.sizebytes, SEEK_SET) < 0)
return;
-
- url_fseek(pb, master.pos - master.sizebytes, SEEK_SET);
put_ebml_num(pb, pos - master.pos, master.sizebytes);
url_fseek(pb, pos, SEEK_SET);
}
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list