| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| | |
Always lock the main loop when operating on PULSE objects. Document
this.
|
| |
| |
| |
| |
| | |
Provide _lock() and _unlock() to wrap all accesses from the mixer
plugin.
|
| | |
|
|\| |
|
| | |
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
configure.ac
src/output_control.c
|
| |
| |
| |
| |
| | |
Fixes assertion failure when a stream callback is invoked too late
after a format change.
|
| |
| |
| |
| | |
Merge common code.
|
| |
| |
| |
| | |
Eliminate duplicate code.
|
|\| |
|
| |
| |
| |
| |
| | |
Check if the stream is suspended; wake up the main loop when it
becomes suspended.
|
| | |
|
| |
| |
| |
| | |
Not a bool.
|
| |
| |
| |
| | |
Unlock the mainloop in all code paths.
|
|/ |
|
|
|
|
|
|
|
|
| |
When enabling the pulse device fails, clear po->mainloop after
pa_threaded_mainloop_free() has finished. This is important for the
assertions.
Two wrong g_free() calls were also removed.
|
| |
|
|
|
|
|
|
| |
This patch prepares support for floating point samples (and probably
other formats). It changes the meaning of the "bits" attribute from a
bit count to a symbolic value.
|
|
|
|
|
|
| |
After we've been hit by Large File Support problems several times in
the past week (which only occur on 32 bit platforms, which I don't
have), this is yet another attempt to fix the issue.
|
|
|
|
| |
This variable was uninitialized and led to crashes.
|
|
|
|
| |
Don't connect to PulseAudio before MPD has daemonized.
|
|
|
|
|
|
|
| |
With these methods, an output plugin can allocate some global
resources only if it is actually enabled. The method enable() is
called after daemonization, which allows for more sophisticated
resource allocation during that method.
|
|
|
|
|
|
| |
Don't let the mixer plugin "override" the libpulse callbacks.
Instead, add a "mixer" attribute to the pulse_output struct, and call
the mixer on all interesting events.
|
|
|
|
|
|
|
|
| |
This is a complete rewrite of the PulseAudio output plugin. It uses
the asynchronous API, which gives us more control over everything.
Additionally, it connects to the PulseAudio server on startup, and
keeps this connection up while MPD runs. During pause, instead of
closing the stream, it enables "cork".
|
|
|
|
| |
This looks nicer in the PulseAudio manager than just "mpd".
|
|
|