1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-31 04:02:06 +00:00
mpv/demux
wm4 2b280f4522 stream: libarchive wrapper for reading compressed archives
This works similar to the existing .rar support, but uses libarchive.
libarchive supports a number of formats, including zip and (most of)
rar.

Unfortunately, seeking does not work too well. Most libarchive readers
do not support seeking, so it's emulated by skipping data until the
target position. On backwards seek, the file is reopened. This works
fine on a local machine (and if the file is not too large), but will
perform not so well over network connection.

This is disabled by default for now. One reason is that we try
libarchive on every file we open, before trying libavformat, and I'm not
sure if I trust libarchive that much yet. Another reason is that this
breaks multivolume rar support. While libarchive supports seeking in
rar, and (probably) supports multivolume archive, our support of
libarchive (probably) does not. I don't care about multivolume rar, but
vocal users do.
2015-08-17 00:55:26 +02:00
..
codec_tags.c demux: mime types are case-insensitive 2015-06-21 18:21:21 +02:00
codec_tags.h demux_mkv: support embedded coverart 2014-12-22 12:53:51 +01:00
cue.c demux: get rid of some bstr things 2015-06-24 14:18:51 +02:00
cue.h demux: get rid of some bstr things 2015-06-24 14:18:51 +02:00
demux_cue.c demux: remove redundant demux_chapter.name field 2015-08-12 11:11:23 +02:00
demux_disc.c player: remove higher-level remains of DVD/BD menu support 2015-08-03 23:49:14 +02:00
demux_edl.c demux: remove redundant demux_chapter.name field 2015-08-12 11:11:23 +02:00
demux_lavf.c demux_lavf: check for NAN rotation angles 2015-06-30 19:35:19 +02:00
demux_libarchive.c stream: libarchive wrapper for reading compressed archives 2015-08-17 00:55:26 +02:00
demux_libass.c demux: merge extradata fields 2015-06-21 18:06:14 +02:00
demux_mf.c Update license headers 2015-04-13 12:10:01 +02:00
demux_mkv_timeline.c demux: remove redundant demux_chapter.name field 2015-08-12 11:11:23 +02:00
demux_mkv.c demux_mkv: disable timestamp fixup code again 2015-08-10 18:38:36 +02:00
demux_playlist.c player: warn against using HLS URLs with --playlist 2015-08-04 17:51:00 +02:00
demux_rar.c demux: fix rar support for files containing DTS audio tracks 2015-03-24 21:29:09 +01:00
demux_raw.c demux: rename sh_stream.format to sh_stream.codec_tag 2015-06-21 16:56:35 +02:00
demux_subreader.c Various spelling fixes 2015-06-18 19:36:58 +02:00
demux_tv.c demux: rename sh_stream.format to sh_stream.codec_tag 2015-06-21 16:56:35 +02:00
demux.c stream: libarchive wrapper for reading compressed archives 2015-08-17 00:55:26 +02:00
demux.h demux: remove redundant demux_chapter.name field 2015-08-12 11:11:23 +02:00
ebml.c demux_mkv: allow integer and float elements with length 0 2015-06-24 14:34:05 +02:00
ebml.h Update license headers 2015-04-13 12:10:01 +02:00
matroska.h demux_mkv: remove indirection through defines 2015-06-19 21:41:57 +02:00
packet.c demux_mkv: refactor packet parsing 2015-02-05 21:52:07 +01:00
packet.h Update license headers 2015-04-13 12:10:01 +02:00
stheader.h demux: export forced flag 2015-06-27 22:02:24 +02:00
timeline.c demux: timeline: honor quit requests 2015-02-20 22:08:02 +01:00
timeline.h demux: timeline: honor quit requests 2015-02-20 22:08:02 +01:00