mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 03:35:21 +00:00
MSDK: Set the job type when create context from external handle
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6221>
This commit is contained in:
parent
1a78d61b9f
commit
a5a1944db4
3 changed files with 12 additions and 18 deletions
|
@ -301,17 +301,15 @@ gst_msdkdec_set_context (GstElement * element, GstContext * context)
|
|||
gst_object_unref (msdk_context);
|
||||
} else
|
||||
#ifndef _WIN32
|
||||
if (gst_msdk_context_from_external_va_display (context,
|
||||
thiz->hardware, 0 /* GST_MSDK_JOB_DECODER will be set later */ ,
|
||||
&msdk_context)) {
|
||||
if (gst_msdk_context_from_external_va_display (context,
|
||||
thiz->hardware, GST_MSDK_JOB_DECODER, &msdk_context)) {
|
||||
gst_object_replace ((GstObject **) & thiz->context,
|
||||
(GstObject *) msdk_context);
|
||||
gst_object_unref (msdk_context);
|
||||
}
|
||||
#else
|
||||
if (gst_msdk_context_from_external_d3d11_device (context,
|
||||
thiz->hardware, 0 /* GST_MSDK_JOB_DECODER will be set later */ ,
|
||||
&msdk_context)) {
|
||||
if (gst_msdk_context_from_external_d3d11_device (context,
|
||||
thiz->hardware, GST_MSDK_JOB_DECODER, &msdk_context)) {
|
||||
gst_object_replace ((GstObject **) & thiz->context,
|
||||
(GstObject *) msdk_context);
|
||||
gst_object_unref (msdk_context);
|
||||
|
|
|
@ -133,17 +133,15 @@ gst_msdkenc_set_context (GstElement * element, GstContext * context)
|
|||
gst_object_unref (msdk_context);
|
||||
} else
|
||||
#ifndef _WIN32
|
||||
if (gst_msdk_context_from_external_va_display (context,
|
||||
thiz->hardware, 0 /* GST_MSDK_JOB_ENCODER will be set later */ ,
|
||||
&msdk_context)) {
|
||||
if (gst_msdk_context_from_external_va_display (context,
|
||||
thiz->hardware, GST_MSDK_JOB_ENCODER, &msdk_context)) {
|
||||
gst_object_replace ((GstObject **) & thiz->context,
|
||||
(GstObject *) msdk_context);
|
||||
gst_object_unref (msdk_context);
|
||||
}
|
||||
#else
|
||||
if (gst_msdk_context_from_external_d3d11_device (context,
|
||||
thiz->hardware, 0 /* GST_MSDK_JOB_ENCODER will be set later */ ,
|
||||
&msdk_context)) {
|
||||
if (gst_msdk_context_from_external_d3d11_device (context,
|
||||
thiz->hardware, GST_MSDK_JOB_ENCODER, &msdk_context)) {
|
||||
gst_object_replace ((GstObject **) & thiz->context,
|
||||
(GstObject *) msdk_context);
|
||||
gst_object_unref (msdk_context);
|
||||
|
|
|
@ -1781,17 +1781,15 @@ gst_msdkvpp_set_context (GstElement * element, GstContext * context)
|
|||
gst_object_unref (msdk_context);
|
||||
} else
|
||||
#ifndef _WIN32
|
||||
if (gst_msdk_context_from_external_va_display (context,
|
||||
thiz->hardware, 0 /* GST_MSDK_JOB_VPP will be set later */ ,
|
||||
&msdk_context)) {
|
||||
if (gst_msdk_context_from_external_va_display (context,
|
||||
thiz->hardware, GST_MSDK_JOB_VPP, &msdk_context)) {
|
||||
gst_object_replace ((GstObject **) & thiz->context,
|
||||
(GstObject *) msdk_context);
|
||||
gst_object_unref (msdk_context);
|
||||
}
|
||||
#else
|
||||
if (gst_msdk_context_from_external_d3d11_device (context,
|
||||
thiz->hardware, 0 /* GST_MSDK_JOB_VPP will be set later */ ,
|
||||
&msdk_context)) {
|
||||
if (gst_msdk_context_from_external_d3d11_device (context,
|
||||
thiz->hardware, GST_MSDK_JOB_VPP, &msdk_context)) {
|
||||
gst_object_replace ((GstObject **) & thiz->context,
|
||||
(GstObject *) msdk_context);
|
||||
gst_object_unref (msdk_context);
|
||||
|
|
Loading…
Reference in a new issue