[clutter-gst/clutter-gst-2.0] Add HW decoder support back.
- From: Lionel Landwerlin <llandwerlin src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter-gst/clutter-gst-2.0] Add HW decoder support back.
- Date: Tue, 23 Apr 2013 17:10:30 +0000 (UTC)
commit a02ee9a4bcb9be06491258d3dedec10bd2d08a2c
Author: Gwenole Beauchesne <gwenole beauchesne intel com>
Date: Mon Apr 15 11:24:04 2013 +0200
Add HW decoder support back.
clutter-gst/clutter-gst-video-sink.c | 12 ++++++++----
configure.ac | 17 +++++++----------
2 files changed, 15 insertions(+), 14 deletions(-)
---
diff --git a/clutter-gst/clutter-gst-video-sink.c b/clutter-gst/clutter-gst-video-sink.c
index 347329d..1a93f8f 100644
--- a/clutter-gst/clutter-gst-video-sink.c
+++ b/clutter-gst/clutter-gst-video-sink.c
@@ -357,6 +357,9 @@ clutter_gst_parse_caps (GstCaps * caps,
format = CLUTTER_GST_RGB32;
bgr = TRUE;
break;
+ case GST_VIDEO_FORMAT_ENCODED:
+ format = CLUTTER_GST_SURFACE;
+ break;
default:
goto unhandled_format;
}
@@ -1088,13 +1091,13 @@ clutter_gst_hw_deinit (ClutterGstVideoSink * sink)
priv->converter = NULL;
}
-static void
+static gboolean
clutter_gst_hw_upload (ClutterGstVideoSink * sink, GstBuffer * buffer)
{
ClutterGstVideoSinkPrivate *priv = sink->priv;
GstSurfaceMeta *surface = gst_buffer_get_surface_meta (buffer);
- g_return_if_fail (surface != NULL);
+ g_return_val_if_fail (surface != NULL, FALSE);
if (G_UNLIKELY (priv->converter == NULL)) {
CoglHandle tex;
@@ -1110,20 +1113,21 @@ clutter_gst_hw_upload (ClutterGstVideoSink * sink, GstBuffer * buffer)
priv->converter =
gst_surface_meta_create_converter (surface, "opengl", &value);
- g_return_if_fail (priv->converter);
+ g_return_val_if_fail (priv->converter, FALSE);
}
gst_surface_converter_upload (priv->converter, buffer);
/* The texture is dirty, schedule a redraw */
clutter_actor_queue_redraw (CLUTTER_ACTOR (priv->texture));
+ return TRUE;
}
static ClutterGstRenderer hw_renderer = {
"HW surface",
CLUTTER_GST_SURFACE,
0,
- GST_STATIC_CAPS ("x-video/surface, opengl=true"),
+ GST_STATIC_CAPS ("video/x-surface, opengl=true"),
clutter_gst_hw_init,
clutter_gst_hw_deinit,
clutter_gst_hw_upload,
diff --git a/configure.ac b/configure.ac
index 1b38725..6e13c84 100644
--- a/configure.ac
+++ b/configure.ac
@@ -209,16 +209,13 @@ AS_IF([test "x$have_cogl_osx" = xyes],
dnl ========================================================================
dnl Experimental support for hardware accelerated decoders.
-dnl Temporarily disabling for GStreamer 1.0 since it's causing too many issues
-dnl and the API for hw support isn't yet put in stone
-have_hw_decoder_support=no
-# PKG_CHECK_MODULES(HW,
-# [gstreamer-basevideo-$GST_MAJORMINOR >= $GST_PLUGINS_BAD_REQ_VERSION],
-# [
-# have_hw_decoder_support=yes
-# AC_DEFINE([HAVE_HW_DECODER_SUPPORT], [1],
-# ["Defined if building Clutter with HW decoder support"])
-# ],[ have_hw_decoder_support=no ])
+PKG_CHECK_MODULES(HW,
+ [gstreamer-basevideo-$GST_MAJORMINOR >= $GST_PLUGINS_BAD_REQ_VERSION],
+ [
+ have_hw_decoder_support=yes
+ AC_DEFINE([HAVE_HW_DECODER_SUPPORT], [1],
+ ["Defined if building Clutter with HW decoder support"])
+ ],[ have_hw_decoder_support=no ])
dnl ========================================================================
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]