aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qt-faststart.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2019-12-30 15:59:02 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-03-30 07:56:38 +0200
commit477275795865f074e60635d813a7b765284ca948 (patch)
tree464a6b768dd7a25863541b8d97cb67408ada2f7c /tools/qt-faststart.c
parent635ca9aa012c1e4059789b22381f26b2c96216d2 (diff)
downloadffmpeg-477275795865f074e60635d813a7b765284ca948.tar.gz
avformat/matroskaenc: Write level 1 elements in one go
Up until now, writing level 1 elements proceeded as follows: First, the element id was written to the ordinary output AVIOContext and a dynamic buffer was opened for the content of the level 1 element in start_ebml_master_crc32(). Then this buffer was actually used and after it was closed (in end_ebml_master_crc32()), the size field corresponding to the buffer's size was written, after which the actual data was written. This commit changes this: Nothing is written to the main AVIOContext any more in start_ebml_master_crc32(). end_ebml_master_crc32() now writes both the id, the length field as well as the data. This is benefical for streaming, because a client that receives just a Cluster ID and nothing more might infer that this is EOF; in certain usecases there is also the danger of a client receiving the Cluster without the actual Cluster ID at the beginning. Addresses #8578. (cherry picked from commit d9c21ec) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'tools/qt-faststart.c')
0 files changed, 0 insertions, 0 deletions