aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNicolas Dufresne <nicolas.dufresne@collabora.com>2011-07-07 06:18:58 +0800
committerSjoerd Simons <sjoerd.simons@collabora.co.uk>2011-11-08 04:07:19 +0800
commitd41e4f40e98cca99005a344a738e0468ae3b84bf (patch)
tree27009ce3419f338970ed3c4b72a04f3f14e68740 /src
parentd341cb5a4ce8555233e879febe765b1d8d6accd8 (diff)
downloadgsoc2013-empathy-d41e4f40e98cca99005a344a738e0468ae3b84bf.tar
gsoc2013-empathy-d41e4f40e98cca99005a344a738e0468ae3b84bf.tar.gz
gsoc2013-empathy-d41e4f40e98cca99005a344a738e0468ae3b84bf.tar.bz2
gsoc2013-empathy-d41e4f40e98cca99005a344a738e0468ae3b84bf.tar.lz
gsoc2013-empathy-d41e4f40e98cca99005a344a738e0468ae3b84bf.tar.xz
gsoc2013-empathy-d41e4f40e98cca99005a344a738e0468ae3b84bf.tar.zst
gsoc2013-empathy-d41e4f40e98cca99005a344a738e0468ae3b84bf.zip
Hook resolution change support
Diffstat (limited to 'src')
-rw-r--r--src/empathy-call-window.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index 92e0c4399..4def7d86e 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -2736,6 +2736,35 @@ empathy_call_window_sink_removed_cb (EmpathyCallHandler *handler,
return FALSE;
}
+static void
+empathy_call_window_framerate_changed_cb (EmpathyCallHandler *handler,
+ guint framerate,
+ EmpathyCallWindow *self)
+{
+ EmpathyCallWindowPriv *priv = GET_PRIV (self);
+
+ DEBUG ("Framerate changed to %u", framerate);
+
+ if (priv->video_input != NULL)
+ empathy_video_src_set_framerate (priv->video_input, framerate);
+}
+
+static void
+empathy_call_window_resolution_changed_cb (EmpathyCallHandler *handler,
+ guint width,
+ guint height,
+ EmpathyCallWindow *self)
+{
+ EmpathyCallWindowPriv *priv = GET_PRIV (self);
+
+ DEBUG ("Resolution changed to %ux%u", width, height);
+
+ if (priv->video_input != NULL)
+ {
+ empathy_video_src_set_resolution (priv->video_input, width, height);
+ }
+}
+
/* Called with global lock held */
static GstPad *
empathy_call_window_get_video_sink_pad (EmpathyCallWindow *self)
@@ -3680,6 +3709,11 @@ empathy_call_window_connect_handler (EmpathyCallWindow *self)
g_signal_connect (priv->handler, "notify::call-channel",
G_CALLBACK (call_handler_notify_call_cb), self);
+ g_signal_connect (priv->handler, "framerate-changed",
+ G_CALLBACK (empathy_call_window_framerate_changed_cb), self);
+ g_signal_connect (priv->handler, "resolution-changed",
+ G_CALLBACK (empathy_call_window_resolution_changed_cb), self);
+
g_object_get (priv->handler, "call-channel", &call, NULL);
if (call != NULL)
{