From 1775817309e6be0c5e0555a0f31fea450e24f5f0 Mon Sep 17 00:00:00 2001 From: Sjoerd Simons Date: Fri, 20 May 2011 13:32:36 +0200 Subject: Signal framerate changes --- telepathy-farstream/call-content.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/telepathy-farstream/call-content.c b/telepathy-farstream/call-content.c index 077287b..379f8a8 100644 --- a/telepathy-farstream/call-content.c +++ b/telepathy-farstream/call-content.c @@ -80,6 +80,8 @@ struct _TfCallContent { volatile gint bitrate; volatile gint mtu; gboolean manual_keyframes; + + guint framerate; }; struct _TfCallContentClass{ @@ -104,7 +106,8 @@ enum PROP_FS_SESSION, PROP_SINK_PAD, PROP_MEDIA_TYPE, - PROP_OBJECT_PATH + PROP_OBJECT_PATH, + PROP_FRAMERATE }; enum @@ -184,6 +187,14 @@ tf_call_content_class_init (TfCallContentClass *klass) "media-type"); g_object_class_override_property (object_class, PROP_OBJECT_PATH, "object-path"); + + g_object_class_install_property (object_class, PROP_FRAMERATE, + g_param_spec_uint ("framerate", + "Framerate", + "The framerate as indicated by the VideoControl interface" + "or the media layer", + 0, G_MAXUINT, 0, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); } static void @@ -298,6 +309,9 @@ tf_call_content_get_property (GObject *object, case PROP_OBJECT_PATH: g_object_get_property (G_OBJECT (self->proxy), "object-path", value); break; + case PROP_FRAMERATE: + g_value_set_uint (value, self->framerate); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; @@ -528,7 +542,11 @@ on_content_video_framerate_changed (TfFutureCallContent *proxy, gpointer user_data, GObject *weak_object) { + TfCallContent *self = TF_CALL_CONTENT (weak_object); g_message ("updated framerate requested: %d", framerate); + + self->framerate = framerate; + g_object_notify (G_OBJECT (self), "framerate"); } static void -- cgit v1.2.1