diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11utils.cpp b/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11utils.cpp index 4e2db8db62..f6f772813a 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11utils.cpp +++ b/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11utils.cpp @@ -491,6 +491,30 @@ gst_d3d11_ensure_element_data_for_adapter_luid (GstElement * element, return TRUE; } +/** + * gst_d3d11_context_new: + * @device: (transfer none): a #GstD3D11Device + * + * Creates a new #GstContext object with @device + * + * Returns: a #GstContext object + * + * Since: 1.22 + */ + +GstContext * +gst_d3d11_context_new (GstD3D11Device * device) +{ + GstContext *context; + + g_return_val_if_fail (GST_IS_D3D11_DEVICE (device), nullptr); + + context = gst_context_new (GST_D3D11_DEVICE_HANDLE_CONTEXT_TYPE, TRUE); + context_set_d3d11_device (context, device); + + return context; +} + /** * gst_d3d11_luid_to_int64: * @luid: A pointer to LUID struct diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11utils.h b/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11utils.h index 8c59c1f484..8a33747fc5 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11utils.h +++ b/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11utils.h @@ -51,6 +51,9 @@ gboolean gst_d3d11_ensure_element_data_for_adapter_luid (GstElement * ele gint64 adapter_luid, GstD3D11Device ** device); +GST_D3D11_API +GstContext * gst_d3d11_context_new (GstD3D11Device * device); + GST_D3D11_API gint64 gst_d3d11_luid_to_int64 (const LUID * luid);