0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 03:52:22 +02:00
mpv/audio/out
wm4 1643cb865f audio: fix stream-silence with push AOs (somewhat)
--audio-stream-silence is a shitty feature compensating for awful
consumer garbage, that mutes PCM at first to check whether it's
compressed audio, using formats advocated and owned by malicious patent
troll companies (who spend more money on their lawyers than paying any
technicians), wrapped in a wasteful way to make it constant bitrate
using a standard whose text is not freely available, and only rude users
want it. This feature has been carelessly broken, because it's
complicated and stupid. What would Jesus do? If not getting an aneurysm,
or pushing over tables with expensive A/V receivers on top of them, he'd
probably fix the feature. So let's take inspiration from Jesus Christ
himself, and do something as dumb as wasting some of our limited
lifetime on this incredibly stupid fucking shit.

This is tricky, because state changes like end-of-audio are supposed to
be driven by the AO driver, while playing silence precludes this. But it
seems code paths for "untimed" AOs can be reused.

But there are still problems. For example, underruns will just happen
normally (and stop audio streaming), because we don't have a separate
heuristic to check whether the buffer is "low enough" (as a consequence
of a network stall, but before the audio output itself underruns).
2020-09-03 22:39:23 +02:00
..
ao_alsa.c ao_alsa: log more information on short writes 2020-09-02 22:22:45 +02:00
ao_audiotrack.c audio: redo internal AO API 2020-06-01 01:08:16 +02:00
ao_audiounit.m audio: remove unused ring.h includes 2020-08-27 11:55:20 +02:00
ao_coreaudio_chmap.c audio/out: add AudioUnit output driver for iOS 2016-11-01 16:25:40 +01:00
ao_coreaudio_chmap.h audio/out: add AudioUnit output driver for iOS 2016-11-01 16:25:40 +01:00
ao_coreaudio_exclusive.c audio: redo internal AO API 2020-06-01 01:08:16 +02:00
ao_coreaudio_properties.c ao_coreaudio: change license to LGPL 2017-05-08 13:57:40 +02:00
ao_coreaudio_properties.h ao_coreaudio: change license to LGPL 2017-05-08 13:57:40 +02:00
ao_coreaudio_utils.c ao/audiounit: improve a/v sync 2019-04-05 10:29:44 +07:00
ao_coreaudio_utils.h ao/audiounit: improve a/v sync 2019-04-05 10:29:44 +07:00
ao_coreaudio.c audio: remove unused ring.h includes 2020-08-27 11:55:20 +02:00
ao_jack.c audio: redo internal AO API 2020-06-01 01:08:16 +02:00
ao_lavc.c ao_lavc: slightly simplify filter use 2020-09-03 15:39:31 +02:00
ao_null.c audio: fix inefficient behavior with ao_alsa, remove period_size field 2020-08-29 16:27:56 +02:00
ao_openal.c ao_openal: restore working condition with new push API 2020-08-31 20:24:14 +02:00
ao_opensles.c audio: redo internal AO API 2020-06-01 01:08:16 +02:00
ao_pcm.c audio: redo internal AO API 2020-06-01 01:08:16 +02:00
ao_pulse.c ao/pulse: create the stream corked 2020-08-26 16:14:29 +02:00
ao_sdl.c audio: redo internal AO API 2020-06-01 01:08:16 +02:00
ao_wasapi_changenotify.c ao_wasapi_changenotify: use %ls instead of %S for wchar_t 2017-04-20 07:38:03 +02:00
ao_wasapi_utils.c ao_wasapi: try mix format except for chmap 2020-03-19 20:39:44 +02:00
ao_wasapi.c audio: redo internal AO API 2020-06-01 01:08:16 +02:00
ao_wasapi.h ao_wasapi: reorganize wasapi.h 2017-08-07 14:33:03 -07:00
ao.c audio: fix inefficient behavior with ao_alsa, remove period_size field 2020-08-29 16:27:56 +02:00
ao.h audio: refactor how data is passed to AO 2020-08-29 13:12:32 +02:00
buffer.c audio: fix stream-silence with push AOs (somewhat) 2020-09-03 22:39:23 +02:00
internal.h ao: remove unused field 2020-08-31 20:23:44 +02:00