summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--src/backend/bacon-video-widget-gst-0.10.c11
2 files changed, 16 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 226b44889..c0e0047b4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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,