{
EmpathyCallWindowPriv *priv = GET_PRIV (self);
- priv->camera_state = CAMERA_STATE_OFF;
display_video_preview (self, FALSE);
+ empathy_call_window_set_send_video (self, FALSE);
block_camera_control_signals (self);
gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (
gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (
priv->tool_button_camera_preview), FALSE);
unblock_camera_control_signals (self);
+
+ priv->camera_state = CAMERA_STATE_OFF;
}
static void
{
EmpathyCallWindowPriv *priv = GET_PRIV (self);
- priv->camera_state = CAMERA_STATE_PREVIEW;
+ if (priv->camera_state == CAMERA_STATE_ON)
+ /* preview is already displayed so we just have to stop sending */
+ empathy_call_window_set_send_video (self, FALSE);
+
display_video_preview (self, TRUE);
block_camera_control_signals (self);
gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (
priv->tool_button_camera_on), FALSE);
unblock_camera_control_signals (self);
+
+ priv->camera_state = CAMERA_STATE_PREVIEW;
}
static void
{
EmpathyCallWindowPriv *priv = GET_PRIV (self);
- priv->camera_state = CAMERA_STATE_ON;
empathy_call_window_set_send_video (self, TRUE);
block_camera_control_signals (self);
gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (
priv->tool_button_camera_preview), FALSE);
unblock_camera_control_signals (self);
+
+ priv->camera_state = CAMERA_STATE_ON;
}
static void