[pulseaudio-commits] [SCM] PulseAudio Sound Server branch, master, updated. v0.9.19-517-gcb55b00
Colin Guthrie
gitmailer-noreply at 0pointer.de
Tue Jul 13 14:11:56 PDT 2010
This is an automated email from the git hooks/post-receive script. It was
generated because of a push to the "PulseAudio Sound Server" repository.
The master branch has been updated
from 1415a295c25d331985c2e9a2a387ba0edd89ea0f (commit)
- Log -----------------------------------------------------------------
cb55b00 alsa: disable rewinds when using ALSA plugins
3ede7e4 alsa: Fix assertion on mmap_write (triggered via a52 plugin)
-----------------------------------------------------------------------
Summary of changes:
src/modules/alsa/alsa-sink.c | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
-----------------------------------------------------------------------
commit 3ede7e4c01e0c429d4b6ac7a3eb25d7e6753ba21
Author: Colin Guthrie <cguthrie at mandriva.org>
Date: Sun Jun 6 21:19:34 2010 +0100
alsa: Fix assertion on mmap_write (triggered via a52 plugin)
diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
index 35a806c..2995c3c 100644
--- a/src/modules/alsa/alsa-sink.c
+++ b/src/modules/alsa/alsa-sink.c
@@ -610,6 +610,9 @@ static int mmap_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle
if (PA_UNLIKELY((sframes = snd_pcm_mmap_commit(u->pcm_handle, offset, frames)) < 0)) {
+ if (!after_avail && (int) sframes == -EAGAIN)
+ break;
+
if ((r = try_recover(u, "snd_pcm_mmap_commit", (int) sframes)) == 0)
continue;
commit cb55b00ccd25d965b1222e74375aee05427a449b
Author: Pierre-Louis Bossart <pierre-louis.bossart at intel.com>
Date: Tue Jul 13 15:27:40 2010 -0500
alsa: disable rewinds when using ALSA plugins
This is required to when playing on a52: device, rewind is broken
in those plugins.
Credits to Michael Rans <mcarans at yahoo.co.uk> for finding this
workaround, and Tanu Kaskinen <tanuk at iki.fi> for providing
valuable feedback.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart at intel.com>
diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
index 2995c3c..2e54dbe 100644
--- a/src/modules/alsa/alsa-sink.c
+++ b/src/modules/alsa/alsa-sink.c
@@ -953,7 +953,12 @@ static int update_sw_params(struct userdata *u) {
}
pa_sink_set_max_request_within_thread(u->sink, u->hwbuf_size - u->hwbuf_unused);
- pa_sink_set_max_rewind_within_thread(u->sink, u->hwbuf_size);
+ if (pa_alsa_pcm_is_hw(u->pcm_handle))
+ pa_sink_set_max_rewind_within_thread(u->sink, u->hwbuf_size);
+ else {
+ pa_log_info("Disabling rewind_within_thread for device %s", u->device_name);
+ pa_sink_set_max_rewind_within_thread(u->sink, 0);
+ }
return 0;
}
@@ -1906,7 +1911,12 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca
(double) pa_bytes_to_usec(u->hwbuf_size, &ss) / PA_USEC_PER_MSEC);
pa_sink_set_max_request(u->sink, u->hwbuf_size);
- pa_sink_set_max_rewind(u->sink, u->hwbuf_size);
+ if (pa_alsa_pcm_is_hw(u->pcm_handle))
+ pa_sink_set_max_rewind(u->sink, u->hwbuf_size);
+ else {
+ pa_log_info("Disabling rewind for device %s", u->device_name);
+ pa_sink_set_max_rewind(u->sink, 0);
+ }
if (u->use_tsched) {
u->tsched_watermark = pa_usec_to_bytes_round_up(pa_bytes_to_usec_round_up(tsched_watermark, &requested_ss), &u->sink->sample_spec);
--
hooks/post-receive
PulseAudio Sound Server
More information about the pulseaudio-commits
mailing list