summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert McQueen <robert.mcqueen@collabora.co.uk>2006-12-29 18:57:23 +0000
committerRobert McQueen <robert.mcqueen@collabora.co.uk>2006-12-29 18:57:23 +0000
commitdbe331c90352fdb2afd3fd621233544c24b03357 (patch)
treea55e454c2e1ceb19f60e8f8b259344385fd54a4e
parent155f41311797eb5de03584471ea4add515add9c4 (diff)
downloadtelepathy-farstream-dbe331c90352fdb2afd3fd621233544c24b03357.tar.gz
use new video sink making function for output windows too
20061229185723-418b8-ac7779fe42eea6cf6c58ec0b62b1e3da6efc814a.gz
-rw-r--r--src/stream.c25
1 files changed, 10 insertions, 15 deletions
diff --git a/src/stream.c b/src/stream.c
index b76294e..c7db24b 100644
--- a/src/stream.c
+++ b/src/stream.c
@@ -1458,8 +1458,7 @@ tp_stream_engine_stream_set_output_window (
{
TpStreamEngineStreamPrivate *priv = STREAM_PRIVATE (stream);
TpStreamEngine *engine;
- GstElement *pipeline, *sink;
- const gchar *videosink_name;
+ GstElement *sink;
if (stream->media_type != FARSIGHT_MEDIA_TYPE_VIDEO)
{
@@ -1496,24 +1495,20 @@ tp_stream_engine_stream_set_output_window (
return TRUE;
}
- DEBUG (stream, "putting video output in window %d", window_id);
+ sink = tp_stream_engine_make_video_sink (engine);
- if ((videosink_name = getenv ("FS_VIDEO_SINK")) || (videosink_name = getenv("FS_VIDEOSINK")))
- {
- DEBUG (stream, "making video sink with pipeline \"%s\"", videosink_name);
- sink = gst_parse_bin_from_description (videosink_name, TRUE, NULL);
- }
- else
+ if (sink == NULL)
{
- DEBUG (stream, "using xvimagesink");
- sink = gst_element_factory_make ("xvimagesink", NULL);
- g_object_set (sink, "sync", FALSE, NULL);
+ DEBUG (stream, "failed to make video sink, no output for window %d :(",
+ window_id);
+ g_set_error (error, TELEPATHY_ERRORS, NotAvailable, "failed to make a "
+ "video sink");
+ return FALSE;
}
- tp_stream_engine_add_output_window (engine, stream, sink, window_id);
- pipeline = tp_stream_engine_get_pipeline (engine);
- gst_bin_add (GST_BIN (pipeline), sink);
+ DEBUG (stream, "putting video output in window %d", window_id);
+ tp_stream_engine_add_output_window (engine, stream, sink, window_id);
farsight_stream_set_sink (priv->fs_stream, sink);
gst_object_unref (sink);