diff options
author | Ivan Uskov <ivan.uskov@nablet.com> | 2015-07-13 10:17:54 -0400 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2015-07-14 02:02:55 +0200 |
commit | ce91bab70f69acc1a7e5705af95cc6fa89765825 (patch) | |
tree | d2464e5c989adee7fc0278ae0cdef042fd80459a /libavcodec/qsvdec.c | |
parent | 96e1cc3f8b6b0b5b19820609b23642bde1ee7e7c (diff) | |
download | ffmpeg-ce91bab70f69acc1a7e5705af95cc6fa89765825.tar.gz |
libavcodec/qsv.c: Issue fixed: QSV engine does not release display handler under linux platform.
Reviewed-by: Gwenole Beauchesne <gb.devel@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/qsvdec.c')
-rw-r--r-- | libavcodec/qsvdec.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c index 67e8ef0ce5..52df028ce3 100644 --- a/libavcodec/qsvdec.c +++ b/libavcodec/qsvdec.c @@ -51,13 +51,13 @@ int ff_qsv_map_pixfmt(enum AVPixelFormat format) static int qsv_init_session(AVCodecContext *avctx, QSVContext *q, mfxSession session) { if (!session) { - if (!q->internal_session) { - int ret = ff_qsv_init_internal_session(avctx, &q->internal_session, NULL); + if (!q->internal_qs.session) { + int ret = ff_qsv_init_internal_session(avctx, &q->internal_qs, NULL); if (ret < 0) return ret; } - q->session = q->internal_session; + q->session = q->internal_qs.session; } else { q->session = session; } @@ -282,9 +282,7 @@ int ff_qsv_decode_close(QSVContext *q) av_freep(&cur); cur = q->work_frames; } - - if (q->internal_session) - MFXClose(q->internal_session); + ff_qsv_close_internal_session(&q->internal_qs); return 0; } |