Mercurial > pidgin
diff libpurple/mediamanager.c @ 23876:f10e0ac24595
* Added input/output volume preferences for voice conversations.
* Properly freed media sessions regarding the media manager.
* Made purple_media_session_get_sink actually return the sink.
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Sun, 17 Aug 2008 07:55:38 +0000 |
parents | 1d9a2296d5d2 |
children | 0baeafee93be |
line wrap: on
line diff
--- a/libpurple/mediamanager.c Sun Aug 17 01:06:27 2008 +0000 +++ b/libpurple/mediamanager.c Sun Aug 17 07:55:38 2008 +0000 @@ -116,6 +116,11 @@ static void purple_media_manager_finalize (GObject *media) { + PurpleMediaManagerPrivate *priv = PURPLE_MEDIA_MANAGER_GET_PRIVATE(media); + for (; priv->medias; priv->medias = + g_list_delete_link(priv->medias, priv->medias)) { + g_object_unref(priv->medias->data); + } parent_class->finalize(media); } @@ -168,4 +173,20 @@ return media; } +GList * +purple_media_manager_get_media(PurpleMediaManager *manager) +{ + return manager->priv->medias; +} + +void +purple_media_manager_remove_media(PurpleMediaManager *manager, + PurpleMedia *media) +{ + GList *list = g_list_find(manager->priv->medias, media); + if (list) + manager->priv->medias = + g_list_delete_link(manager->priv->medias, list); +} + #endif /* USE_VV */