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/qsvenc.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/qsvenc.c')
-rw-r--r-- | libavcodec/qsvenc.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c index 3f376399c9..576bf68e18 100644 --- a/libavcodec/qsvenc.c +++ b/libavcodec/qsvenc.c @@ -217,12 +217,12 @@ int ff_qsv_enc_init(AVCodecContext *avctx, QSVEncContext *q) } if (!q->session) { - ret = ff_qsv_init_internal_session(avctx, &q->internal_session, + ret = ff_qsv_init_internal_session(avctx, &q->internal_qs, q->load_plugins); if (ret < 0) return ret; - q->session = q->internal_session; + q->session = q->internal_qs.session; } ret = init_video_param(avctx, q); @@ -460,10 +460,9 @@ int ff_qsv_enc_close(AVCodecContext *avctx, QSVEncContext *q) QSVFrame *cur; MFXVideoENCODE_Close(q->session); - if (q->internal_session) - MFXClose(q->internal_session); - q->session = NULL; - q->internal_session = NULL; + q->session = NULL; + + ff_qsv_close_internal_session(&q->internal_qs); cur = q->work_frames; while (cur) { |