diff libpurple/media/backend-fs2.c @ 29181:ec5ed142f551

Move set_remote_codec functionality to the Fs2 media backend.
author maiku@pidgin.im
date Mon, 26 Oct 2009 23:26:59 +0000
parents 90c48f1e479a
children a27e41f373db
line wrap: on
line diff
--- a/libpurple/media/backend-fs2.c	Mon Oct 26 23:17:38 2009 +0000
+++ b/libpurple/media/backend-fs2.c	Mon Oct 26 23:26:59 2009 +0000
@@ -1462,6 +1462,27 @@
 purple_media_backend_fs2_set_send_codec(PurpleMediaBackend *self,
 		const gchar *sess_id, PurpleMediaCodec *codec)
 {
+	PurpleMediaBackendFs2Session *session;
+	FsCodec *fscodec;
+	GError *err = NULL;
+
+	g_return_val_if_fail(PURPLE_IS_MEDIA_BACKEND_FS2(self), FALSE);
+
+	session = _get_session(PURPLE_MEDIA_BACKEND_FS2(self), sess_id);
+
+	if (session == NULL)
+		return FALSE;
+
+	fscodec = _codec_to_fs(codec);
+	fs_session_set_send_codec(session->session, fscodec, &err);
+	fs_codec_destroy(fscodec);
+
+	if (err) {
+		purple_debug_error("media", "Error setting send codec\n");
+		g_error_free(err);
+		return FALSE;
+	}
+
 	return TRUE;
 }