diff options
author | Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com> | 2009-06-07 01:25:01 +0200 |
---|---|---|
committer | Jan Schmidt <thaytan@noraisin.net> | 2009-06-20 15:21:45 +0100 |
commit | 64100e473754c70cfba76f1ba1ff7eb297c954db (patch) | |
tree | 98285fd4424015988a3c333e1fb4e4ac82d5a12e /sys | |
parent | 636ae49bee677ee56f6c480c78f6f4eda8eeab51 (diff) | |
download | gst-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')
-rw-r--r-- | sys/vdpau/gstvdpmpegdec.c | 14 |
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; |