1
mirror of https://github.com/mpv-player/mpv synced 2024-08-24 07:21:49 +02:00
mpv/sub
wm4 7e033da892 sd_ass: disable special handling of subtitles with duration 0
sd_ass contains some code that treats subtitle events with duration 0
specially, and adjust their duration so that they will disappear with
the next event.

This is most likely not needed anymore. Some subtitle formats allow
omitting the duration so that the event is visible until the next one,
but both subreader.c as well as libavformat subtitle demuxers already
handle this.

Subtitles embedded in mp4 files (movtext) used to trigger this code. But
these files appear to export subtitle duration correctly (at least
libavcodec's movtext decoder is using this assumption). Since commit
6dbedd2 changed demux_lavf to actually copy the packet duration field,
the code removed with this commit isn't needed anymore for correct
display of movtext subtitles. (The change in sd_movtext is for dropping
empty subtitle events, which would now be "displayed" - libavcodec does
the same.)

On the other hand, this code incorrectly displayed hidden events in .srt
subtitles. See for example the first event in SubRip_capability_tester.srt
(part of FFmpeg's FATE). These intentionally have a duration of 0, and
should not be displayed. (As of with this commit, they are still
displayed in external .srt subs because of subreader.c hacks.)

However, we can't be 100% sure that this code is really unneeded, so
just comment the code. Hopefully it can be removed if there are no
regressions after some weeks or months.
2013-06-25 00:11:54 +02:00
..
ass_mp.c stream: remove padding parameter from stream_read_complete() 2013-06-23 22:33:59 +02:00
ass_mp.h sd_srt, sd_microdvd: set ASS script resolution 2013-06-03 23:00:39 +02:00
dec_sub.c sub: do some timing postprocessing on preloaded subs 2013-06-23 22:33:59 +02:00
dec_sub.h sub: preload external text subtitles 2013-06-23 22:33:59 +02:00
draw_bmp.c sub: don't crash on GBRP video 2013-03-28 21:46:17 +01:00
draw_bmp.h vo_xv, vo_x11: simplify OSD redrawing 2013-01-13 20:04:12 +01:00
find_subfiles.c sub: remove some global variables 2013-05-30 22:44:18 +02:00
find_subfiles.h sub: remove vobsub reader in favor of ffmpeg vobsub demuxer 2012-12-11 00:37:54 +01:00
img_convert.c img_convert: use multiple bounding boxes for ASS->RGBA 2013-01-13 20:04:16 +01:00
img_convert.h img_convert: add sub_bitmap bounding box functions 2013-01-13 20:04:16 +01:00
osd_dummy.c sub: allow rendering OSD in ASS image format directly, simplify 2012-10-16 07:26:30 +02:00
osd_font.otf osd: convert OSD font to OpenType 2013-04-27 18:03:19 +02:00
osd_libass.c ass_mp: provide function to add default styles 2013-06-03 22:40:07 +02:00
sd_ass.c sd_ass: disable special handling of subtitles with duration 0 2013-06-25 00:11:54 +02:00
sd_lavc_conv.c sd_ass: handle libavformat ASS comment packets as well 2013-06-23 22:34:00 +02:00
sd_lavc.c sub: add name field to all sub decoders 2013-06-03 22:40:32 +02:00
sd_microdvd.c sd_srt, sd_microdvd: set ASS script resolution 2013-06-03 23:00:39 +02:00
sd_movtext.c sd_ass: disable special handling of subtitles with duration 0 2013-06-25 00:11:54 +02:00
sd_spu.c sub: add name field to all sub decoders 2013-06-03 22:40:32 +02:00
sd_srt.c sd_srt, sd_microdvd: set ASS script resolution 2013-06-03 23:00:39 +02:00
sd.h sub: add name field to all sub decoders 2013-06-03 22:40:32 +02:00
spudec.c spudec: restore --sub-forced-only support 2013-05-30 22:40:32 +02:00
spudec.h sub: add sd_spu.c to wrap spudec, cleanup mplayer.c 2013-05-30 22:40:32 +02:00
sub.c sub: refactor 2013-06-01 19:44:16 +02:00
sub.h sub: refactor 2013-06-01 19:44:16 +02:00
subreader.c subreader: remove overlap handling code 2013-06-23 22:34:00 +02:00
subreader.h sub: turn subassconvert_ functions into sub converters 2013-06-03 22:40:02 +02:00