summaryrefslogtreecommitdiffstats
path: root/sub/osd.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-12-29 15:39:38 +0100
committerKevin Mitchell <kevmitch@gmail.com>2018-01-02 14:27:37 -0800
commit3bf7df4a5e1f46248c78e9e596cd8dab6ff57356 (patch)
tree1b49e9e053e063b397552038c7f3309878d65c86 /sub/osd.c
parent828bd2963cd10a851e0a977809687aed4d377dc3 (diff)
downloadmpv-3bf7df4a5e1f46248c78e9e596cd8dab6ff57356.tar.bz2
mpv-3bf7df4a5e1f46248c78e9e596cd8dab6ff57356.tar.xz
sub: move all subtitle timestamp messing code to a central place
It was split at least across osd.c and sd_ass.c/sd_lavc.c. sd_lavc.c actually ignored most of the more obscure subtitle timing things. There's no reason for this - just move it all to dec_sub.c (mostly from sd_ass.c, because it has some of the most complex stuff). Now timestamps are transformed as they enter or leave dec_sub.c. There appear to have been some subtle mismatches about how subtitle timestamps were transformed, e.g. sd_functions.accepts_packet didn't apply the subtitle speed to the timestamp. This patch should fix them, although it's not clear if they caused actual misbehavior. The semantics of SD_CTRL_SUB_STEP are slightly changed, which is the reason for the changes in command.c and sd_lavc.c.
Diffstat (limited to 'sub/osd.c')
-rw-r--r--sub/osd.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/sub/osd.c b/sub/osd.c
index 0d594cd24d..d2351b7213 100644
--- a/sub/osd.c
+++ b/sub/osd.c
@@ -273,12 +273,8 @@ static void render_object(struct osd_state *osd, struct osd_object *obj,
check_obj_resize(osd, res, obj);
if (obj->type == OSDTYPE_SUB || obj->type == OSDTYPE_SUB2) {
- if (obj->sub) {
- double sub_pts = video_pts;
- if (sub_pts != MP_NOPTS_VALUE)
- sub_pts -= opts->sub_delay;
- sub_get_bitmaps(obj->sub, obj->vo_res, format, sub_pts, out_imgs);
- }
+ if (obj->sub)
+ sub_get_bitmaps(obj->sub, obj->vo_res, format, video_pts, out_imgs);
} else if (obj->type == OSDTYPE_EXTERNAL2) {
if (obj->external2 && obj->external2->format) {
*out_imgs = *obj->external2;