Mercurial > pidgin
diff libpurple/mediamanager.c @ 26392:9c671fc1b351
Give more information to element creation functions.
This should allow for Picture in Picture support.
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Tue, 31 Mar 2009 23:53:03 +0000 |
parents | 507d2366d329 |
children | 84d09c6499f1 |
line wrap: on
line diff
--- a/libpurple/mediamanager.c Tue Mar 31 06:49:19 2009 +0000 +++ b/libpurple/mediamanager.c Tue Mar 31 23:53:03 2009 +0000 @@ -353,7 +353,8 @@ GstElement * purple_media_manager_get_element(PurpleMediaManager *manager, - PurpleMediaSessionType type) + PurpleMediaSessionType type, PurpleMedia *media, + const gchar *session_id, const gchar *participant) { #ifdef USE_VV GstElement *ret = NULL; @@ -383,7 +384,7 @@ if (ret == NULL) { GstElement *bin, *fakesink; - ret = info->create(); + ret = info->create(media, session_id, participant); bin = gst_bin_new(info->id); tee = gst_element_factory_make("tee", "tee"); gst_bin_add_many(GST_BIN(bin), ret, tee, NULL); @@ -415,7 +416,7 @@ gst_pad_set_active(ghost, TRUE); gst_element_add_pad(ret, ghost); } else { - ret = info->create(); + ret = info->create(media, session_id, participant); } if (ret == NULL) @@ -612,7 +613,9 @@ queue = gst_element_factory_make( "queue", NULL); ow->sink = purple_media_manager_get_element( - manager, PURPLE_MEDIA_RECV_VIDEO); + manager, PURPLE_MEDIA_RECV_VIDEO, + ow->media, ow->session_id, + ow->participant); if (participant == NULL) { /* aka this is a preview sink */