| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Follow more closely the buffering metrics PA uses internally. This avoids
clamping of the metricsin PA internally.
|
|
|
|
|
|
|
| |
Since we only need a single char, we should allocate only a single char,
instead of a string of two bytes.
Woah! We're saving memory, baby!
|
|
|
|
| |
Since we set O_NONBLOCK more than once, make it a nice and correct function.
|
|
|
|
| |
Use more error checking where appropriate, optimize a few things.
|
|
|
|
|
| |
The ctl extension interfaces support poll() via a single file descriptor
anyway, so let's use it instead of rolling our own poll support callbacks.
|
|
|
|
|
| |
We can make our instance of snd_ctl_ext_callback_t const without any problems,
so let's do it.
|
|
|
|
|
| |
Use more error checking where applicable, optimize a few things, use PulseAudio
API functions for comparing pa_cvolume structures.
|
|
|
|
| |
Follow more closely the real limits of PulseAudio's API.
|
|
|
|
|
| |
This fix is completely broken (introduces new segfaults) and the assert is
tries to fix is superfluous anyway, so let's just remove this altogether.
|
|
|
|
| |
Add a bit more error checking where necessary
|
|
|
|
| |
pulse_poll_revents() has no real purpose, so let's remove it.
|
|
|
|
|
| |
snprintf doesn't necessarily append a trailing NUL to the strings it writes. So
let's do it explicitly.
|
|
|
|
|
| |
PulseAudio has been supporting these for a while, so let's make use of them
here.
|
|
|
|
|
| |
We shouldn't spam on stderr unconditionally, so let's use ALSA subsystem for
printing errors.
|
|
|
|
|
|
|
|
| |
Make sure the pa_context is disconnected when we unref it. This is also done
implicitly when the last reference to the pa_context is dropped, but that might
be later then expected in case someone else took a reference on our object. To
make sure that the pa_context will than not make any call into our code,
disconnect it explicitly.
|
|
|
|
|
|
| |
Since quite a while (2 years or so) PulsAudio doesn't require SIGPIPE anymore
to be set to SIG_IGN. Since resetting this was incredibly ugly in the first
place it is now time to get rid of this.
|
|
|
|
|
| |
C functions taking no argument need a (void) as argument list. It's C++ where
() is allowed too.
|
|
|
|
|
| |
As suggested in the kernel's CodingStyle document force Emacs into kernel-style
indenting to prevent future indenting chaos, at least for Emacs users.
|
|
|
|
|
|
|
| |
The PulseAudio plugin was horrible mix-up of different indenting styles even in
the same files. Indenting by 4, by 2, by 8 characters, sometimes with tabs,
sometimes with spaces. To fix this chaos I ran all files through "indent -kr
-i8". Hopefully future patches will follow kernel style indenting too.
|
|
|
|
|
|
|
|
| |
Add a check of pkgconfig libavcodec in configure script.
Since the header file was moved to <libavcodec/*>, its location has
to be checked in configure, too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
| |
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
|
|
| |
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
| |
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
|
|
| |
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
| |
usb_stream PCM plugin is used together with snd-usb-us122l driver.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Heya!
Here's a patch for alsa-plugins:
When playing very short streams, the pulse plugin needs call
pa_stream_trigger() in snd_pcm_start() to make sure the stream is
actually started, in addition to uncorking the stream.
Lennart
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
|
|
|
|
| |
Some sanity checks in pcm_pulse.c with assert() causes the program to
abort unexpectedly when the pulseaudio daemon is dead. This is
suboptimal. Examples:
https://bugzilla.novell.com/show_bug.cgi?id=409532
Now fixed to return an error instead.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
| |
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
|
|
|
|
| |
Should be enableval instead.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
| |
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
|
|
| |
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unfortunately some more testing revealed some issues with it,
specifically if pulse is running your complete config is replaced the bits in
the on_pulse_is_running directive. Which might not be what one actually wants :)
I couldn't find a proper solution for this. So i've changed the code to
optionally load config files. Just like the load hook does. Actually i just
optionally call the snd_config_hook_load function, but that's not actually in
the alsa API....
Also it now decides pulse is running as soon as the authorizing step begins
(just after the actually connection is setup), which should save some
round-trips and overhead.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The attached patch extends the alsa pulse plugin set with a alsa
configuration hook. Allowing one to specify some configuration parameters
that only come into effect when pulseaudio is running.
For example a configution file like:
@hooks [ {
func on_pulse_is_running
pcm.!default { type pulse }
ctl.!default { type pulse }
}
]
will redirect the default alsa pcm and ctl to pulse iff pulse is running.
(Assuming you defined the hook function correctly ofcourse)
This is usefull for distributions that don't want to force their users to
switch completely to pulseaudio, but have things a bit more dynamic :)
The solutions isn't optimal though. It will mean that every program loading
accessing alsa will try to make an (extra) connection to pulse to decide what
to do. But i think it's the best we can do for now (or at least that i can do
with my minimal knowledge of alsa).
A nicer solution would be a way to always specify the pulse plugin as default
and have a sort of fallback for when that fails.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
|
|
| |
ALSA bug#3035:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3035
Use dbus_connection_unref() instead of the deprecated dbus_connection_close().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
|
|
|
|
| |
ALSA bug#3860:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3860
The Maemo DSP plugin checks for D-Bus in configure.in and then makes a bold assumption that this means it should use a proprietary resource manager available only on a specific proprietary platform.
Attaching a patch to add --enable-maemo-resource-manager configure flag that enables the resource manager if set and if D-Bus is present.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
|
|
| |
Ignore hint sections defined by hand.
Those are heplful to get listed in various places, such as aplay -L
ALSA bug#3834:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3834
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
| |
Remove another assert that results in an unexpected crash.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
|
|
| |
If stream connection failes, don't assume that stream is connected upon closing.
ALSA bug#3831:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3831
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
| |
|
| |
|
| |
|
|
|
|
| |
Patch-level: Merged
|
| |
|
|
|
|
| |
Patch-level: Merged
|
|
|
|
|
|
|
|
|
|
|
| |
From: Lennart Poettering <mznyfn@0pointer.de>
It adds support to report back XRUN to the application if one
happens. This is required to make some applications work on top of the
pulse plugin. One being XMMS, which checks if a song finished to play
by waiting for an XRUN (yes, I don't argue that XMMS shouldn't do
that, but nonetheless it is a good thing if XRUNs are reported
properly.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It increases the "pre-buffering level" (i.e. start threshold) to the
full buffer size minus one period. This makes PA work a little bit
more like normal audio devices, and makes a few drop outs go away for
software which uses very small period sizes.
It also increases the initial maximum buffer size, which allows a
small overcommit. That's not really an issue, but cleaner nonetheless
so I smuggled it into this patch.
Also reported in the ALSA BTS:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3578
From: Lennart Poettering <mznyfn@0pointer.de>
|
|
|
|
|
|
|
| |
Added the minmax conditions for period_bytes and periods to pulse plugin.
This fixes ALSA bug#2601.
Patch from Mike Gorse <mgorse@mgorse.dhs.org>
|
|
|
|
|
|
| |
assert(!pcm->stream) shouldn't be checked when the PCM state is
SETUP, too (ALSA bug#3470).
The original patch by Mike Gorse <mgorse@mgorse.dhs.org>
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes the unexpected assert call at calling snd_pcm_hw_params
in PREPARED state. Since multiple hw_params calls are allowed, the pulse
plugin shouldn't call assert.
Handled in ALSA bug#3470.
From: Sean McNamara <smcnam@gmail.com>
|
| |
|