From 930071d189499f735b7e5529dde986538ce3dcd9 Mon Sep 17 00:00:00 2001 From: BtbN Date: Fri, 26 Jul 2013 10:34:50 +0200 Subject: VAAPI: Add check for maximum surface count in EnsureSurfaces --- xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp index 84452848d6..7951ee7bb1 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp @@ -396,6 +396,12 @@ bool CDecoder::EnsureSurfaces(AVCodecContext *avctx, unsigned n_surfaces_count) { CLog::Log(LOGDEBUG, "VAAPI - making sure %d surfaces are allocated for given %d references", n_surfaces_count, avctx->refs); + if(n_surfaces_count > m_surfaces_max) + { + CLog::Log(LOGERROR, "VAAPI - Failed to ensure surfaces! Requested %d surfaces. Maximum possible count is %d!", n_surfaces_count, m_surfaces_max); + return false; + } + if(n_surfaces_count <= m_surfaces_count) return true; -- cgit v1.2.3