[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