mirror of
https://github.com/mpv-player/mpv.git
synced 2026-10-28 14:29:25 +08:00
Remove subtitle selection code setting osd->ass_track directly and
vf_ass/vf_vo code rendering the track directly with libass. Instead,
do track selection and rendering with dec_sub.c functions.
Before, mpctx->set_of_ass_tracks[] contained bare libass tracks
generated from external subtitle files. For use with dec_sub.c, it now
contains struct sh_sub instances with decoder already initialized.
This commit breaks the sub_step command ('g' and 'y' keys) for
libass-rendered subtitles. It could be fixed, but it's so useless -
especially as with the existing implementation there's no practical
way to get subtitle delay back to normal after using it - that I
didn't bother.
Conflicts:
command.c
mp_core.h
mplayer.c
20 lines
608 B
C
20 lines
608 B
C
#ifndef MPLAYER_SD_H
|
|
#define MPLAYER_SD_H
|
|
|
|
struct osd_state;
|
|
struct sh_sub;
|
|
struct sub_bitmaps;
|
|
|
|
struct sd_functions {
|
|
int (*init)(struct sh_sub *sh, struct osd_state *osd);
|
|
void (*decode)(struct sh_sub *sh, struct osd_state *osd,
|
|
void *data, int data_len, double pts, double duration);
|
|
void (*get_bitmaps)(struct sh_sub *sh, struct osd_state *osd,
|
|
struct sub_bitmaps *res);
|
|
void (*reset)(struct sh_sub *sh, struct osd_state *osd);
|
|
void (*switch_off)(struct sh_sub *sh, struct osd_state *osd);
|
|
void (*uninit)(struct sh_sub *sh);
|
|
};
|
|
|
|
#endif
|