[FFmpeg-devel] [PATCH v2] avformat/matroskaenc: Write level 1 elements in one go

Carl Eugen Hoyos ceffmpeg at gmail.com
Wed Mar 25 21:15:22 EET 2020


Am Mi., 25. März 2020 um 18:08 Uhr schrieb Andreas Rheinhardt
<andreas.rheinhardt at gmail.com>:
>
> Carl Eugen Hoyos:
> > Am Mi., 25. März 2020 um 05:45 Uhr schrieb Andreas Rheinhardt
> > <andreas.rheinhardt at gmail.com>:
> >>
> >> 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 implies that
> >> one can start a level 1 element in memory without outputting anything.
> >> This is done to enable to test whether enough space has been reserved
> >> for the Cues (if space has been reserved for them) before writing them.
> >> A large duration between outputting the header and outputting the rest
> >> could also break certain streaming usecases like the one from #8578
> >> (which this commit fixes).
> >>
> >> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> >> ---
> >> The commit message has been updated in light of ticket #8578; nothing
> >> else has changed.
> >
> > Please mention the ticket in the commit message.
> >
> It is already contained in the commit message.

Found it.

Sorry, Carl Eugen


More information about the ffmpeg-devel mailing list