summaryrefslogtreecommitdiffstats
path: root/sys/vdpau
diff options
context:
space:
mode:
authorCarl-Anton Ingmarsson <ca.ingmarsson@gmail.com>2009-06-07 01:25:01 +0200
committerJan Schmidt <thaytan@noraisin.net>2009-06-20 15:21:45 +0100
commit64100e473754c70cfba76f1ba1ff7eb297c954db (patch)
tree98285fd4424015988a3c333e1fb4e4ac82d5a12e /sys/vdpau
parent636ae49bee677ee56f6c480c78f6f4eda8eeab51 (diff)
downloadgst-plugins-bad-64100e473754c70cfba76f1ba1ff7eb297c954db.tar.gz
gst-plugins-bad-64100e473754c70cfba76f1ba1ff7eb297c954db.tar.bz2
gst-plugins-bad-64100e473754c70cfba76f1ba1ff7eb297c954db.zip
vdpaumpegdec: send newsegment event if only the rate has been updated
Diffstat (limited to 'sys/vdpau')
-rw-r--r--sys/vdpau/gstvdpmpegdec.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/sys/vdpau/gstvdpmpegdec.c b/sys/vdpau/gstvdpmpegdec.c
index 759eb7f9..931de5a4 100644
--- a/sys/vdpau/gstvdpmpegdec.c
+++ b/sys/vdpau/gstvdpmpegdec.c
@@ -825,7 +825,6 @@ normal_seek (GstVdpMpegDec * mpeg_dec, GstEvent * event)
cur_type, time_cur, stop_type, time_stop, &update);
if (update) {
-
/* seek on bytes */
conv = GST_FORMAT_BYTES;
if (!gst_vdp_mpeg_dec_convert (mpeg_dec, GST_FORMAT_TIME, time_cur,
@@ -850,8 +849,17 @@ normal_seek (GstVdpMpegDec * mpeg_dec, GstEvent * event)
g_mutex_unlock (mpeg_dec->mutex);
- } else
- res = FALSE;
+ } else {
+ GstEvent *event;
+
+ /* send segment with new rate */
+ event = gst_event_new_new_segment (TRUE,
+ mpeg_dec->segment.rate, GST_FORMAT_TIME, mpeg_dec->segment.start,
+ mpeg_dec->segment.stop, mpeg_dec->segment.time);
+
+ gst_pad_push_event (mpeg_dec->src, event);
+ res = TRUE;
+ }
return res;