summaryrefslogtreecommitdiffstats
path: root/ext/jpeg/gstjpegdec.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/jpeg/gstjpegdec.c')
-rw-r--r--ext/jpeg/gstjpegdec.c12
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