0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00
mpv/demux
wm4 8b017c73c4 core: matroska: support concatenated segments
Matroska files can contain multiple segments, which are literally
further Matroska files appended to the main file. They can be referenced
by segment linking.

While this is an extraordinarily useless and dumb feature, we support it
for the hell of it.

This is implemented by adding a further demuxer parameter for skipping
segments. When scanning for linked segments, each file is opened
multiple times, until there are no further segments found. Each segment
will have a separate demuxer instance (with a separate file handle
etc.).

It appears the Matroska spec. has an even worse feature for segments:
live streaming can completely reconfigure the stream by starting a new
segment. We won't add support for it, because there are 0 people on this
earth who think Matroska life streaming is a good idea. (As opposed to
serving Matroska/WebM files via HTTP.)
2013-04-20 23:28:23 +02:00
..
asf.h Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
asfguid.h Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
asfheader.c core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
asfheader.h Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
aviheader.c core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
aviheader.h stream, demux: replace off_t with int64_t 2012-11-20 18:00:15 +01:00
aviprint.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
aviprint.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
codec_tags.c demux_mkv: support ALAC 2013-03-15 12:17:39 +01:00
codec_tags.h core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
demux_asf.c core: use playback time to determine playback percent position 2013-02-26 02:01:48 +01:00
demux_avi.c core: use playback time to determine playback percent position 2013-02-26 02:01:48 +01:00
demux_cue.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
demux_edl.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
demux_lavf.c demux_lavf: use avg_frame_rate instead of r_frame_rate 2013-03-13 23:51:30 +01:00
demux_mf.c demux_mf: fix crashes when '*' matches directories 2013-03-19 01:54:45 +01:00
demux_mkv.c core: matroska: support concatenated segments 2013-04-20 23:28:23 +02:00
demux_mng.c core: use playback time to determine playback percent position 2013-02-26 02:01:48 +01:00
demux_mpg.c core: fix SEEK_FACTOR 2013-03-01 14:44:53 +01:00
demux_packet.h stream, demux: replace off_t with int64_t 2012-11-20 18:00:15 +01:00
demux_rawaudio.c core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
demux_rawvideo.c demux_rawvideo: allow setting video codec 2013-02-24 16:46:35 +01:00
demux_ts.c core: fix SEEK_FACTOR 2013-03-01 14:44:53 +01:00
demux_ts.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
demux.c demux: simplify chapter appending code 2013-04-12 14:38:22 +02:00
demux.h core: matroska: support concatenated segments 2013-04-20 23:28:23 +02:00
ebml.c demux_mkv: use a bounded buffer for block data 2013-04-20 23:28:22 +02:00
ebml.h demux_mkv: use a bounded buffer for block data 2013-04-20 23:28:22 +02:00
extension.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
matroska.h demux_mkv: support ALAC 2013-03-15 12:17:39 +01:00
mf.c demux_mf: fix crashes when '*' matches directories 2013-03-19 01:54:45 +01:00
mf.h demux_mf: allow displaying single image files, various cleanups 2012-11-16 21:21:16 +01:00
mp3_hdr.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
mp3_hdr.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
mpeg_hdr.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
mpeg_hdr.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
ms_hdr.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
parse_es.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
parse_es.h Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
stheader.h demux_lavf, ad_lavc, vd_lavc: pass codec header data directly 2013-02-10 17:25:57 +01:00
video.c demux: apply sparse video hack only to demux_lavf and demux_mkv 2013-02-14 19:53:15 +01:00