hwcontext: Perform usual initialisation on derived device contexts

The initialisation should be common.  For libmfx, it was previously
happening in the derivation function and this moves it out.
This commit is contained in:
Mark Thompson 2017-10-08 15:19:17 +01:00
parent c6bc18bc12
commit caecb85014
2 changed files with 4 additions and 11 deletions

View File

@ -645,6 +645,10 @@ int av_hwdevice_ctx_create_derived(AVBufferRef **dst_ref_ptr,
goto fail;
done:
ret = av_hwdevice_ctx_init(dst_ref);
if (ret < 0)
goto fail;
*dst_ref_ptr = dst_ref;
return 0;

View File

@ -989,7 +989,6 @@ static int qsv_device_derive_from_child(AVHWDeviceContext *ctx,
int flags)
{
AVQSVDeviceContext *hwctx = ctx->hwctx;
QSVDeviceContext *s = ctx->internal->priv;
mfxVersion ver = { { 3, 1 } };
mfxHDL handle;
@ -1058,16 +1057,6 @@ static int qsv_device_derive_from_child(AVHWDeviceContext *ctx,
goto fail;
}
ret = qsv_device_init(ctx);
if (ret < 0)
goto fail;
if (s->handle_type != handle_type) {
av_log(ctx, AV_LOG_ERROR, "Error in child device handle setup: "
"type mismatch (%d != %d).\n", s->handle_type, handle_type);
err = AVERROR_UNKNOWN;
goto fail;
}
return 0;
fail: