diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | src/backend/bacon-video-widget-gst-0.10.c | 11 |
2 files changed, 16 insertions, 1 deletions
@@ -1,3 +1,9 @@ +2007-01-29 Bastien Nocera <hadess@hadess.net> + + * src/backend/bacon-video-widget-gst-0.10.c: + (bacon_video_widget_seek_time): Add change from trunk, EOS + when seeking past the end of a stream + 2007-01-10 Tim-Philipp Müller <tim at centricular dot net> * src/backend/bacon-video-widget-gst-0.10.c: diff --git a/src/backend/bacon-video-widget-gst-0.10.c b/src/backend/bacon-video-widget-gst-0.10.c index 90e227963..d1991272b 100644 --- a/src/backend/bacon-video-widget-gst-0.10.c +++ b/src/backend/bacon-video-widget-gst-0.10.c @@ -2524,9 +2524,18 @@ bacon_video_widget_seek_time (BaconVideoWidget *bvw, gint64 time, GError **gerro GST_LOG ("Seeking to %" GST_TIME_FORMAT, GST_TIME_ARGS (time * GST_MSECOND)); + if (time > bvw->priv->stream_length + && bvw->priv->stream_length > 0 + && !g_str_has_prefix (bvw->priv->mrl, "dvd:") + && !g_str_has_prefix (bvw->priv->mrl, "vcd:")) { + if (bvw->priv->eos_id == 0) + bvw->priv->eos_id = g_idle_add (bvw_signal_eos_delayed, bvw); + return TRUE; + } + /* Emit a time tick of where we are going, we are paused */ got_time_tick (bvw->priv->play, time * GST_MSECOND, bvw); - + gst_element_seek (bvw->priv->play, 1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, GST_SEEK_TYPE_SET, time * GST_MSECOND, |