diff options
Diffstat (limited to 'va/android/va_android.cpp')
-rw-r--r-- | va/android/va_android.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/va/android/va_android.cpp b/va/android/va_android.cpp index 0c2b0b5..01ce1b9 100644 --- a/va/android/va_android.cpp +++ b/va/android/va_android.cpp @@ -116,7 +116,18 @@ static VAStatus va_DisplayContextGetDriverName ( } drm_state->auth_type = VA_DRM_AUTH_CUSTOM; - return VA_DRM_GetDriverName(ctx, driver_name); + if (driver_name == NULL) + return VA_STATUS_ERROR_UNKNOWN; + + if (strncmp((char *)ctx->native_dpy, "libva_driver_name=", 18) == 0) { + *driver_name = strdup((char *)ctx->native_dpy + 18); + if (*driver_name == NULL) + return VA_STATUS_ERROR_ALLOCATION_FAILED; + else + return VA_STATUS_SUCCESS; + } else { + return VA_DRM_GetDriverName(ctx, driver_name); + } } |