diff options
author | Víctor Manuel Jáquez Leal <vjaquez@igalia.com> | 2017-07-11 17:29:13 +0200 |
---|---|---|
committer | Víctor Manuel Jáquez Leal <vjaquez@igalia.com> | 2017-07-31 18:17:06 +0200 |
commit | 777bba473e3ed1c7b8b7f7f0322892851c70dfd9 (patch) | |
tree | d1e477020502d8b61dcf7690976efcef9705e839 /gst-libs/gst/vaapi/gstvaapiutils.c | |
parent | e0e0a47476ed050209dde61b214a2961ef7fd612 (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.c | 39 |
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 |