diff --git a/doc/examples/muxing.c b/doc/examples/muxing.c index f1f5bb8239..1df5912ca7 100644 --- a/doc/examples/muxing.c +++ b/doc/examples/muxing.c @@ -440,15 +440,7 @@ static void open_video(AVFormatContext *oc, AVCodec *codec, OutputStream *ost, A static void fill_yuv_image(AVFrame *pict, int frame_index, int width, int height) { - int x, y, i, ret; - - /* when we pass a frame to the encoder, it may keep a reference to it - * internally; - * make sure we do not overwrite it here - */ - ret = av_frame_make_writable(pict); - if (ret < 0) - exit(1); + int x, y, i; i = frame_index; @@ -475,6 +467,11 @@ static AVFrame *get_video_frame(OutputStream *ost) STREAM_DURATION, (AVRational){ 1, 1 }) >= 0) return NULL; + /* when we pass a frame to the encoder, it may keep a reference to it + * internally; make sure we do not overwrite it here */ + if (av_frame_make_writable(ost->frame) < 0) + exit(1); + if (c->pix_fmt != AV_PIX_FMT_YUV420P) { /* as we only generate a YUV420P picture, we must convert it * to the codec pixel format if needed */