ffmpeg | branch: master | Luca Barbato <[email protected]> | Mon Sep 25 09:57:30 2017 +0000| [ccbb31c14b766ef666ef2daa8c467e478183a957] | committer: Luca Barbato
qsv: Make sure the session is set with the latest version It is needed to have the calls to MFXJoinSession succeed. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ccbb31c14b766ef666ef2daa8c467e478183a957 --- libavutil/hwcontext_qsv.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c index e0f6875b40..5018a05b9a 100644 --- a/libavutil/hwcontext_qsv.c +++ b/libavutil/hwcontext_qsv.c @@ -1029,6 +1029,23 @@ static int qsv_device_derive_from_child(AVHWDeviceContext *ctx, goto fail; } + err = MFXQueryVersion(hwctx->session, &ver); + if (err != MFX_ERR_NONE) { + av_log(ctx, AV_LOG_ERROR, "Error querying an MFX session: %d.\n", err); + ret = AVERROR_UNKNOWN; + goto fail; + } + + MFXClose(hwctx->session); + + err = MFXInit(implementation, &ver, &hwctx->session); + if (err != MFX_ERR_NONE) { + av_log(ctx, AV_LOG_ERROR, + "Error initializing an MFX session: %d.\n", err); + ret = AVERROR_UNKNOWN; + goto fail; + } + err = MFXVideoCORE_SetHandle(hwctx->session, handle_type, handle); if (err != MFX_ERR_NONE) { av_log(ctx, AV_LOG_ERROR, "Error setting child device handle: " _______________________________________________ ffmpeg-cvslog mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
