1
mirror of https://github.com/mpv-player/mpv synced 2024-12-24 07:33:46 +01:00
mpv/core
wm4 8cfb87d200 demux_lavf: minimal probing and reduced analyzeduration for AAC over HTTP
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
2013-05-27 23:26:22 +02:00
..
input Replace calls to usec_sleep() 2013-05-26 16:44:20 +02:00
timeline Fix some cppcheck / scan-build warnings 2013-05-06 23:11:11 +02:00
asxparser.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
asxparser.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
av_common.c av_common: allow calling mp_codec_to_av_codec_id() with NULL 2013-04-20 23:28:26 +02:00
av_common.h demux_lavf, ad_lavc, vd_lavc: pass codec header data directly 2013-02-10 17:25:57 +01:00
av_log.c vf_lavfi: add libavfilter bridge 2013-04-21 04:39:58 +02:00
av_log.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
av_opts.c vf_lavfi: allow setting avopts 2013-05-26 16:44:18 +02:00
av_opts.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
bstr.c bstr: add bstrspn() 2013-04-21 03:47:05 +02:00
bstr.h bstr: add bstrto0() 2013-04-21 03:47:05 +02:00
cfg-mplayer.h options: remove dead -dr1 option 2013-05-21 00:46:53 +02:00
codecs.c core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
codecs.h core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
command.c command: auto-insert yadif when switching deinterlacing 2013-05-23 01:02:24 +02:00
command.h command: give feedback on the OSD if a property is unavailable 2013-02-16 21:41:24 +01:00
cpudetect.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
cpudetect.h Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
defaultopts.c options: add allow-mimetype suboption for demux_lavf 2013-05-27 22:48:04 +02:00
defaultopts.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
encode_lavc.c Replace all calls to GetTimer()/GetTimerMS() 2013-05-26 16:44:20 +02:00
encode_lavc.h Replace all calls to GetTimer()/GetTimerMS() 2013-05-26 16:44:20 +02:00
encode.h Remove vo_fps global variable 2013-03-04 22:21:57 +01:00
m_config.c options: use case-sensitive comparsion for options 2013-05-15 15:30:06 +02:00
m_config.h core: add --reset-on-next-file option 2013-04-10 21:32:46 +02:00
m_option.c m_option: allow removing filter entries by content with -vf-del 2013-05-23 01:02:24 +02:00
m_option.h m_option, vf: add label support 2013-05-23 01:02:24 +02:00
m_property.c input: make input command deprecation warnings visible 2013-03-26 01:29:38 +01:00
m_property.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
m_struct.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
m_struct.h Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
mp_common.c cleanup: remove duplicated function, move escape parsing function 2013-02-16 23:24:46 +01:00
mp_common.h cleanup: remove duplicated function, move escape parsing function 2013-02-16 23:24:46 +01:00
mp_core.h Replace all calls to GetTimer()/GetTimerMS() 2013-05-26 16:44:20 +02:00
mp_fifo.c Replace all calls to GetTimer()/GetTimerMS() 2013-05-26 16:44:20 +02:00
mp_fifo.h Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
mp_msg.c encoding: when output is pipe: or pipe:1, avoid mp_msg to stdout 2013-04-15 13:30:21 +02:00
mp_msg.h encoding: when output is pipe: or pipe:1, avoid mp_msg to stdout 2013-04-15 13:30:21 +02:00
mp_osd.h osd: always update already visible OSD bar on seeks 2013-02-16 20:50:05 +01:00
mp_talloc.h video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
mplayer.c mplayer: output status line normally with --no-consolecontrols 2013-05-27 22:28:03 +02:00
mplayer.h core: remove a number of global variables 2013-03-08 02:12:53 +01:00
options.h demux_lavf: minimal probing and reduced analyzeduration for AAC over HTTP 2013-05-27 23:26:22 +02:00
parser-cfg.c parser-cfg: fix profile-desc 2013-02-18 17:01:25 +01:00
parser-cfg.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
parser-mpcmd.c options: fix exit code when using help options 2013-05-15 16:02:52 +02:00
parser-mpcmd.h options: fix exit code when using help options 2013-05-15 16:02:52 +02:00
path.c core: support mpv directory itself as a valid location for config files on Windows 2013-05-23 01:01:41 +02:00
path.h core: add playback resume feature (manual/opt-in) 2013-05-05 20:08:11 +02:00
playlist_parser.c options: rename -ss and -endpos, allow relative times 2012-11-16 21:21:15 +01:00
playlist_parser.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
playlist.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
playlist.h Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
quvi.c Fix lots of bugs in mp_http URL handling 2013-01-10 14:11:26 +01:00
screenshot.c screenshot: show a message on each screenshot taken 2013-02-26 01:55:52 +01:00
screenshot.h screenshot: show a message on each screenshot taken 2013-02-26 01:55:52 +01:00
subopt-helper.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
subopt-helper.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
version.c build: identify the build time of the binary in the versioning output 2012-12-03 21:08:51 +01:00