diff options
Diffstat (limited to 'sys/d3d11/gstd3d11utils.c')
-rw-r--r-- | sys/d3d11/gstd3d11utils.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/sys/d3d11/gstd3d11utils.c b/sys/d3d11/gstd3d11utils.c index 32a701828..7d33048d1 100644 --- a/sys/d3d11/gstd3d11utils.c +++ b/sys/d3d11/gstd3d11utils.c @@ -342,6 +342,27 @@ gst_d3d11_is_windows_8_or_greater (void) return ret; } +gboolean +gst_d3d11_is_xbox_device (GstD3D11Device * device) +{ + guint device_id = 0; + guint vendor_id = 0; + gchar *desc = NULL; + gboolean ret = FALSE; + + g_return_val_if_fail (GST_IS_D3D11_DEVICE (device), FALSE); + + g_object_get (device, "device-id", &device_id, "vendor-id", &vendor_id, + "description", &desc, NULL); + + if (device_id == 0 && vendor_id == 0 && desc && g_strrstr (desc, "SraKmd")) + ret = TRUE; + + g_free (desc); + + return ret; +} + static gchar * gst_d3d11_hres_to_string (HRESULT hr) { |