From 366d1d3441136551e32d375831c1edd85fd370f2 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 7 Aug 2007 10:48:29 +0000 Subject: reinitialize sw params after resume git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1587 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/modules/module-alsa-source.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/modules/module-alsa-source.c') diff --git a/src/modules/module-alsa-source.c b/src/modules/module-alsa-source.c index 9a5d5acb..2db9f482 100644 --- a/src/modules/module-alsa-source.c +++ b/src/modules/module-alsa-source.c @@ -264,7 +264,7 @@ static int unsuspend(struct userdata *u) { pa_log_warn("Resume failed, couldn't get original access mode."); goto fail; } - + if (!pa_sample_spec_equal(&ss, &u->source->sample_spec)) { pa_log_warn("Resume failed, couldn't restore original sample settings."); goto fail; @@ -275,6 +275,11 @@ static int unsuspend(struct userdata *u) { goto fail; } + if ((err = pa_alsa_set_sw_params(u->pcm_handle)) < 0) { + pa_log("Failed to set software parameters: %s", snd_strerror(err)); + goto fail; + } + snd_pcm_start(u->pcm_handle); /* FIXME: We need to reload the volume somehow */ @@ -565,8 +570,6 @@ static void thread_func(void *userdata) { if (t < 0) { pa_memblock_unref(chunk.memblock); - pa_assert(t != -EPIPE); - if ((t = snd_pcm_recover(u->pcm_handle, t, 1)) == 0) continue; -- cgit