diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-07-23 15:18:06 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-07-23 15:18:06 +0200 |
commit | 88d5749f6ae8d391963a12a6221f006de2947e50 (patch) | |
tree | f1de05b054b1ee8b272804a03b621a1dde1d8416 /src/modules/alsa/alsa-sink.c | |
parent | 0225ef68f2876bebd14977882db313fd7f3f6d64 (diff) | |
parent | 3d6278bc31aa7053f1228b3d874ba36f50a8c2d5 (diff) |
Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio
Conflicts:
src/daemon/main.c
Diffstat (limited to 'src/modules/alsa/alsa-sink.c')
-rw-r--r-- | src/modules/alsa/alsa-sink.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c index 0cde694c..e7925902 100644 --- a/src/modules/alsa/alsa-sink.c +++ b/src/modules/alsa/alsa-sink.c @@ -494,6 +494,9 @@ static int mmap_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle if (frames > pa_mempool_block_size_max(u->sink->core->mempool)/u->frame_size) frames = pa_mempool_block_size_max(u->sink->core->mempool)/u->frame_size; + if (frames == 0) + break; + /* Check these are multiples of 8 bit */ pa_assert((areas[0].first & 7) == 0); pa_assert((areas[0].step & 7)== 0); @@ -631,7 +634,8 @@ static int unix_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle frames = snd_pcm_writei(u->pcm_handle, (const uint8_t*) p + u->memchunk.index, (snd_pcm_uframes_t) frames); pa_memblock_release(u->memchunk.memblock); - pa_assert(frames != 0); + if (frames == 0) + break; if (PA_UNLIKELY(frames < 0)) { |