[FFmpeg-cvslog] Merge commit 'ccbb31c14b766ef666ef2daa8c467e478183a957'

James Almer git at videolan.org
Sat Nov 11 20:25:00 EET 2017


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Sat Nov 11 15:23:49 2017 -0300| [8c82c4d25d363eca035f2c23e8257c1d4c7a20d3] | committer: James Almer

Merge commit 'ccbb31c14b766ef666ef2daa8c467e478183a957'

* commit 'ccbb31c14b766ef666ef2daa8c467e478183a957':
  qsv: Make sure the session is set with the latest version

Merged-by: James Almer <jamrial at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8c82c4d25d363eca035f2c23e8257c1d4c7a20d3
---

 libavutil/hwcontext_qsv.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c
index f1d16d8bf9..8e43420e70 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