From eee0f97c18dcfb1a0aecf17b49f804c0cf82bff8 Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Fri, 24 Jun 2022 22:17:28 +0900 Subject: [PATCH] d3d11: Add a helper method for GstContext creation Add gst_d3d11_context_new() method for application to create GstContext using GstD3D11Device. Part-of: --- .../gst-libs/gst/d3d11/gstd3d11utils.cpp | 24 ++++++++++++++++++++++ .../gst-libs/gst/d3d11/gstd3d11utils.h | 3 +++ 2 files changed, 27 insertions(+) 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 4e2db8d..f6f7728 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11utils.cpp +++ b/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11utils.cpp @@ -492,6 +492,30 @@ gst_d3d11_ensure_element_data_for_adapter_luid (GstElement * element, } /** + * 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 8c59c1f..8a33747 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11utils.h +++ b/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11utils.h @@ -52,6 +52,9 @@ gboolean gst_d3d11_ensure_element_data_for_adapter_luid (GstElement * ele GstD3D11Device ** device); GST_D3D11_API +GstContext * gst_d3d11_context_new (GstD3D11Device * device); + +GST_D3D11_API gint64 gst_d3d11_luid_to_int64 (const LUID * luid); GST_D3D11_API -- 2.7.4