ffmpeg: fix leak when decoding audio frames
removing the memset in _DecodeSomeAudioFramesIntoEmptyDecodedDataBuffer fixes #18654 also free correctly resources in AVCodecDecoder destructor. Change-Id: I2d6de6b50ba6767f669eb765dad96d28d43100fb Reviewed-on: https://review.haiku-os.org/c/haiku/+/7108 Reviewed-by: Adrien Destugues <[email protected]> Tested-by: Commit checker robot <[email protected]>
This commit is contained in:
committed by
waddlesplash
parent
c7360f4b02
commit
1b8870852e
@@ -154,12 +154,12 @@ AVCodecDecoder::~AVCodecDecoder()
|
||||
free(fChunkBuffer);
|
||||
free(fDecodedData);
|
||||
|
||||
av_free(fPostProcessedDecodedPicture);
|
||||
av_free(fRawDecodedPicture);
|
||||
av_frame_free(&fPostProcessedDecodedPicture);
|
||||
av_frame_free(&fRawDecodedPicture);
|
||||
av_free(fRawDecodedAudio->opaque);
|
||||
av_free(fRawDecodedAudio);
|
||||
av_free(fCodecContext);
|
||||
av_free(fDecodedDataBuffer);
|
||||
av_frame_free(&fRawDecodedAudio);
|
||||
avcodec_free_context(&fCodecContext);
|
||||
av_frame_free(&fDecodedDataBuffer);
|
||||
|
||||
av_frame_free(&fFilterFrame);
|
||||
avfilter_graph_free(&fFilterGraph);
|
||||
@@ -1123,8 +1123,7 @@ AVCodecDecoder::_DecodeSomeAudioFramesIntoEmptyDecodedDataBuffer()
|
||||
{
|
||||
assert(fDecodedDataBufferSize == 0);
|
||||
|
||||
memset(fDecodedDataBuffer, 0, sizeof(AVFrame));
|
||||
av_frame_unref(fDecodedDataBuffer);
|
||||
av_frame_unref(fDecodedDataBuffer);
|
||||
fDecodedDataBufferOffset = 0;
|
||||
|
||||
int error = avcodec_receive_frame(fCodecContext, fDecodedDataBuffer);
|
||||
|
||||
Reference in New Issue
Block a user