summaryrefslogtreecommitdiff
path: root/gst-libs/gst/vaapi/gstvaapiutils.c
diff options
context:
space:
mode:
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>2017-07-11 17:29:13 +0200
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>2017-07-31 18:17:06 +0200
commit777bba473e3ed1c7b8b7f7f0322892851c70dfd9 (patch)
treed1e477020502d8b61dcf7690976efcef9705e839 /gst-libs/gst/vaapi/gstvaapiutils.c
parente0e0a47476ed050209dde61b214a2961ef7fd612 (diff)
libs: utils: libva 1.0 changed the logging
The logging mechanism in libva has changed it's functions signatures. This patch updates that for libva versions >= 1.0 https://bugzilla.gnome.org/show_bug.cgi?id=784398
Diffstat (limited to 'gst-libs/gst/vaapi/gstvaapiutils.c')
-rw-r--r--gst-libs/gst/vaapi/gstvaapiutils.c39
1 files changed, 35 insertions, 4 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapiutils.c b/gst-libs/gst/vaapi/gstvaapiutils.c
index 0ed1efe1..c24bed7b 100644
--- a/gst-libs/gst/vaapi/gstvaapiutils.c
+++ b/gst-libs/gst/vaapi/gstvaapiutils.c
@@ -46,15 +46,43 @@
#define STRCASE(x) case x: return STRINGIFY(x)
#if VA_CHECK_VERSION (0,40,0)
-static void
-gst_vaapi_log (const char *message)
+static gchar *
+strip_msg (const char *message)
{
gchar *msg;
msg = g_strdup (message);
if (!msg)
+ return NULL;
+ return g_strstrip (msg);
+}
+
+#if VA_CHECK_VERSION (1,0,0)
+static void
+gst_vaapi_err (void *data, const char *message)
+{
+ gchar *msg;
+
+ msg = strip_msg (message);
+ if (!msg)
+ return;
+ GST_ERROR ("%s", msg);
+ g_free (msg);
+}
+#endif
+
+static void
+gst_vaapi_log (
+#if VA_CHECK_VERSION (1,0,0)
+ void *data,
+#endif
+ const char *message)
+{
+ gchar *msg;
+
+ msg = strip_msg (message);
+ if (!msg)
return;
- g_strchomp (msg);
GST_INFO ("%s", msg);
g_free (msg);
}
@@ -66,7 +94,10 @@ vaapi_initialize (VADisplay dpy)
gint major_version, minor_version;
VAStatus status;
-#if VA_CHECK_VERSION (0,40,0)
+#if VA_CHECK_VERSION (1,0,0)
+ vaSetErrorCallback (dpy, gst_vaapi_err, NULL);
+ vaSetInfoCallback (dpy, gst_vaapi_log, NULL);
+#elif VA_CHECK_VERSION (0,40,0)
vaSetInfoCallback (gst_vaapi_log);
#endif