summaryrefslogtreecommitdiffstats
path: root/mpcommon.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-01-27 16:36:35 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-01-27 16:36:35 +0000
commitf87af1b8cc08af3795f47e47dca0d6c0cec02f70 (patch)
treef2e2132b68ef50075f6dfcb0e4bb5ce50ef63f71 /mpcommon.c
parent4ddc96baaeb59b9e8ef1d8ea07a3911ee465ade6 (diff)
downloadmpv-f87af1b8cc08af3795f47e47dca0d6c0cec02f70.tar.bz2
mpv-f87af1b8cc08af3795f47e47dca0d6c0cec02f70.tar.xz
Simplify subtitle handling with -ass
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25884 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mpcommon.c')
-rw-r--r--mpcommon.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/mpcommon.c b/mpcommon.c
index f6d4c940cb..ee9a5c992f 100644
--- a/mpcommon.c
+++ b/mpcommon.c
@@ -116,20 +116,17 @@ void update_subtitles(sh_video_t *sh_video, demux_stream_t *d_dvdsub, int reset)
packet += 2;
}
#ifdef USE_ASS
- if (type == 'a' && ass_enabled) { // ssa/ass subs with libass
+ if (ass_enabled) {
sh_sub_t* sh = d_dvdsub->sh;
ass_track = sh ? sh->ass_track : NULL;
- if (ass_track)
+ if (!ass_track) continue;
+ if (type == 'a') { // ssa/ass subs with libass
ass_process_chunk(ass_track, packet, len,
(long long)(pts*1000 + 0.5),
(long long)((endpts-pts)*1000 + 0.5));
- continue;
- }
- if ((type == 't' || type == 'm') && ass_enabled) { // plaintext subs with libass
- sh_sub_t* sh = d_dvdsub->sh;
- ass_track = sh ? sh->ass_track : NULL;
+ } else { // plaintext subs with libass
vo_sub = NULL;
- if (ass_track && pts != MP_NOPTS_VALUE) {
+ if (pts != MP_NOPTS_VALUE) {
if (endpts == MP_NOPTS_VALUE) endpts = pts + 3;
sub_clear_text(&subs, MP_NOPTS_VALUE);
sub_add_text(&subs, packet, len, endpts);
@@ -137,6 +134,7 @@ void update_subtitles(sh_video_t *sh_video, demux_stream_t *d_dvdsub, int reset)
subs.end = endpts * 100;
ass_process_subtitle(ass_track, &subs);
}
+ }
continue;
}
#endif