[FFmpeg-cvslog] qsv: Make sure the session is set with the latest version
Luca Barbato
git at videolan.org
Sat Nov 11 20:24:56 EET 2017
ffmpeg | branch: master | Luca Barbato <lu_zero at gentoo.org> | 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: "
More information about the ffmpeg-cvslog
mailing list