summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>2011-03-22 13:04:44 +0000
committerSjoerd Simons <sjoerd.simons@collabora.co.uk>2011-03-22 15:03:12 +0000
commitcaab8e2608d30d95404ae2b8140dedffbc74b5db (patch)
treeea0d31f246b231b5111cdc749c52e85e0ba26332
parent07cc52c009c7c282b86cbacdda9ed0557d6d9520 (diff)
Add API to get the current video state
-rw-r--r--telepathy-yell/call-channel.c35
-rw-r--r--telepathy-yell/call-channel.h2
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);