summaryrefslogtreecommitdiff
path: root/gst/videorate/gstvideorate.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/videorate/gstvideorate.c')
-rw-r--r--gst/videorate/gstvideorate.c11
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