[vlc-commits] vout_wrapper: use separate private pool if formats don't match
Steve Lhomme
git at videolan.org
Mon Nov 4 10:27:39 CET 2019
vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Mon Oct 28 14:32:38 2019 +0100| [0580e472856db8eb59fef692b2dbc9b157707df5] | committer: Steve Lhomme
vout_wrapper: use separate private pool if formats don't match
Partially reverts 857aa22f2c3e9624b1dd680f73bedd00244aa11d
Partially fixes #23031
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0580e472856db8eb59fef692b2dbc9b157707df5
---
src/video_output/vout_wrapper.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/video_output/vout_wrapper.c b/src/video_output/vout_wrapper.c
index 5d841163f9..9e5b14a56b 100644
--- a/src/video_output/vout_wrapper.c
+++ b/src/video_output/vout_wrapper.c
@@ -98,8 +98,17 @@ vout_display_t *vout_OpenWrapper(vout_thread_t *vout,
reserved_picture, picture_pool_GetSize(display_pool));
#endif
- sys->private_pool = picture_pool_Reserve(display_pool, private_picture);
+ if (!vout_IsDisplayFiltered(vd) &&
+ picture_pool_GetSize(display_pool) >= reserved_picture) {
+ sys->private_pool = picture_pool_Reserve(display_pool, private_picture);
+ } else {
+ sys->private_pool =
+ picture_pool_NewFromFormat(&vd->source,
+ __MAX(VOUT_MAX_PICTURES,
+ reserved_picture - DISPLAY_PICTURE_COUNT));
+ }
if (sys->private_pool == NULL) {
+ picture_pool_Release(display_pool);
goto error;
}
sys->display_pool = display_pool;
More information about the vlc-commits
mailing list