From: Tim-Philipp Müller Date: Thu, 13 Aug 2015 16:29:58 +0000 (+0100) Subject: multifilesrc: fix regression with starting from index set via index property X-Git-Tag: 1.19.3~509^2~3304 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=29afa758589620f4572ca2f1bbbac073318df071;p=platform%2Fupstream%2Fgstreamer.git multifilesrc: fix regression with starting from index set via index property When we haven't started yet, set the start_index when we set the index property, so that we start at the right index position after the initial seek. The index property was never really meant to be for writing, but it used to work, so let's support it for backwards compatibility. https://bugzilla.gnome.org/show_bug.cgi?id=739472 --- diff --git a/gst/multifile/gstmultifilesrc.c b/gst/multifile/gstmultifilesrc.c index 01dae98..316c6e0 100644 --- a/gst/multifile/gstmultifilesrc.c +++ b/gst/multifile/gstmultifilesrc.c @@ -299,7 +299,14 @@ gst_multi_file_src_set_property (GObject * object, guint prop_id, gst_multi_file_src_set_location (src, g_value_get_string (value)); break; case PROP_INDEX: - src->index = g_value_get_int (value); + GST_OBJECT_LOCK (src); + /* index was really meant to be read-only, but for backwards-compatibility + * we set start_index to make it work as it used to */ + if (!GST_OBJECT_FLAG_IS_SET (src, GST_BASE_SRC_FLAG_STARTED)) + src->start_index = g_value_get_int (value); + else + src->index = g_value_get_int (value); + GST_OBJECT_UNLOCK (src); break; case PROP_START_INDEX: src->start_index = g_value_get_int (value);