diff options
Diffstat (limited to 'src/output')
-rw-r--r-- | src/output/AlsaOutputPlugin.cxx | 2 | ||||
-rw-r--r-- | src/output/OssOutputPlugin.cxx | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/output/AlsaOutputPlugin.cxx b/src/output/AlsaOutputPlugin.cxx index 6668c920f..76eea5bd6 100644 --- a/src/output/AlsaOutputPlugin.cxx +++ b/src/output/AlsaOutputPlugin.cxx @@ -802,6 +802,7 @@ alsa_play(struct audio_output *ao, const void *chunk, size_t size, { AlsaOutput *ad = (AlsaOutput *)ao; + assert(size > 0); assert(size % ad->in_frame_size == 0); if (ad->must_prepare) { @@ -819,6 +820,7 @@ alsa_play(struct audio_output *ao, const void *chunk, size_t size, assert(size % ad->out_frame_size == 0); size /= ad->out_frame_size; + assert(size > 0); while (true) { snd_pcm_sframes_t ret = ad->writei(ad->pcm, chunk, size); diff --git a/src/output/OssOutputPlugin.cxx b/src/output/OssOutputPlugin.cxx index 68f2a38aa..cdde6d562 100644 --- a/src/output/OssOutputPlugin.cxx +++ b/src/output/OssOutputPlugin.cxx @@ -727,6 +727,8 @@ oss_output_play(struct audio_output *ao, const void *chunk, size_t size, OssOutput *od = (OssOutput *)ao; ssize_t ret; + assert(size > 0); + /* reopen the device since it was closed by dropBufferedAudio */ if (od->fd < 0 && !oss_reopen(od, error)) return 0; @@ -735,6 +737,8 @@ oss_output_play(struct audio_output *ao, const void *chunk, size_t size, chunk = od->pcm_export->Export(chunk, size, size); #endif + assert(size > 0); + while (true) { ret = write(od->fd, chunk, size); if (ret > 0) { |