On 5/20/2020 11:36 PM, Andreas Rheinhardt wrote: > 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. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@gmail.com> > --- > libavformat/ttaenc.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/libavformat/ttaenc.c b/libavformat/ttaenc.c > index 4860aab4c1..becd3e7153 100644 > --- a/libavformat/ttaenc.c > +++ b/libavformat/ttaenc.c > @@ -145,10 +145,8 @@ static int tta_write_trailer(AVFormatContext *s) > /* Write Seek table */ > crc = ffio_get_checksum(tta->seek_table) ^ UINT32_MAX; > avio_wl32(tta->seek_table, crc); > - size = avio_close_dyn_buf(tta->seek_table, &ptr); > + size = avio_get_dyn_buf(tta->seek_table, &ptr); > avio_write(s->pb, ptr, size); > - tta->seek_table = NULL; > - av_free(ptr); > > /* Write audio data */ > tta_queue_flush(s);
LGTM _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".