summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2010-01-23 21:43:13 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2010-01-23 21:43:13 +0100
commitb25fd88cd2be2b3643f8aca4a5f83733d40c636c (patch)
tree68ea72df83219af87e88ab4c16a737e725450f25 /src
parenta75edccd76990d664b962122ebcf2448b8e940e8 (diff)
downloadtotem-b25fd88cd2be2b3643f8aca4a5f83733d40c636c.tar.gz
Flush playbin2's bus before reusing it
This makes sure that we don't get any messages from a previous URI. Fixes bug #607224.
Diffstat (limited to 'src')
-rw-r--r--src/backend/bacon-video-widget-gst-0.10.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/backend/bacon-video-widget-gst-0.10.c b/src/backend/bacon-video-widget-gst-0.10.c
index 205fc1dd7..01a03a366 100644
--- a/src/backend/bacon-video-widget-gst-0.10.c
+++ b/src/backend/bacon-video-widget-gst-0.10.c
@@ -3552,6 +3552,7 @@ bacon_video_widget_open (BaconVideoWidget * bvw,
GFile *file;
gboolean ret;
char *path;
+ GstBus *bus;
g_return_val_if_fail (bvw != NULL, FALSE);
g_return_val_if_fail (mrl != NULL, FALSE);
@@ -3631,9 +3632,18 @@ bacon_video_widget_open (BaconVideoWidget * bvw,
bvw->priv->ready_idle_id = 0;
}
+ /* Flush the bus to make sure we don't get any messages
+ * from the previous URI, see bug #607224.
+ */
+ bus = gst_element_get_bus (bvw->priv->play);
+ gst_bus_set_flushing (bus, TRUE);
+
bvw->priv->target_state = GST_STATE_READY;
gst_element_set_state (bvw->priv->play, GST_STATE_READY);
+ gst_bus_set_flushing (bus, FALSE);
+ gst_object_unref (bus);
+
g_object_set (bvw->priv->play, "uri", bvw->priv->mrl,
"suburi", subtitle_uri, NULL);