doc/examples/filtering_*: switch to codecpar
authorClément Bœsch <cboesch@gopro.com>
Tue, 28 Mar 2017 09:29:19 +0000 (11:29 +0200)
committerClément Bœsch <cboesch@gopro.com>
Tue, 28 Mar 2017 09:40:57 +0000 (11:40 +0200)
doc/examples/filtering_audio.c
doc/examples/filtering_video.c

index 6bb24a431dca8b928d1c7541f289f020035f7f4e..c6a930ba8b620e31f39192eda8ff1d7f2ca81325 100644 (file)
@@ -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);
index 3dabf13b1003b3cf285f85c50475908836e0cac0..15116d3881f876e6f272689c0025521f408429bc 100644 (file)
@@ -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);