1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-25 16:33:02 +00:00
mpv/demux
wm4 4e25feda0d player: change aspects of cover art handling
Cover art handling is a disgusting hack that causes a mess in all
components. And this will stay this way. This is the Xth time I've
changed cover art handling, and that will probably also continue.

But change the code such that cover art is injected into the demux
packet stream, instead of having an explicit special case it in the
decoder glue code. (This is somewhat more similar to the cover art hack
in libavformat.)

To avoid that the over art picture is decoded again on each seek, we
need some additional "caching" in player/video.c. Decoding it after each
seek would work as well, but since cover art pictures can be pretty
huge, it's probably ok to invest some lines of code into caching it.

One weird thing is that the cover art packet will remain queued after
seeks, but that is probably not an issue.

In exchange, we can drop the dec_video.c code, which is pretty
convenient for one of the following commits. This code duplicates a
bunch of lower-level decode calls and does icky messing with this weird
state stuff, so I'm glad it goes away.
2017-01-10 15:43:02 +01:00
..
codec_tags.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
codec_tags.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
cue.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
cue.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
demux_cue.c demux, stream: add option to prevent opening referenced files 2016-12-04 23:15:31 +01:00
demux_disc.c player: improve instant track switching 2016-08-06 15:47:04 +02:00
demux_edl.c demux, stream: add option to prevent opening referenced files 2016-12-04 23:15:31 +01:00
demux_lavf.c Remove compatibility things 2016-12-07 19:53:11 +01:00
demux_libarchive.c demux, stream: add option to prevent opening referenced files 2016-12-04 23:15:31 +01:00
demux_mf.c demux: do not access global options 2016-09-06 20:09:56 +02:00
demux_mkv_timeline.c demux, stream: add option to prevent opening referenced files 2016-12-04 23:15:31 +01:00
demux_mkv.c demux_mkv: trust keyframe flags for TrueHD 2016-12-20 14:28:29 +01:00
demux_null.c demux_null: fix segfault with --cache enabled 2016-03-05 00:56:55 +01:00
demux_playlist.c demux, stream: add option to prevent opening referenced files 2016-12-04 23:15:31 +01:00
demux_rar.c demux, stream: add option to prevent opening referenced files 2016-12-04 23:15:31 +01:00
demux_raw.c demux: do not access global options 2016-09-06 20:09:56 +02:00
demux_timeline.c demux_timeline: always signal new segment after a seek 2016-11-09 16:44:06 +01:00
demux_tv.c tv: remove weird option parsing stuff 2016-09-09 17:54:35 +02:00
demux.c player: change aspects of cover art handling 2017-01-10 15:43:02 +01:00
demux.h demux, stream: add option to prevent opening referenced files 2016-12-04 23:15:31 +01:00
ebml.c demux_mkv: ebml: turn an int shift into int64 2017-01-09 13:37:04 +01: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 Rewrite ordered chapters and timeline stuff 2016-02-15 21:04:07 +01:00
packet.h Rewrite ordered chapters and timeline stuff 2016-02-15 21:04:07 +01:00
stheader.h Remove compatibility things 2016-12-07 19:53:11 +01: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