1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-30 15:29:56 +00:00
mpv/demux
wm4 e5544e2da3 demux: improve DVD sub auto-selection hack
The code touched by this commit makes sure that DVD subtitle tracks
known by libdvdread but not known by demux_lavf can be selected and
displayed properly. These subtitle tracks have the first packet
some time late in the packet stream, so that libavformat won't
immediately recognize them, and will add the track as soon as the
first packet is seen during normal demuxing.

demux_mpg used to handle this elegantly: you just set the MPEG ID of
the stream you wanted. demux_lavf couldn't do this, so it was emulated
with a DEMUXER_CTRL. This commit changes it so that new streams are
selected by default (if autoselect is enabled), and the playloop
simply can take appropriate action before the lower layer throws away
the first packet.

This also changes the demux_lavf behavior that subtitle packets are
always demuxed, even if not needed. (They were immediately thrown away,
so there was no advantage to this.)

Further, this adds the ability to demux.c to deal with demuxing more
than one stream of a kind at once. (Though currently it's not useful.)
2013-07-11 19:22:24 +02:00
..
codec_tags.c demux: fix big endian PCM in mkv with demux_mkv 2013-05-11 20:19:08 +02:00
codec_tags.h core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
demux_cue.c stream: remove padding parameter from stream_read_complete() 2013-06-23 22:33:59 +02:00
demux_edl.c stream: remove padding parameter from stream_read_complete() 2013-06-23 22:33:59 +02:00
demux_lavf.c demux: improve DVD sub auto-selection hack 2013-07-11 19:22:24 +02:00
demux_libass.c demux_libass: do charset conversion by -subcp 2013-06-25 00:11:56 +02:00
demux_mf.c video: eliminate frametime variable 2013-07-11 19:21:45 +02:00
demux_mkv.c video: eliminate frametime variable 2013-07-11 19:21:45 +02:00
demux_mng.c video: eliminate frametime variable 2013-07-11 19:21:45 +02:00
demux_packet.h demux: workaround for -demuxer mpegts -correct-pts 2013-05-21 22:07:13 +02:00
demux_rawaudio.c core: don't access demux_stream outside of demux.c, make it private 2013-07-11 19:17:51 +02:00
demux_rawvideo.c video: eliminate frametime variable 2013-07-11 19:21:45 +02:00
demux_subreader.c core: don't access demux_stream outside of demux.c, make it private 2013-07-11 19:17:51 +02:00
demux.c demux: improve DVD sub auto-selection hack 2013-07-11 19:22:24 +02:00
demux.h demux: improve DVD sub auto-selection hack 2013-07-11 19:22:24 +02:00
ebml.c stream: fix some aspects of EOF handling 2013-06-16 22:05:10 +02:00
ebml.h demux_mkv: use a bounded buffer for block data 2013-04-20 23:28:22 +02:00
extension.c Remove old demuxers 2013-07-07 23:54:11 +02:00
matroska.h demux_mkv: support dirac in mkv 2013-05-21 22:07:12 +02: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
ms_hdr.h ms_hdr: remove unused definitions 2013-07-10 02:00:47 +02:00
stheader.h video: eliminate frametime variable 2013-07-11 19:21:45 +02:00