diff --git a/doc/examples/filtering_audio.c b/doc/examples/filtering_audio.c index 6bb24a431d..c6a930ba8b 100644 --- a/doc/examples/filtering_audio.c +++ b/doc/examples/filtering_audio.c @@ -69,7 +69,12 @@ static int open_input_file(const char *filename) return ret; } audio_stream_index = ret; - dec_ctx = fmt_ctx->streams[audio_stream_index]->codec; + + /* create decoding context */ + dec_ctx = avcodec_alloc_context3(dec); + if (!dec_ctx) + return AVERROR(ENOMEM); + avcodec_parameters_to_context(dec_ctx, fmt_ctx->streams[audio_stream_index]->codecpar); av_opt_set_int(dec_ctx, "refcounted_frames", 1, 0); /* init the audio decoder */ @@ -281,7 +286,7 @@ int main(int argc, char **argv) } end: avfilter_graph_free(&filter_graph); - avcodec_close(dec_ctx); + avcodec_free_context(&dec_ctx); avformat_close_input(&fmt_ctx); av_frame_free(&frame); av_frame_free(&filt_frame); diff --git a/doc/examples/filtering_video.c b/doc/examples/filtering_video.c index 3dabf13b10..15116d3881 100644 --- a/doc/examples/filtering_video.c +++ b/doc/examples/filtering_video.c @@ -72,7 +72,12 @@ static int open_input_file(const char *filename) return ret; } video_stream_index = ret; - dec_ctx = fmt_ctx->streams[video_stream_index]->codec; + + /* create decoding context */ + dec_ctx = avcodec_alloc_context3(dec); + if (!dec_ctx) + return AVERROR(ENOMEM); + avcodec_parameters_to_context(dec_ctx, fmt_ctx->streams[video_stream_index]->codecpar); av_opt_set_int(dec_ctx, "refcounted_frames", 1, 0); /* init the video decoder */ @@ -266,7 +271,7 @@ int main(int argc, char **argv) } end: avfilter_graph_free(&filter_graph); - avcodec_close(dec_ctx); + avcodec_free_context(&dec_ctx); avformat_close_input(&fmt_ctx); av_frame_free(&frame); av_frame_free(&filt_frame);