diff options
Diffstat (limited to 'ext/jpeg/gstjpegdec.c')
-rw-r--r-- | ext/jpeg/gstjpegdec.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/ext/jpeg/gstjpegdec.c b/ext/jpeg/gstjpegdec.c index 950dc784..71e505dc 100644 --- a/ext/jpeg/gstjpegdec.c +++ b/ext/jpeg/gstjpegdec.c @@ -993,9 +993,8 @@ gst_jpeg_dec_chain (GstPad * pad, GstBuffer * buf) GST_TIME_ARGS (clip_stop - clip_start)); GST_BUFFER_DURATION (outbuf) = clip_stop - clip_start; } - } else { - GST_WARNING_OBJECT (dec, "Outgoing buffer is outside configured segment"); - } + } else + goto drop_buffer; } GST_LOG_OBJECT (dec, "pushing buffer (ts=%" GST_TIME_FORMAT ", dur=%" @@ -1061,6 +1060,13 @@ alloc_failed: } goto exit; } +drop_buffer: + { + GST_WARNING_OBJECT (dec, "Outgoing buffer is outside configured segment"); + gst_buffer_unref (outbuf); + ret = GST_FLOW_OK; + goto exit; + } } static gboolean |