--- channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c.orig 2016-10-21 07:29:51 UTC +++ channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c @@ -346,7 +346,7 @@ static BOOL tsmf_ffmpeg_decode_video(ITS av_picture_copy((AVPicture*) frame, (AVPicture*) mdecoder->frame, mdecoder->codec_context->pix_fmt, mdecoder->codec_context->width, mdecoder->codec_context->height); - av_free(frame); + av_frame_free(&frame); } return ret; @@ -428,7 +428,7 @@ static BOOL tsmf_ffmpeg_decode_audio(ITS decoded_frame->nb_samples, mdecoder->codec_context->sample_fmt, 1); memcpy(dst, decoded_frame->data[0], frame_size); } - av_free(decoded_frame); + av_frame_free(&decoded_frame); } #endif if (len <= 0 || frame_size <= 0) @@ -524,7 +524,7 @@ static void tsmf_ffmpeg_free(ITSMFDecode { TSMFFFmpegDecoder* mdecoder = (TSMFFFmpegDecoder*) decoder; if (mdecoder->frame) - av_free(mdecoder->frame); + av_frame_free(&mdecoder->frame); free(mdecoder->decoded_data); @@ -534,7 +534,7 @@ static void tsmf_ffmpeg_free(ITSMFDecode avcodec_close(mdecoder->codec_context); free(mdecoder->codec_context->extradata); - av_free(mdecoder->codec_context); + av_frame_free(&mdecoder->codec_context); } free(decoder); }