diff options
Diffstat (limited to 'gst/multifile/gstmultifilesrc.c')
-rw-r--r-- | gst/multifile/gstmultifilesrc.c | 9 |
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); |