summaryrefslogtreecommitdiffstats
path: root/player/playloop.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-10-10 18:33:55 +0200
committerwm4 <wm4@nowhere>2014-10-10 18:42:43 +0200
commitf432a584b9814e0caeb977d5e6e69136da6fa430 (patch)
treea73a10f159ad3ff6a7e30e1d8b49f5eaa4e895f8 /player/playloop.c
parenta25e936540269b3d3889b569543b820ee556e6ba (diff)
downloadmpv-f432a584b9814e0caeb977d5e6e69136da6fa430.tar.bz2
mpv-f432a584b9814e0caeb977d5e6e69136da6fa430.tar.xz
ao_pulse: implement AO device listing API
While conceptually this sink stuff in PulseAudio does just the right thing, actually listing the sinks is unbelievable complicated. Not only is the idea that listing them should happen asynchronously completely bullshit (who the fuck runs the PulseAudio server on a separate computer), but the way this is done is full of bullshit too. Why separate callbacks for each device? Why this obtuse mainloop shit? Especially the mainloop shit makes it actively worse than doing things manually with pthread primitives, and the reason for that (different mainloop implementations for GUIs?) is laughable too. It's like they chose the most complicated API possible just because they attempted to "abstract" basic mechanisms in order to handle "everything". While I don't claim to design the best APIs, this API is fucking terrible without any excuse. (End of rant.)
Diffstat (limited to 'player/playloop.c')
0 files changed, 0 insertions, 0 deletions