Rewrite assert in cubeb_alsa.c: alsa_refill_stream to pass back a cubeb error instead.

This should fix the assertion failure in #1515.
This commit is contained in:
Pale Moon
2017-11-29 23:12:52 +01:00
committed by Roy Tam
parent beedeec1e9
commit 893ce18a8d
+6 -1
View File
@@ -333,7 +333,12 @@ alsa_refill_stream(cubeb_stream * stm)
snd_pcm_recover(stm->pcm, wrote, 1);
wrote = snd_pcm_writei(stm->pcm, p, got);
}
assert(wrote >= 0 && wrote == got);
if (wrote < 0 || wrote != got) {
/* Recovery failed, somehow. */
pthread_mutex_unlock(&stm->mutex);
stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
return ERROR;
}
stm->write_position += wrote;
gettimeofday(&stm->last_activity, NULL);
}