Mercurial > pidgin
changeset 23913:ba609f368dc8
Fix GStreamer assertion.
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Thu, 21 Aug 2008 00:53:58 +0000 |
parents | e4261bc6788d |
children | d6bda7b63eac |
files | libpurple/media.c pidgin/gtkmedia.c |
diffstat | 2 files changed, 7 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/media.c Wed Aug 20 22:49:35 2008 +0000 +++ b/libpurple/media.c Thu Aug 21 00:53:58 2008 +0000 @@ -269,6 +269,9 @@ } if (priv->pipeline) { + GstBus *bus = gst_pipeline_get_bus(GST_PIPELINE(priv->pipeline)); + gst_bus_remove_signal_watch(bus); + gst_object_unref(bus); gst_element_set_state(priv->pipeline, GST_STATE_NULL); gst_object_unref(priv->pipeline); } @@ -619,7 +622,8 @@ media->priv->pipeline = gst_pipeline_new(media->priv->name); bus = gst_pipeline_get_bus(GST_PIPELINE(media->priv->pipeline)); gst_bus_add_signal_watch(GST_BUS(bus)); - gst_bus_add_watch(bus, media_bus_call, media); + g_signal_connect(G_OBJECT(bus), "message", + G_CALLBACK(media_bus_call), media); gst_object_unref(bus); gst_bin_add(GST_BIN(media->priv->pipeline), GST_ELEMENT(media->priv->conference));
--- a/pidgin/gtkmedia.c Wed Aug 20 22:49:35 2008 +0000 +++ b/pidgin/gtkmedia.c Thu Aug 21 00:53:58 2008 +0000 @@ -444,11 +444,9 @@ gtk_widget_show(gtkmedia->priv->display); bus = gst_pipeline_get_bus(GST_PIPELINE(pipeline)); - if (audiorecvbin || audiosendbin) { - gst_bus_add_signal_watch(GST_BUS(bus)); - g_signal_connect(G_OBJECT(bus), "message", + if (audiorecvbin || audiosendbin) + g_signal_connect(G_OBJECT(bus), "message::element", G_CALLBACK(level_message_cb), gtkmedia); - } if (videorecvbin || videosendbin) gst_bus_set_sync_handler(bus, (GstBusSyncHandler)create_window, gtkmedia); gst_object_unref(bus);