diff options
author | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2011-03-22 13:04:44 +0000 |
---|---|---|
committer | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2011-03-22 15:03:12 +0000 |
commit | caab8e2608d30d95404ae2b8140dedffbc74b5db (patch) | |
tree | ea0d31f246b231b5111cdc749c52e85e0ba26332 | |
parent | 07cc52c009c7c282b86cbacdda9ed0557d6d9520 (diff) |
Add API to get the current video state
-rw-r--r-- | telepathy-yell/call-channel.c | 35 | ||||
-rw-r--r-- | telepathy-yell/call-channel.h | 2 |
2 files changed, 37 insertions, 0 deletions
diff --git a/telepathy-yell/call-channel.c b/telepathy-yell/call-channel.c index 2983313..8e91adf 100644 --- a/telepathy-yell/call-channel.c +++ b/telepathy-yell/call-channel.c @@ -833,6 +833,41 @@ tpy_call_channel_send_video (TpyCallChannel *self, NULL, NULL, NULL, NULL); } +TpySendingState +tpy_call_channel_get_video_state (TpyCallChannel *self) +{ + TpySendingState result = TPY_SENDING_STATE_NONE; + guint i; + + g_return_val_if_fail (TPY_IS_CALL_CHANNEL (self), TPY_SENDING_STATE_NONE); + + for (i = 0 ; i < self->priv->contents->len ; i++) + { + TpyCallContent *content = g_ptr_array_index (self->priv->contents, i); + + if (tpy_call_content_get_media_type (content) + == TP_MEDIA_STREAM_TYPE_VIDEO) + { + GList *l; + + for (l = tpy_call_content_get_streams (content); + l != NULL ; l = g_list_next (l)) + { + TpyCallStream *stream = TPY_CALL_STREAM (l->data); + TpySendingState state; + + g_object_get (stream, "local-sending-state", &state, NULL); + if (state != TPY_SENDING_STATE_PENDING_STOP_SENDING && + state > result) + result = state; + } + } + } + + return result; +} + + gboolean tpy_call_channel_has_dtmf (TpyCallChannel *self) { diff --git a/telepathy-yell/call-channel.h b/telepathy-yell/call-channel.h index 73715ff..a4ff982 100644 --- a/telepathy-yell/call-channel.h +++ b/telepathy-yell/call-channel.h @@ -100,6 +100,8 @@ TpyCallContent *tpy_call_channel_add_content_finish (TpyCallChannel *self, void tpy_call_channel_send_video (TpyCallChannel *self, gboolean send); +TpySendingState tpy_call_channel_get_video_state (TpyCallChannel *self); + TpyCallState tpy_call_channel_get_state (TpyCallChannel *self, TpyCallFlags *flags, GHashTable **details); |