diff options
author | wm4 <wm4@nowhere> | 2019-11-16 13:15:45 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2019-11-16 13:15:45 +0100 |
commit | b6413f82b22b5c3bd7b0a4fec28fdd2625feaf94 (patch) | |
tree | 9947c7ca0acc90c15655503853cbaa0130016ec1 /DOCS/man | |
parent | 8d4e012bfa622c2ec0cb9972c49c51f525edb744 (diff) | |
download | mpv-b6413f82b22b5c3bd7b0a4fec28fdd2625feaf94.tar.bz2 mpv-b6413f82b22b5c3bd7b0a4fec28fdd2625feaf94.tar.xz |
demux_lavf: fight ffmpeg API some more and get the timeout set
It sometimes happens that HLS streams freeze because the HTTP server is
not responding for a fragment (or something similar, the exact
circumstances are unknown). The --timeout option didn't affect this,
because it's never set on HLS recursive connections (these download the
fragments, while the main connection likely nothing and just wastes a
TCP socket).
Apply an elaborate hack on top of an existing elaborate hack to somehow
get these options set. Of course this could still break easily, but hey,
it's ffmpeg, it can't not try to fuck you over. I'm so fucking sick of
ffmpeg's API bullshit, especially wrt. HLS.
Of course the change is sort of pointless. For HLS, GET requests should
just aggressively retried (because they're not "streamed", they're just
actual files on a CDN), while normal HTTP connections should probably
not be made this fragile (they could be streamed, i.e. they are backed
by some sort of real time encoder, and block if there is no data yet).
The 1 minute default timeout is too high to save playback if this
happens with HLS.
Vaguely related to #5793.
Diffstat (limited to 'DOCS/man')
-rw-r--r-- | DOCS/man/options.rst | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst index 6a73ac7a85..aaabed7696 100644 --- a/DOCS/man/options.rst +++ b/DOCS/man/options.rst @@ -3127,6 +3127,18 @@ Demuxer the first song in the stream. Well, you won't get anything useful either way if the seek is outside of mpv's cache. +``--demuxer-lavf-propagate-opts=<yes|no>`` + Propagate FFmpeg-level options to recursively opened connections (default: + yes). This is needed because FFmpeg will apply these settings to nested + AVIO contexts automatically. On the other hand, this could break in certain + situations - it's the FFmpeg API, you just can't win. + + This affects in particular the ``--timeout`` option and anything passed + with ``--demuxer-lavf-o``. + + If this option is deemed unnecessary at some point in the future, it will + be removed without notice. + ``--demuxer-mkv-subtitle-preroll=<yes|index|no>``, ``--mkv-subtitle-preroll`` Try harder to show embedded soft subtitles when seeking somewhere. Normally, it can happen that the subtitle at the seek target is not shown due to how |