--- 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);
 }
