aboutsummaryrefslogtreecommitdiffstats
path: root/src/empathy-call-window.c
diff options
context:
space:
mode:
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-05-04 17:59:35 +0800
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-05-04 17:59:35 +0800
commit761c4da4a72672f5aa6a3e21dea88ec8fb03733b (patch)
tree6a57d4ea35b661ea85ae9427c8b09a6970cb6655 /src/empathy-call-window.c
parent39a95ab4ddfea6bd10a7c326168ed04b1084555a (diff)
parentc33fdeaba0949ce84d3b3fabc56007d3ab9de7e9 (diff)
downloadgsoc2013-empathy-761c4da4a72672f5aa6a3e21dea88ec8fb03733b.tar
gsoc2013-empathy-761c4da4a72672f5aa6a3e21dea88ec8fb03733b.tar.gz
gsoc2013-empathy-761c4da4a72672f5aa6a3e21dea88ec8fb03733b.tar.bz2
gsoc2013-empathy-761c4da4a72672f5aa6a3e21dea88ec8fb03733b.tar.lz
gsoc2013-empathy-761c4da4a72672f5aa6a3e21dea88ec8fb03733b.tar.xz
gsoc2013-empathy-761c4da4a72672f5aa6a3e21dea88ec8fb03733b.tar.zst
gsoc2013-empathy-761c4da4a72672f5aa6a3e21dea88ec8fb03733b.zip
Merge branch 'empathy-skype' into debian
Diffstat (limited to 'src/empathy-call-window.c')
-rw-r--r--src/empathy-call-window.c38
1 files changed, 15 insertions, 23 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index 3f260327a..0e1b55fdb 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -667,12 +667,6 @@ add_video_preview_to_pipeline (EmpathyCallWindow *self)
return;
}
- if (!gst_bin_add (GST_BIN (priv->pipeline), priv->video_tee))
- {
- g_warning ("Could not add video tee to pipeline");
- return;
- }
-
if (!gst_bin_add (GST_BIN (priv->pipeline), preview))
{
g_warning ("Could not add video preview to pipeline");
@@ -699,7 +693,6 @@ create_video_preview (EmpathyCallWindow *self)
GstBus *bus;
g_assert (priv->video_preview == NULL);
- g_assert (priv->video_tee == NULL);
bus = gst_pipeline_get_bus (GST_PIPELINE (priv->pipeline));
@@ -710,10 +703,6 @@ create_video_preview (EmpathyCallWindow *self)
gtk_box_pack_start (GTK_BOX (priv->self_user_output_hbox),
priv->video_preview, TRUE, TRUE, 0);
- priv->video_tee = gst_element_factory_make ("tee", NULL);
- gst_object_ref (priv->video_tee);
- gst_object_sink (priv->video_tee);
-
g_object_unref (bus);
}
@@ -990,6 +979,12 @@ create_pipeline (EmpathyCallWindow *self)
priv->pipeline = gst_pipeline_new (NULL);
priv->pipeline_playing = FALSE;
+ priv->video_tee = gst_element_factory_make ("tee", NULL);
+ gst_object_ref (priv->video_tee);
+ gst_object_sink (priv->video_tee);
+
+ gst_bin_add (GST_BIN (priv->pipeline), priv->video_tee);
+
bus = gst_pipeline_get_bus (GST_PIPELINE (priv->pipeline));
priv->bus_message_source_id = gst_bus_add_watch (bus,
empathy_call_window_bus_message, self);
@@ -2594,21 +2589,18 @@ empathy_call_window_sink_added_cb (EmpathyCallHandler *handler,
retval = TRUE;
break;
case FS_MEDIA_TYPE_VIDEO:
- if (priv->video_input != NULL)
+ if (priv->video_tee != NULL)
{
- if (priv->video_tee != NULL)
+ pad = gst_element_get_request_pad (priv->video_tee, "src%d");
+ if (GST_PAD_LINK_FAILED (gst_pad_link (pad, sink)))
{
- pad = gst_element_get_request_pad (priv->video_tee, "src%d");
- if (GST_PAD_LINK_FAILED (gst_pad_link (pad, sink)))
- {
- g_warning ("Could not link video source input pipeline");
- break;
- }
- gst_object_unref (pad);
+ g_warning ("Could not link video source input pipeline");
+ break;
}
-
- retval = TRUE;
+ gst_object_unref (pad);
}
+
+ retval = TRUE;
break;
default:
g_assert_not_reached ();
@@ -2634,7 +2626,7 @@ empathy_call_window_remove_video_input (EmpathyCallWindow *self)
gst_element_set_state (preview, GST_STATE_NULL);
gst_bin_remove_many (GST_BIN (priv->pipeline), priv->video_input,
- priv->video_tee, preview, NULL);
+ preview, NULL);
g_object_unref (priv->video_input);
priv->video_input = NULL;