mirror of
https://github.com/mpv-player/mpv
synced 2024-12-19 05:15:12 +00:00
Remove global_ass_track. Instead create an ass_track for each 't' track.
Global_ass_track obviously can not work when there is more than one 't tracks, their lines will be mixed up. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25684 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
bdb6a07d2a
commit
0d36212f39
@ -1483,7 +1483,7 @@ static int mp_property_sub(m_option_t * prop, int action, void *arg,
|
||||
if (sh->type == 'v')
|
||||
init_vo_spudec();
|
||||
#ifdef USE_ASS
|
||||
else if (ass_enabled && sh->type == 'a')
|
||||
else if (ass_enabled && (sh->type == 'a' || sh->type == 't'))
|
||||
ass_track = sh->ass_track;
|
||||
#endif
|
||||
} else {
|
||||
|
@ -827,7 +827,8 @@ int biComp=le2me_32(sh_video->bih->biCompression);
|
||||
sh->ass_track = ass_new_track(ass_library);
|
||||
if (sh->ass_track && sh->extradata)
|
||||
ass_process_codec_private(sh->ass_track, sh->extradata, sh->extradata_len);
|
||||
}
|
||||
} else if (sh && sh->type == 't')
|
||||
sh->ass_track = ass_default_track(ass_library);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -120,11 +120,10 @@ void update_subtitles(sh_video_t *sh_video, demux_stream_t *d_dvdsub, int reset)
|
||||
continue;
|
||||
}
|
||||
if (type == 't' && ass_enabled) { // plaintext subs with libass
|
||||
static ass_track_t *global_ass_track = NULL;
|
||||
if (!global_ass_track) global_ass_track = ass_default_track(ass_library);
|
||||
ass_track = global_ass_track;
|
||||
sh_sub_t* sh = d_dvdsub->sh;
|
||||
ass_track = sh ? sh->ass_track : NULL;
|
||||
vo_sub = NULL;
|
||||
if (pts != MP_NOPTS_VALUE) {
|
||||
if (ass_track && 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);
|
||||
|
Loading…
Reference in New Issue
Block a user