]> git.sesse.net Git - ffmpeg/commit
avformat/ttaenc: Defer freeing dynamic buffer
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Wed, 20 May 2020 19:52:09 +0000 (21:52 +0200)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Thu, 21 May 2020 03:30:26 +0000 (05:30 +0200)
commitdbacecd347599aa421be94ad5e16521aa51f7014
treeda8c6973f3437e92d55dae697368277222c51b88
parent9f6b738896196ffb911f75719d00b63ebc7ea217
avformat/ttaenc: Defer freeing dynamic buffer

The TTA muxer writes a seektable in a dynamic buffer as it receives
packets and when writing the trailer, closes the dynamic buffer using
avio_close_dyn_buf(), writes the seektable and frees the buffer. But
the TTA muxer already has a deinit function which unconditionally
calls ffio_free_dyn_buf() on the dynamic buffer, so switching to
avio_get_dyn_buf() means that one can remove the code to free the
buffer; furthermore, it also might save an allocation if the seektable
is so small that it fits into the dynamic buffer's write buffer or if
adding the padding that avio_close_dyn_buf() adds necessitated
reallocating of the underlying buffer.

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavformat/ttaenc.c