diff options
author | Víctor Manuel Jáquez Leal <vjaquez@igalia.com> | 2017-07-11 17:29:13 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2017-10-19 15:25:05 +0200 |
commit | 4c77aba7ceeb39748bc08a3a98cd0b8a53c4c297 (patch) | |
tree | 5357d93ef725c333d0f41def0b8056e1a007ff08 | |
parent | de014623d60156a734f3f7e5af30c85afe9b0b80 (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
-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 |