diff options
author | wm4 <wm4@nowhere> | 2020-02-28 17:25:07 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2020-02-28 17:25:07 +0100 |
commit | d32ce14d2c957cdb8cc9d0fdada06fe128ab673b (patch) | |
tree | a061e7a62181cef268d1c55e1e1235fec60a3a9b /stream/stream_smb.c | |
parent | 7e2bb7b43948eeab67a03ba0e89dbf4761027073 (diff) | |
download | mpv-d32ce14d2c957cdb8cc9d0fdada06fe128ab673b.tar.bz2 mpv-d32ce14d2c957cdb8cc9d0fdada06fe128ab673b.tar.xz |
demux_lavf: don't interpret errors as EOF
It seems sporadic errors are possible, such as connection timeouts.
Before the recent demuxer change, the demuxer thread retried many times
even on EOF, so an error was only interpreted as EOF once the decoder
queues ran out.
Change it to use EOF only. Since this may actually lead to the demuxer
thread being "stuck" and retrying forever (depending on libavformat API
behavior), I'm also adding a heuristic to prevent this, using a random
retry counter. This should not be necessary, but libavformat cannot be
trusted. (This retrying forever could be stopped by the user, but
obviously it would still heat the CPU for a longer time if the user is
not present.)
Diffstat (limited to 'stream/stream_smb.c')
0 files changed, 0 insertions, 0 deletions