summaryrefslogtreecommitdiff
path: root/gst/multifile/gstmultifilesrc.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/multifile/gstmultifilesrc.c')
-rw-r--r--gst/multifile/gstmultifilesrc.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gst/multifile/gstmultifilesrc.c b/gst/multifile/gstmultifilesrc.c
index 01dae987a..316c6e0e1 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);