comparison libpurple/media.c @ 26474: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 5a7fa2093d1e
children 462e5c27dbd7
comparison
equal deleted inserted replaced
26473:24feaf9cfbf1 26474:9c671fc1b351
1628 * audioresample ! audioconvert ! realsink 1628 * audioresample ! audioconvert ! realsink
1629 */ 1629 */
1630 stream->src = gst_element_factory_make( 1630 stream->src = gst_element_factory_make(
1631 "liveadder", NULL); 1631 "liveadder", NULL);
1632 sink = purple_media_manager_get_element(priv->manager, 1632 sink = purple_media_manager_get_element(priv->manager,
1633 PURPLE_MEDIA_RECV_AUDIO); 1633 PURPLE_MEDIA_RECV_AUDIO,
1634 stream->session->media,
1635 stream->session->id,
1636 stream->participant);
1634 } else if (codec->media_type == FS_MEDIA_TYPE_VIDEO) { 1637 } else if (codec->media_type == FS_MEDIA_TYPE_VIDEO) {
1635 stream->src = gst_element_factory_make( 1638 stream->src = gst_element_factory_make(
1636 "fsfunnel", NULL); 1639 "fsfunnel", NULL);
1637 sink = gst_element_factory_make( 1640 sink = gst_element_factory_make(
1638 "fakesink", NULL); 1641 "fakesink", NULL);
1743 session->id, NULL); 1746 session->id, NULL);
1744 1747
1745 session_type = purple_media_from_fs(media_type, 1748 session_type = purple_media_from_fs(media_type,
1746 FS_DIRECTION_SEND); 1749 FS_DIRECTION_SEND);
1747 src = purple_media_manager_get_element( 1750 src = purple_media_manager_get_element(
1748 media->priv->manager, session_type); 1751 media->priv->manager, session_type,
1752 media, session->id, who);
1749 if (!GST_IS_ELEMENT(src)) { 1753 if (!GST_IS_ELEMENT(src)) {
1750 purple_debug_error("media", 1754 purple_debug_error("media",
1751 "Error creating src for session %s\n", 1755 "Error creating src for session %s\n",
1752 session->id); 1756 session->id);
1753 purple_media_end(media, session->id, NULL); 1757 purple_media_end(media, session->id, NULL);