diff options
author | Nicolas Dufresne <nicolas.dufresne@collabora.com> | 2011-07-07 06:18:58 +0800 |
---|---|---|
committer | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2011-11-08 04:07:19 +0800 |
commit | d41e4f40e98cca99005a344a738e0468ae3b84bf (patch) | |
tree | 27009ce3419f338970ed3c4b72a04f3f14e68740 /src | |
parent | d341cb5a4ce8555233e879febe765b1d8d6accd8 (diff) | |
download | gsoc2013-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.c | 34 |
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) { |