diff --git a/ChangeLog b/ChangeLog index 6e4167a056..ec843aac85 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-02-20 Sebastian Dröge + + * ext/gnomevfs/gstgnomevfssink.c: + (gst_gnome_vfs_sink_handle_event): + Return FALSE when seeking for a new segment fails instead + of silently ignoring the failure and appending every buffer + that comes for the new segment. + 2008-02-20 Wim Taymans * gst/playback/gstplaysink.c: (find_property), diff --git a/ext/gnomevfs/gstgnomevfssink.c b/ext/gnomevfs/gstgnomevfssink.c index 2b04b958e5..058c2b4c16 100644 --- a/ext/gnomevfs/gstgnomevfssink.c +++ b/ext/gnomevfs/gstgnomevfssink.c @@ -448,6 +448,7 @@ static gboolean gst_gnome_vfs_sink_handle_event (GstBaseSink * basesink, GstEvent * event) { GstGnomeVFSSink *sink; + gboolean ret = TRUE; sink = GST_GNOME_VFS_SINK (basesink); @@ -474,6 +475,7 @@ gst_gnome_vfs_sink_handle_event (GstBaseSink * basesink, GstEvent * event) if (res != GNOME_VFS_OK) { GST_ERROR_OBJECT (sink, "Failed to seek to offset %" G_GINT64_FORMAT ": %s", offset, gnome_vfs_result_to_string (res)); + ret = FALSE; } else { sink->current_pos = offset; } @@ -483,14 +485,14 @@ gst_gnome_vfs_sink_handle_event (GstBaseSink * basesink, GstEvent * event) case GST_EVENT_FLUSH_START: case GST_EVENT_EOS:{ - /* how does Gnome-VFS flush? Do we need to flush? */ + /* No need to flush with GnomeVfs */ break; } default: break; } - return TRUE; + return ret; } static gboolean