Mercurial > pidgin
diff libpurple/media/backend-fs2.c @ 29179:a39696686dd6
Move set_remote_codecs functionality to the Fs2 media backend.
author | maiku@pidgin.im |
---|---|
date | Mon, 26 Oct 2009 23:10:53 +0000 |
parents | a7cad99144f0 |
children | 90c48f1e479a |
line wrap: on
line diff
--- a/libpurple/media/backend-fs2.c Mon Oct 26 22:59:13 2009 +0000 +++ b/libpurple/media/backend-fs2.c Mon Oct 26 23:10:53 2009 +0000 @@ -481,7 +481,6 @@ return new_list; } -#if 0 static FsCodec * _codec_to_fs(const PurpleMediaCodec *codec) { @@ -519,7 +518,6 @@ g_free(encoding_name); return new_codec; } -#endif static PurpleMediaCodec * _codec_from_fs(const FsCodec *codec) @@ -558,7 +556,6 @@ return new_list; } -#if 0 static GList * _codec_list_to_fs(GList *codecs) { @@ -572,7 +569,6 @@ new_list = g_list_reverse(new_list); return new_list; } -#endif static PurpleMediaBackendFs2Session * _get_session(PurpleMediaBackendFs2 *self, const gchar *sess_id) @@ -1435,7 +1431,30 @@ const gchar *sess_id, const gchar *participant, GList *codecs) { - return FALSE; + PurpleMediaBackendFs2Stream *stream; + GList *fscodecs; + GError *err = NULL; + + g_return_val_if_fail(PURPLE_IS_MEDIA_BACKEND_FS2(self), FALSE); + stream = _get_stream(PURPLE_MEDIA_BACKEND_FS2(self), + sess_id, participant); + + if (stream == NULL) + return FALSE; + + fscodecs = _codec_list_to_fs(codecs); + fs_stream_set_remote_codecs(stream->stream, fscodecs, &err); + fs_codec_list_destroy(fscodecs); + + if (err) { + purple_debug_error("backend-fs2", + "Error setting remote codecs: %s\n", + err->message); + g_error_free(err); + return FALSE; + } + + return TRUE; } static void