From 79be2e8b7b153bb0389fb09951b197a92b493357 Mon Sep 17 00:00:00 2001 From: Haihua Hu Date: Thu, 2 Mar 2017 14:36:56 +0800 Subject: [PATCH] player: Fix setting of external subtitle URI gst_player_set_uri_internal shouldn't free suburi which maybe set by user to load external subtitle before start play. It just need reset playbin's subutri property to NULL no matter if there was a previous one or not. https://bugzilla.gnome.org/show_bug.cgi?id=779453 --- gst-libs/gst/player/gstplayer.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gst-libs/gst/player/gstplayer.c b/gst-libs/gst/player/gstplayer.c index 0ebaa756a7..9f5357f901 100644 --- a/gst-libs/gst/player/gstplayer.c +++ b/gst-libs/gst/player/gstplayer.c @@ -570,12 +570,7 @@ gst_player_set_uri_internal (gpointer user_data) (GDestroyNotify) uri_loaded_signal_data_free); } - /* if have suburi from previous playback then free it */ - if (self->suburi) { - g_free (self->suburi); - self->suburi = NULL; - g_object_set (self->playbin, "suburi", NULL, NULL); - } + g_object_set (self->playbin, "suburi", NULL, NULL); g_mutex_unlock (&self->lock); @@ -655,6 +650,9 @@ gst_player_set_property (GObject * object, guint prop_id, g_free (self->redirect_uri); self->redirect_uri = NULL; + g_free (self->suburi); + self->suburi = NULL; + self->uri = g_value_dup_string (value); GST_DEBUG_OBJECT (self, "Set uri=%s", self->uri); g_mutex_unlock (&self->lock);