diff options
Diffstat (limited to 'gst/videorate/gstvideorate.c')
-rw-r--r-- | gst/videorate/gstvideorate.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gst/videorate/gstvideorate.c b/gst/videorate/gstvideorate.c index e12fe391c..3c4fe0b41 100644 --- a/gst/videorate/gstvideorate.c +++ b/gst/videorate/gstvideorate.c @@ -1521,6 +1521,10 @@ gst_video_rate_transform_ip (GstBaseTransform * trans, GstBuffer * buffer) goto invalid_buffer; } + if (!gst_segment_clip (&videorate->segment, GST_FORMAT_TIME, in_ts, + GST_CLOCK_TIME_NONE, NULL, NULL)) + goto outside_segment; + /* get the time of the next expected buffer timestamp, we use this when the * next buffer has -1 as a timestamp */ last_ts = videorate->last_ts; @@ -1787,6 +1791,13 @@ invalid_buffer: res = GST_BASE_TRANSFORM_FLOW_DROPPED; goto done; } + +outside_segment: + { + GST_WARNING_OBJECT (videorate, "Got buffer outide segment, discarding it"); + res = GST_BASE_TRANSFORM_FLOW_DROPPED; + goto done; + } } static gboolean |