summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Lespiau <damien.lespiau@intel.com>2012-04-27 14:45:36 +0100
committerDamien Lespiau <damien.lespiau@intel.com>2012-04-27 14:45:36 +0100
commit2fad0f91de031fe18697fc827706ed2db4e1e350 (patch)
treed33f62907b7b5c0c69a82d51e67ae0ef2096206f
parent10d80387ec266583e26e4bc6ae35b8750b874937 (diff)
downloadclutter-gst-2fad0f91de031fe18697fc827706ed2db4e1e350.tar.gz
Revert "Revert "Revert "Revert "video-texture: Use autocluttersink""""
This reverts commit 9f89087ee96b9c9157e8f1ac2e4b7b98e0b0837d.
-rw-r--r--clutter-gst/clutter-gst-video-texture.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/clutter-gst/clutter-gst-video-texture.c b/clutter-gst/clutter-gst-video-texture.c
index f5fcb6d..8a9e3af 100644
--- a/clutter-gst/clutter-gst-video-texture.c
+++ b/clutter-gst/clutter-gst-video-texture.c
@@ -44,6 +44,7 @@
#include <glib.h>
#include <gio/gio.h>
+#include <gst/base/gstbasesink.h>
#include <gst/video/video.h>
#include "clutter-gst-debug.h"
@@ -531,6 +532,15 @@ idle_cb (ClutterGstVideoTexture *video_texture,
clutter_actor_queue_redraw (CLUTTER_ACTOR (video_texture));
}
+static void
+on_autocluttersink_element_added (GstBin *bin,
+ GstElement *element,
+ ClutterGstVideoTexture *data)
+{
+ if (GST_IS_BASE_SINK (element))
+ g_object_set (G_OBJECT (element), "qos", TRUE, NULL);
+}
+
static gboolean
setup_pipeline (ClutterGstVideoTexture *video_texture)
{
@@ -544,11 +554,14 @@ setup_pipeline (ClutterGstVideoTexture *video_texture)
return FALSE;
}
- video_sink = gst_element_factory_make ("cluttersink", NULL);
+ video_sink = gst_element_factory_make ("autocluttersink", NULL);
+ g_signal_connect (video_sink,
+ "element-added",
+ G_CALLBACK (on_autocluttersink_element_added),
+ video_texture);
g_object_set (G_OBJECT (video_sink),
"texture", CLUTTER_TEXTURE (video_texture),
- "qos", TRUE,
- "sync", TRUE, NULL);
+ NULL);
g_object_set (G_OBJECT (pipeline),
"video-sink", video_sink,
"subtitle-font-desc", "Sans 16",