1
mirror of https://github.com/mpv-player/mpv synced 2025-01-09 01:36:25 +01:00
mpv/libmpdemux
uau 212b51434f Revert bad changes to SSA/ASS subtitle packet format
The following commits are reverted partially or completely:
"a valid ASS line contains 9 ',' before actual text"
"demux_mkv: output correctly formated ASS packets"
"libass: add a new ass_process_data() to process demuxed subtitle packets"

These commits converted the internal representation of SSA/ASS
subtitle packets from the format used by Matroska to a custom format
where each packet has contents exactly matching one line in complete
SSA script files. AFAIK no files natively use such a format for muxed
subtitles. The stated reason for this change was to use a format that
could in principle be muxed into a maximal number of containers. SSA
subtitles do not have an implicit duration so both start time and
duration or end time need to be specified explicitly; the new format
moved timing information inside the codec packet data so it could be
muxed without modification into containers that can represent only
start time at the container level. However such a change is wrong from
the viewpoint of program architecture. Timing information belongs to
the demuxer level, but these commits moved not only the duration but
also the authoritative value of the start time to inside the codec
data. Additionally the new format lost the value of the Matroska
ReadOrder field which is used by MPlayer.

This commit changes the internal packet format back to that used by
Matroska and makes the internal Matroska demuxer output that format
again. Libavformat still outputs the "new" format; it could be
converted back to the Matroska format in demux_lavf.c, but I'm not
adding that code at least yet. The current lavf code has similar
problems as the reverted code in MPlayer, and it also currently fails
to provide any way to access the value of the ReadOrder field. I hope
that the lavf side will be improved; if it isn't conversion can be
added later. For now I'll make MPlayer default to the internal Matroska
demuxer instead of the lavf one in a separate commit.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27550 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-08 21:26:22 +00:00
..
aac_hdr.c Split the aac header parsing out of aac demuxer to allow using libmpmux 2008-04-09 00:43:19 +00:00
asf.h Remove unused GUID_t definition that also incorrectly defined GUID_DEFINED 2008-08-31 11:21:29 +00:00
asfguid.h Make stream independent of libmpdemux, the asf demuxer and streaming 2008-04-09 00:32:35 +00:00
asfheader.c Give a CONFIG_ prefix to preprocessor directives that lacked one and 2008-08-07 12:20:50 +00:00
aviheader.c Set sh_video->format when parsing aviheader, otherwise it might never 2007-12-01 14:29:53 +00:00
aviheader.h Add missing #includes that are required for things used in the header. 2008-06-17 09:09:36 +00:00
aviprint.c Fix format strings to match argument type 2007-06-24 13:09:08 +00:00
demux_aac.c Split the aac header parsing out of aac demuxer to allow using libmpmux 2008-04-09 00:43:19 +00:00
demux_asf.c Avoid including avcodec.h in demuxer.h (and thus many other files) just to get 2008-07-17 17:14:12 +00:00
demux_audio.c changed 'Audio file' to 'Audio only' (to not get 'Audio file file' when played) 2008-07-29 11:17:52 +00:00
demux_avi.c Change a bunch of codec-specific preprocessor directives from a HAVE_ 2008-08-02 16:30:32 +00:00
demux_avs.c Take audio delay into account when seeking in avisynth demuxer. 2008-04-23 07:50:54 +00:00
demux_avs.h cosmetics: Remove pointless parentheses from return statements. 2008-05-16 09:41:00 +00:00
demux_demuxers.c Make internal subtitle and subtitle switching work with -audiofile 2008-05-21 18:45:30 +00:00
demux_film.c cosmetics: Remove pointless parentheses from return statements. 2008-05-16 09:41:00 +00:00
demux_fli.c cosmetics: Remove pointless parentheses from return statements. 2008-05-16 09:41:00 +00:00
demux_gif.c Rename preprocessor directives related to image libraries. 2008-08-05 08:47:51 +00:00
demux_lavf.c Fix compilation after libavcodec major version 52 changes 2008-09-08 17:02:32 +00:00
demux_lmlm4.c Make all demuxer_desc_t const, thus moving them to .rodata 2008-01-13 16:00:39 +00:00
demux_mf.c add ffptx , works on ptx samples 2008-05-12 02:09:47 +00:00
demux_mkv.c Revert bad changes to SSA/ASS subtitle packet format 2008-09-08 21:26:22 +00:00
demux_mov.c Rename all preprocessor directives related to Apple / Mac OS X. 2008-08-06 07:42:26 +00:00
demux_mpc.c Use defines to give names to the different seek flags. 2008-01-29 15:11:38 +00:00
demux_mpg.c use demux_flush() where appropriate 2008-06-02 10:18:44 +00:00
demux_nemesi.c Unbreak audio, thanks to Uoti for the insight 2008-06-12 21:53:48 +00:00
demux_nsv.c Set demuxer->audio->id to avoid breakage due to r26301 2008-04-05 09:19:55 +00:00
demux_nut.c Use defines to give names to the different seek flags. 2008-01-29 15:11:38 +00:00
demux_nuv.c Fix lots and lots of other demuxers broken by r26301 2008-04-05 14:11:48 +00:00
demux_ogg.c Give a CONFIG_ prefix to preprocessor directives that lacked one and 2008-08-07 12:20:50 +00:00
demux_pva.c Fix lots and lots of other demuxers broken by r26301 2008-04-05 14:11:48 +00:00
demux_rawaudio.c Remove global demuxer_type 2008-04-12 15:51:05 +00:00
demux_rawdv.c Fix lots and lots of other demuxers broken by r26301 2008-04-05 14:11:48 +00:00
demux_rawvideo.c Remove global demuxer_type 2008-04-12 15:51:05 +00:00
demux_real.c Avoid including avcodec.h in demuxer.h (and thus many other files) just to get 2008-07-17 17:14:12 +00:00
demux_realaud.c Make all demuxer_desc_t const, thus moving them to .rodata 2008-01-13 16:00:39 +00:00
demux_roq.c Fix lots and lots of other demuxers broken by r26301 2008-04-05 14:11:48 +00:00
demux_rtp_codec.cpp fix audio in some rtsp streams, ok'd by lu_zero 2008-08-11 17:32:31 +00:00
demux_rtp_internal.h Start unifying names of internal preprocessor directives. 2008-07-30 12:01:30 +00:00
demux_rtp.cpp Start unifying names of internal preprocessor directives. 2008-07-30 12:01:30 +00:00
demux_rtp.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
demux_smjpeg.c Fix lots and lots of other demuxers broken by r26301 2008-04-05 14:11:48 +00:00
demux_ts.c Remove unused variable, fixes the warning: 2008-06-08 14:50:35 +00:00
demux_ty_osd.c Mike Baker agreed to relicense his parts of the code as GPL v2+ on IRC. 2008-05-07 08:01:51 +00:00
demux_ty.c Use standard license headers with standard formatting. 2008-05-14 18:01:51 +00:00
demux_viv.c Avoid including avcodec.h in demuxer.h (and thus many other files) just to get 2008-07-17 17:14:12 +00:00
demux_vqf.c Fix lots and lots of other demuxers broken by r26301 2008-04-05 14:11:48 +00:00
demux_xmms_plugin.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
demux_xmms.c cosmetics: Remove pointless parentheses from return statements. 2008-05-16 09:41:00 +00:00
demux_y4m.c Make all demuxer_desc_t const, thus moving them to .rodata 2008-01-13 16:00:39 +00:00
demuxer.c Give a CONFIG_ prefix to preprocessor directives that lacked one and 2008-08-07 12:20:50 +00:00
demuxer.h Change a bunch of video/audio-output-specific preprocessor directives from 2008-08-03 15:21:40 +00:00
ebml.c Add explicit location for headers from the stream/ directory. 2007-03-15 18:36:36 +00:00
ebml.h Add missing header #includes to fix 'make checkheaders'. 2008-03-05 23:32:01 +00:00
extension.c support E-AC-3 decoding using ffmpeg 2008-09-01 22:37:50 +00:00
genres.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
matroska.h Remove unnecessary includes 2008-04-01 15:24:53 +00:00
mf.c Change mf_fps to double 2008-02-14 14:44:52 +00:00
mf.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
mp3_hdr.c Unify include path handling, -I.. is in CFLAGS. 2005-11-18 14:39:25 +00:00
mp3_hdr.h Add missing header #includes to fix 'make checkheaders'. 2008-03-05 23:32:01 +00:00
mp_taglists.c support E-AC-3 decoding using ffmpeg 2008-09-01 22:37:50 +00:00
mp_taglists.h Split the lavf taglists out of the lavf muxer to allow using libmpmux 2008-04-09 00:46:21 +00:00
mpeg_hdr.c Mark constant argument of mp_header_process_sequence_header as such. 2007-10-19 10:08:02 +00:00
mpeg_hdr.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
mpeg_packetizer.c Use correct PRIu64 length modifier for uint64_t value, fixes the warning: 2008-07-08 08:17:50 +00:00
mpeg_packetizer.h Use standard license headers with standard formatting. 2008-05-14 18:01:51 +00:00
ms_hdr.h Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately 2008-03-02 19:38:50 +00:00
muxer_avi.c Add explicit location for headers from the stream/ directory. 2007-03-15 18:36:36 +00:00
muxer_lavf.c Use av_alloc_put_byte instead of custom protocol. 2008-05-21 18:21:05 +00:00
muxer_mpeg.c Start unifying names of internal preprocessor directives. 2008-07-30 12:01:30 +00:00
muxer_rawaudio.c Add explicit location for headers from the stream/ directory. 2007-03-15 18:36:36 +00:00
muxer_rawvideo.c Remove unnecessary version.h #includes. 2008-04-30 11:03:41 +00:00
muxer.c Start unifying names of internal preprocessor directives. 2008-07-30 12:01:30 +00:00
muxer.h Add missing header #includes to fix 'make checkheaders'. 2008-03-05 23:32:01 +00:00
nuppelvideo.h Add standard license header for NuppelVideo, i.e. GPL v2+. 2008-07-06 15:12:32 +00:00
parse_es.c Remove unused parameter for mp_msg 2007-06-03 08:48:44 +00:00
parse_es.h Add missing header #includes to fix 'make checkheaders'. 2008-03-05 23:32:01 +00:00
parse_mp4.c Add explicit location for headers from the stream/ directory. 2007-03-15 18:36:36 +00:00
parse_mp4.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
qtpalette.h Add MPLAYER_ prefix to multiple inclusion guards. 2008-02-22 09:09:46 +00:00
stheader.h Give a CONFIG_ prefix to preprocessor directives that lacked one and 2008-08-07 12:20:50 +00:00
video.c handle the lavfpref demuxer in the same way as the lavf one 2008-08-27 11:31:53 +00:00
yuv4mpeg_intern.h Mark files that were imported from the MJPEG Tools suite as such. 2008-05-14 18:16:38 +00:00
yuv4mpeg_ratio.c Mark files that were imported from the MJPEG Tools suite as such. 2008-05-14 18:16:38 +00:00
yuv4mpeg.c Mark files that were imported from the MJPEG Tools suite as such. 2008-05-14 18:16:38 +00:00
yuv4mpeg.h Mark files that were imported from the MJPEG Tools suite as such. 2008-05-14 18:16:38 +00:00