From d6fbec5a4444faca6b3457632acf35a5cfc41ad5 Mon Sep 17 00:00:00 2001 From: Haihao Xiang Date: Fri, 3 Jan 2020 15:27:30 +0800 Subject: [PATCH] msdk: make sure the found response meets the request Otherwise the re-used msdk response doesn't have enough frames so it is possible the pipeline will be broken --- sys/msdk/gstmsdkcontext.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/msdk/gstmsdkcontext.c b/sys/msdk/gstmsdkcontext.c index d93b3e2..b2341d3 100644 --- a/sys/msdk/gstmsdkcontext.c +++ b/sys/msdk/gstmsdkcontext.c @@ -357,7 +357,8 @@ _find_request (gconstpointer resp, gconstpointer req) /* Confirm if it's under the size of the cached response */ if (_req->Info.Width <= cached_resp->request.Info.Width && - _req->Info.Height <= cached_resp->request.Info.Height) { + _req->Info.Height <= cached_resp->request.Info.Height && + _req->NumFrameSuggested <= cached_resp->request.NumFrameSuggested) { return _req->Type & cached_resp-> request.Type & MFX_MEMTYPE_FROM_DECODE ? 0 : -1; } -- 2.7.4