[vlc-devel] commit: vout: avoid applying subtitle offset twice and modify behavior when subtitles overlap (Jakob Leben )
git version control
git at videolan.org
Sun Nov 29 12:12:37 CET 2009
vlc | branch: master | Jakob Leben <jleben at videolan.org> | Sun Nov 29 12:08:36 2009 +0100| [4c627dc613cfc9d740691baefdf1fe74108b4a63] | committer: Jakob Leben
vout: avoid applying subtitle offset twice and modify behavior when subtitles overlap
Fixes the glitch when displaying subtitles and subtitle position != 0.
Modifies behavior when subtitles overlap: newer subtitles push older ones higher
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4c627dc613cfc9d740691baefdf1fe74108b4a63
---
src/video_output/vout_subpictures.c | 9 ++-------
1 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/src/video_output/vout_subpictures.c b/src/video_output/vout_subpictures.c
index e440967..47e24ea 100644
--- a/src/video_output/vout_subpictures.c
+++ b/src/video_output/vout_subpictures.c
@@ -519,17 +519,10 @@ void spu_RenderSubpictures( spu_t *p_spu,
if( p_subpic->b_subtitle )
{
area = spu_area_unscaled( area, scale );
- if( !p_subpic->b_absolute && area.i_width > 0 && area.i_height > 0 )
- {
- p_region->i_x = area.i_x;
- p_region->i_y = area.i_y;
- }
if( p_subtitle_area )
p_subtitle_area[i_subtitle_area++] = area;
}
}
- if( p_subpic->b_subtitle )
- p_subpic->b_absolute = true;
}
/* */
@@ -1670,6 +1663,8 @@ static int SubpictureCmp( const void *s0, const void *s1 )
r = IntegerCmp( p_subpic0->i_channel, p_subpic1->i_channel );
if( !r )
r = IntegerCmp( p_subpic0->i_order, p_subpic1->i_order );
+ //NOTE We swap subtitle order so that newer subtitles push older ones higher.
+ if( p_subpic0->b_subtitle && p_subpic1->b_subtitle ) r = !r;
return r;
}
More information about the vlc-devel
mailing list