[vlc-commits] Use the correct picture pool to render subtitles.

Laurent Aimar git at videolan.org
Sat Mar 5 13:34:42 CET 2011


vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Sat Mar  5 12:51:25 2011 +0100| [ecc645ccce5b41868291279dbe54356e6d505650] | committer: Laurent Aimar

Use the correct picture pool to render subtitles.

When direct rendering was enabled, we used the display pool which can be
empty, leading to pictures being skipped.

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

 src/video_output/video_output.c |   15 +++++----------
 1 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index 34a259d..0d689b2 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -956,16 +956,14 @@ static int ThreadDisplayRenderPicture(vout_thread_t *vout, bool is_forced)
      * - be sure to end up with a direct buffer.
      * - blend subtitles, and in a fast access buffer
      */
-    bool is_direct;
-    picture_t *todisplay;
-
-    if (filtered && do_early_spu && subpic) {
-        if (vd->info.is_slow) {
+    bool is_direct = vout->p->decoder_pool == vout->p->display_pool;
+    picture_t *todisplay = filtered;
+    if (do_early_spu && subpic) {
+        if (vout->p->is_decoder_pool_slow) {
             is_direct = false;
             todisplay = picture_NewFromFormat(&vd->source); /* FIXME a pool ? */
         } else {
-            is_direct = true;
-            todisplay = picture_pool_Get(vout->p->display_pool);
+            todisplay = picture_pool_Get(vout->p->private_pool);
         }
         if (todisplay) {
             VideoFormatCopyCropAr(&todisplay->format, &filtered->format);
@@ -979,9 +977,6 @@ static int ThreadDisplayRenderPicture(vout_thread_t *vout, bool is_forced)
 
         if (!todisplay)
             return VLC_EGENERIC;
-    } else {
-        is_direct = vout->p->decoder_pool == vout->p->display_pool;
-        todisplay = filtered;
     }
 
     picture_t *direct;



More information about the vlc-commits mailing list