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:
He Junyan 2024-02-26 22:19:57 +08:00 committed by GStreamer Marge Bot
parent 1a78d61b9f
commit a5a1944db4
3 changed files with 12 additions and 18 deletions

View file

@ -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);

View file

@ -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);

View file

@ -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);