diff --git a/subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c b/subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c index b9bfab148c..3e8e5992c5 100644 --- a/subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c +++ b/subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c @@ -1728,8 +1728,13 @@ play_item_set_uri (GstPlayItem * item, const gchar * uri) static void play_item_set_suburi (GstPlayItem * item, const gchar * uri) { - if (!uri) + if (!uri) { + if (item->sub_item) { + free_source_item (item->uridecodebin, item->sub_item); + item->sub_item = NULL; + } return; + } if (!item->sub_item) { item->sub_item = new_source_item (item->uridecodebin, item, g_strdup (uri));