mirror of
https://github.com/mpv-player/mpv
synced 2025-03-30 15:29:56 +00:00
When AAC is streamed over HTTP, using libavformat defaults is pathetically slow. One solution for that is skipping probing and using the mimetype to identify that it's AAC instead. This is what we did before this commit (and ffmpeg does it too, but their logic is too "inaccessible" for mpv). This is still pretty fragile though. Make it a bit more robust by requiring minimal probing. A probescore of 25 is reached after feeding 2 KB to libavformat (instead of > 500 KB for the normal probescore), so use that. This is done only when streaming AAC from HTTP to reduce the possibility of weird breakages for other formats. Also reduce analyzeduration. The default analyzeduration will make libavformat read lots of data, which makes playback start slow. So we set analyzeduration to a low value. On the other hand, doing that for other formats is risky, because there are unspecified effects with certain "strange" formats (like transport streams). So we do this only if we're streaming AAC from HTTP as well. tl;dr libavformat is shit for media players |
||
---|---|---|
.. | ||
asf.h | ||
asfguid.h | ||
asfheader.c | ||
asfheader.h | ||
aviheader.c | ||
aviheader.h | ||
aviprint.c | ||
aviprint.h | ||
codec_tags.c | ||
codec_tags.h | ||
demux_asf.c | ||
demux_avi.c | ||
demux_cue.c | ||
demux_edl.c | ||
demux_lavf.c | ||
demux_mf.c | ||
demux_mkv.c | ||
demux_mng.c | ||
demux_mpg.c | ||
demux_packet.h | ||
demux_rawaudio.c | ||
demux_rawvideo.c | ||
demux_ts.c | ||
demux_ts.h | ||
demux.c | ||
demux.h | ||
ebml.c | ||
ebml.h | ||
extension.c | ||
matroska.h | ||
mf.c | ||
mf.h | ||
mp3_hdr.c | ||
mp3_hdr.h | ||
mpeg_hdr.c | ||
mpeg_hdr.h | ||
ms_hdr.h | ||
parse_es.c | ||
parse_es.h | ||
stheader.h | ||
video.c |