diff libpurple/media.c @ 26146:4f013819e4e3

Create the media srcs inside PurpleMedia.
author Mike Ruprecht <maiku@soc.pidgin.im>
date Fri, 30 Jan 2009 06:39:41 +0000
parents 685c8f5f85c7
children 7be8c88d630c
line wrap: on
line diff
--- a/libpurple/media.c	Fri Jan 30 04:40:54 2009 +0000
+++ b/libpurple/media.c	Fri Jan 30 06:39:41 2009 +0000
@@ -1565,6 +1565,7 @@
 	FsParticipant *participant = NULL;
 	PurpleMediaStream *stream = NULL;
 	FsStreamDirection *direction = NULL;
+	PurpleMediaSessionType session_type;
 
 	if (!session) {
 		GError *err = NULL;
@@ -1621,6 +1622,12 @@
 		g_signal_emit(media, purple_media_signals[STATE_CHANGED],
 				0, PURPLE_MEDIA_STATE_CHANGED_NEW,
 				session->id, NULL);
+
+		session_type = purple_media_from_fs(type, FS_DIRECTION_SEND);
+		purple_media_set_src(media, session->id,
+				purple_media_manager_get_element(
+				purple_media_manager_get(), session_type));
+		gst_element_set_state(session->src, GST_STATE_PLAYING);
 	}
 
 	if (!(participant = purple_media_add_participant(media, who))) {