James Almer: > 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
Applied, thanks. - Andreas _______________________________________________ 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".