Mercurial > pidgin
diff libpurple/media.c @ 26350:064657db29c4
Properly wrap media functions so the API doesn't disappear when USE_VV
is not defined.
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Mon, 23 Mar 2009 04:00:11 +0000 |
parents | 1ae3af12095a |
children | c91d09e53215 |
line wrap: on
line diff
--- a/libpurple/media.c Mon Mar 23 02:59:18 2009 +0000 +++ b/libpurple/media.c Mon Mar 23 04:00:11 2009 +0000 @@ -79,9 +79,11 @@ gulong window_id; guint connected_cb_id; }; +#endif struct _PurpleMediaPrivate { +#ifdef USE_VV PurpleMediaManager *manager; PurpleConnection *pc; FsConference *conference; @@ -94,8 +96,12 @@ GList *streams; /* PurpleMediaStream table */ GstElement *confbin; +#else + gpointer dummy; +#endif }; +#ifdef USE_VV #define PURPLE_MEDIA_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), PURPLE_TYPE_MEDIA, PurpleMediaPrivate)) static void purple_media_class_init (PurpleMediaClass *klass); @@ -139,10 +145,12 @@ PROP_INITIATOR, PROP_PRPL_DATA, }; +#endif GType purple_media_get_type() { +#ifdef USE_VV static GType type = 0; if (type == 0) { @@ -161,6 +169,9 @@ type = g_type_register_static(G_TYPE_OBJECT, "PurpleMedia", &info, 0); } return type; +#else + return G_TYPE_NONE; +#endif } GType @@ -203,6 +214,7 @@ return type; } +#ifdef USE_VV static void purple_media_class_init (PurpleMediaClass *klass) { @@ -505,6 +517,7 @@ } } +#endif PurpleMediaCandidate * purple_media_candidate_new(const gchar *foundation, guint component_id, @@ -560,6 +573,7 @@ g_free(candidate); } +#ifdef USE_VV static FsCandidate * purple_media_candidate_to_fs(PurpleMediaCandidate *candidate) { @@ -630,6 +644,7 @@ new_list = g_list_reverse(new_list); return new_list; } +#endif GList * purple_media_candidate_list_copy(GList *candidates) @@ -669,6 +684,7 @@ return type; } +#ifdef USE_VV static FsMediaType purple_media_to_fs_media_type(PurpleMediaSessionType type) { @@ -713,6 +729,7 @@ } return result; } +#endif void purple_media_codec_add_optional_parameter(PurpleMediaCodec *codec, @@ -818,6 +835,7 @@ g_free(codec); } +#ifdef USE_VV static FsCodec * purple_media_codec_to_fs(const PurpleMediaCodec *codec) { @@ -864,16 +882,22 @@ return new_codec; } +#endif gchar * purple_media_codec_to_string(const PurpleMediaCodec *codec) { +#ifdef USE_VV FsCodec *fscodec = purple_media_codec_to_fs(codec); gchar *str = fs_codec_to_string(fscodec); fs_codec_destroy(fscodec); return str; +#else + return g_strdup(""); +#endif } +#ifdef USE_VV static GList * purple_media_codec_list_from_fs(GList *codecs) { @@ -903,6 +927,7 @@ new_list = g_list_reverse(new_list); return new_list; } +#endif GList * purple_media_codec_list_copy(GList *codecs) @@ -942,6 +967,7 @@ return type; } +#ifdef USE_VV static PurpleMediaSession* purple_media_get_session(PurpleMedia *media, const gchar *sess_id) { @@ -1083,15 +1109,21 @@ stream = purple_media_get_stream(session->media, session->id, name); stream->local_candidates = g_list_append(stream->local_candidates, candidate); } +#endif GList * purple_media_get_session_names(PurpleMedia *media) { +#ifdef USE_VV g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); return media->priv->sessions != NULL ? g_hash_table_get_keys(media->priv->sessions) : NULL; +#else + return NULL; +#endif } +#ifdef USE_VV static void purple_media_set_src(PurpleMedia *media, const gchar *sess_id, GstElement *src) { @@ -1128,6 +1160,7 @@ ? "success" : "failure"); gst_element_set_locked_state(session->src, FALSE); } +#endif #if 0 static void @@ -1157,12 +1190,17 @@ GstElement * purple_media_get_src(PurpleMedia *media, const gchar *sess_id) { +#ifdef USE_VV PurpleMediaSession *session; g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); session = purple_media_get_session(media, sess_id); return (session != NULL) ? session->src : NULL; +#else + return NULL; +#endif } +#ifdef USE_VV static PurpleMediaSession * purple_media_session_from_fs_stream(PurpleMedia *media, FsStream *stream) { @@ -1294,43 +1332,59 @@ return TRUE; } +#endif GstElement * purple_media_get_pipeline(PurpleMedia *media) { +#ifdef USE_VV g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); return purple_media_manager_get_pipeline(media->priv->manager); +#else + return NULL; +#endif } PurpleConnection * purple_media_get_connection(PurpleMedia *media) { +#ifdef USE_VV PurpleConnection *pc; g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); g_object_get(G_OBJECT(media), "connection", &pc, NULL); return pc; +#else + return NULL; +#endif } gpointer purple_media_get_prpl_data(PurpleMedia *media) { +#ifdef USE_VV gpointer prpl_data; g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); g_object_get(G_OBJECT(media), "prpl-data", &prpl_data, NULL); return prpl_data; +#else + return NULL; +#endif } void purple_media_set_prpl_data(PurpleMedia *media, gpointer prpl_data) { +#ifdef USE_VV g_return_if_fail(PURPLE_IS_MEDIA(media)); g_object_set(G_OBJECT(media), "prpl-data", prpl_data, NULL); +#endif } void purple_media_error(PurpleMedia *media, const gchar *error, ...) { +#ifdef USE_VV va_list args; gchar *message; @@ -1344,11 +1398,13 @@ g_signal_emit(media, purple_media_signals[ERROR], 0, message); g_free(message); +#endif } void purple_media_accept(PurpleMedia *media) { +#ifdef USE_VV GList *streams; g_return_if_fail(PURPLE_IS_MEDIA(media)); @@ -1365,32 +1421,38 @@ g_signal_emit(media, purple_media_signals[ACCEPTED], 0, NULL, NULL); +#endif } void purple_media_hangup(PurpleMedia *media) { +#ifdef USE_VV g_return_if_fail(PURPLE_IS_MEDIA(media)); g_signal_emit(media, purple_media_signals[STREAM_INFO], 0, PURPLE_MEDIA_INFO_HANGUP, NULL, NULL); purple_media_end(media, NULL, NULL); +#endif } void purple_media_reject(PurpleMedia *media) { +#ifdef USE_VV g_return_if_fail(PURPLE_IS_MEDIA(media)); g_signal_emit(media, purple_media_signals[STREAM_INFO], 0, PURPLE_MEDIA_INFO_REJECT, NULL, NULL); purple_media_end(media, NULL, NULL); +#endif } void purple_media_end(PurpleMedia *media, const gchar *session_id, const gchar *participant) { +#ifdef USE_VV g_return_if_fail(PURPLE_IS_MEDIA(media)); if (session_id == NULL && participant == NULL) { g_signal_emit(media, purple_media_signals[STATE_CHANGED], @@ -1398,8 +1460,10 @@ NULL, NULL); g_object_unref(media); } +#endif } +#ifdef USE_VV static void purple_media_new_local_candidate_cb(FsStream *stream, FsCandidate *local_candidate, @@ -1789,6 +1853,7 @@ return TRUE; } +#endif gboolean purple_media_add_stream(PurpleMedia *media, const gchar *sess_id, const gchar *who, @@ -1796,6 +1861,7 @@ const gchar *transmitter, guint num_params, GParameter *params) { +#ifdef USE_VV FsStreamDirection type_direction; g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); @@ -1819,6 +1885,9 @@ } } return TRUE; +#else + return FALSE; +#endif } void @@ -1830,15 +1899,20 @@ PurpleMediaSessionType purple_media_get_session_type(PurpleMedia *media, const gchar *sess_id) { +#ifdef USE_VV PurpleMediaSession *session; g_return_val_if_fail(PURPLE_IS_MEDIA(media), PURPLE_MEDIA_NONE); session = purple_media_get_session(media, sess_id); return session->type; +#else + return PURPLE_MEDIA_NONE; +#endif } /* XXX: Should wait until codecs-ready is TRUE before using this function */ GList * purple_media_get_codecs(PurpleMedia *media, const gchar *sess_id) { +#ifdef USE_VV GList *fscodecs; GList *codecs; PurpleMediaSession *session; @@ -1855,21 +1929,29 @@ codecs = purple_media_codec_list_from_fs(fscodecs); fs_codec_list_destroy(fscodecs); return codecs; +#else + return NULL; +#endif } GList * purple_media_get_local_candidates(PurpleMedia *media, const gchar *sess_id, const gchar *name) { +#ifdef USE_VV PurpleMediaStream *stream; g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); stream = purple_media_get_stream(media, sess_id, name); return purple_media_candidate_list_from_fs(stream->local_candidates); +#else + return NULL; +#endif } void purple_media_add_remote_candidates(PurpleMedia *media, const gchar *sess_id, const gchar *name, GList *remote_candidates) { +#ifdef USE_VV PurpleMediaStream *stream; GError *err = NULL; @@ -1887,33 +1969,43 @@ " candidates: %s\n", err->message); g_error_free(err); } +#endif } GList * purple_media_get_active_local_candidates(PurpleMedia *media, const gchar *sess_id, const gchar *name) { +#ifdef USE_VV PurpleMediaStream *stream; g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); stream = purple_media_get_stream(media, sess_id, name); return purple_media_candidate_list_from_fs( stream->active_local_candidates); +#else + return NULL; +#endif } GList * purple_media_get_active_remote_candidates(PurpleMedia *media, const gchar *sess_id, const gchar *name) { +#ifdef USE_VV PurpleMediaStream *stream; g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); stream = purple_media_get_stream(media, sess_id, name); return purple_media_candidate_list_from_fs( stream->active_remote_candidates); +#else + return NULL; +#endif } gboolean purple_media_set_remote_codecs(PurpleMedia *media, const gchar *sess_id, const gchar *name, GList *codecs) { +#ifdef USE_VV PurpleMediaStream *stream; FsStream *fsstream; GList *fscodecs; @@ -1937,12 +2029,16 @@ return FALSE; } return TRUE; +#else + return FALSE; +#endif } gboolean purple_media_candidates_prepared(PurpleMedia *media, const gchar *session_id, const gchar *participant) { +#ifdef USE_VV GList *streams; gboolean prepared = TRUE; @@ -1960,11 +2056,15 @@ } return prepared; +#else + return FALSE; +#endif } gboolean purple_media_set_send_codec(PurpleMedia *media, const gchar *sess_id, PurpleMediaCodec *codec) { +#ifdef USE_VV PurpleMediaSession *session; FsCodec *fscodec; GError *err = NULL; @@ -1986,11 +2086,15 @@ return FALSE; } return TRUE; +#else + return FALSE; +#endif } gboolean purple_media_codecs_ready(PurpleMedia *media, const gchar *sess_id) { +#ifdef USE_VV gboolean ret; g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); @@ -2016,12 +2120,16 @@ g_list_free(values); } return ret; +#else + return FALSE; +#endif } gboolean purple_media_accepted(PurpleMedia *media, const gchar *sess_id, const gchar *participant) { +#ifdef USE_VV gboolean accepted = TRUE; g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); @@ -2056,10 +2164,14 @@ } return accepted; +#else + return FALSE; +#endif } void purple_media_mute(PurpleMedia *media, gboolean active) { +#ifdef USE_VV GList *sessions; g_return_if_fail(PURPLE_IS_MEDIA(media)); @@ -2076,11 +2188,13 @@ g_object_set(volume, "mute", active, NULL); } } +#endif } void purple_media_set_input_volume(PurpleMedia *media, const gchar *session_id, double level) { +#ifdef USE_VV GList *sessions; g_return_if_fail(PURPLE_IS_MEDIA(media)); @@ -2101,12 +2215,14 @@ g_object_set(volume, "volume", level, NULL); } } +#endif } void purple_media_set_output_volume(PurpleMedia *media, const gchar *session_id, const gchar *participant, double level) { +#ifdef USE_VV GList *streams; g_return_if_fail(PURPLE_IS_MEDIA(media)); @@ -2141,21 +2257,27 @@ gst_iterator_free(iter); } } +#endif } gulong purple_media_set_output_window(PurpleMedia *media, const gchar *session_id, const gchar *participant, gulong window_id) { +#ifdef USE_VV g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); return purple_media_manager_set_output_window(media->priv->manager, media, session_id, participant, window_id); +#else + return 0; +#endif } void purple_media_remove_output_windows(PurpleMedia *media) { +#ifdef USE_VV GList *iter = media->priv->streams; for (; iter; iter = g_list_next(iter)) { PurpleMediaStream *stream = iter->data; @@ -2171,12 +2293,14 @@ media->priv->manager, media, session_name, NULL); } +#endif } GstElement * purple_media_get_tee(PurpleMedia *media, const gchar *session_id, const gchar *participant) { +#ifdef USE_VV g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); if (session_id != NULL && participant == NULL) { @@ -2190,6 +2314,8 @@ return (stream != NULL) ? stream->tee : NULL; } g_return_val_if_reached(NULL); +#else + return NULL; +#endif } -#endif /* USE_VV */