avvidenc: avoid busy-looping when flushing frames
authorMark Nauwelaerts <mnauw@users.sourceforge.net>
Sat, 1 Feb 2014 13:40:24 +0000 (14:40 +0100)
committerMark Nauwelaerts <mnauw@users.sourceforge.net>
Sat, 1 Feb 2014 13:40:45 +0000 (14:40 +0100)
... such as when receiving EOS event.

ext/libav/gstavvidenc.c

index d1d6d7e..81ebb31 100644 (file)
@@ -689,7 +689,8 @@ gst_ffmpegvidenc_flush_buffers (GstFFMpegVidEnc * ffmpegenc, gboolean send)
       flow_ret =
           gst_video_encoder_finish_frame (GST_VIDEO_ENCODER (ffmpegenc), frame);
     } else {
-      gst_video_codec_frame_unref (frame);
+      /* no frame attached, so will be skipped and removed from frame list */
+      gst_video_encoder_finish_frame (GST_VIDEO_ENCODER (ffmpegenc), frame);
     }
   }