[vlc-commits] display: do not copy opaque pictures

Rémi Denis-Courmont git at videolan.org
Sun Dec 30 18:49:10 CET 2018


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sun Dec 30 19:08:18 2018 +0200| [daf2318b7159740e6bf89fb8766ffafcb78eb799] | committer: Rémi Denis-Courmont

display: do not copy opaque pictures

If the video format is opaque, the useful data is accessed through
picture_t.p_sys. As such, copying a picture into the display pool will
not work.

So do not copy pictures in that case, and instead assume that the
upstream converter or decoder agree with the display on the semantics
of picture_t.p_sys.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=daf2318b7159740e6bf89fb8766ffafcb78eb799
---

 src/video_output/display.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/video_output/display.c b/src/video_output/display.c
index 421b6048dd..c68dcda0fb 100644
--- a/src/video_output/display.c
+++ b/src/video_output/display.c
@@ -628,7 +628,7 @@ picture_t *vout_FilterDisplay(vout_display_t *vd, picture_t *picture)
 
     picture = filter_chain_VideoFilter(osys->converters, picture);
 
-    if (picture != NULL && vd->pool != NULL) {
+    if (picture != NULL && vd->pool != NULL && picture->i_planes > 0) {
         picture_pool_t *pool = vd->pool(vd, 3);
 
         if (!picture_pool_OwnsPic(pool, picture)) {



More information about the vlc-commits mailing list