| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
In pulse_start(), pa_stream_trigger() may return NULL for the capture
stream, and this caused -EIO error.
Allow now pa_stream_trigger() returning NULL.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
| |
If we fail, we need to free the device string
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
| |
Use more error checking where appropriate, optimize a few things, split common
code into seperate functions.
|
|
|
|
|
| |
As long as we have only a single fd to watch we can use the default poll
handler implementations. So let's do this.
|
|
|
|
| |
The fields are constant so let's declare that they actually are.
|
|
|
|
|
| |
S32 samples are a recent addition to the PA API, so check if they are available
before actually using them.
|
|
|
|
|
|
|
|
|
|
|
| |
Use PA_STREAM_EARLY_REQUESTS if PA knows it. PA >= 0.9.12 learned this flag
which will make the buffering more similar to traditional fragment/period-based
scheduling. Instead of delaying buffer fillup until the latest moment possible
this will cause fillups much earlier.
This is useful for compatibility for broken ALSA clients that don't care about
'readability' of the ALSA fd but instead schedule audio via usleep() or a
similar call. (One exampler being mplayer)
|
|
|
|
|
| |
If PA doesn't know a default channel map for the specified number of channels,
synthesize one by extending a known one with a smaller channel number.
|
|
|
|
|
| |
Follow more closely the buffering metrics PA uses internally. This avoids
clamping of the metricsin PA internally.
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
Remove parameter constraints where we actually have none. Also, restrict
total buffer size to 4 MB as current versions of the PulseAudio server
will refuse streams larger than that.
Signed-off-by: Pierre Ossman <ossman@cendio.se>
|
|
|
|
|
|
|
| |
Some stray mentions of the old Polypaudio name was still present in the
PulseAudio plug-in.
Signed-off-by: Pierre Ossman <ossman@cendio.se>
|
|
Polypaudio recently changed its name to PulseAudio which affects the
names of libraries of header files. Update the polyp, now pulse, plug-in
to follow this name change.
Signed-off-by: Pierre Ossman <ossman@cendio.se>
|