diff --git a/ext/ffmpeg/gstffmpegenc.c b/ext/ffmpeg/gstffmpegenc.c index 95e110b298..fac321d9ff 100644 --- a/ext/ffmpeg/gstffmpegenc.c +++ b/ext/ffmpeg/gstffmpegenc.c @@ -783,6 +783,11 @@ gst_ffmpegenc_chain_audio (GstPad * pad, GstBuffer * inbuf) gst_buffer_unref (subbuf); ret = gst_pad_push (ffmpegenc->srcpad, outbuf); + if (ret != GST_FLOW_OK) { + /* cleanup and return */ + gst_buffer_unref (inbuf); + return ret; + } in_size -= frame_size; }