diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2008-01-27 16:36:35 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2008-01-27 16:36:35 +0000 |
commit | f87af1b8cc08af3795f47e47dca0d6c0cec02f70 (patch) | |
tree | f2e2132b68ef50075f6dfcb0e4bb5ce50ef63f71 /mpcommon.c | |
parent | 4ddc96baaeb59b9e8ef1d8ea07a3911ee465ade6 (diff) | |
download | mpv-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.c | 14 |
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 |