len = ctx->on_buffer_ready(stream, ctx);
/* It's ok to have an unavailable sub-buffer */
- if (len < 0 && len != -EAGAIN) {
+ if (len < 0 && len != -EAGAIN && len != -ENODATA) {
rcu_read_unlock();
goto end;
} else if (len > 0) {
high_prio = 1;
len = ctx->on_buffer_ready(local_stream[i], ctx);
/* it's ok to have an unavailable sub-buffer */
- if (len < 0 && len != -EAGAIN) {
+ if (len < 0 && len != -EAGAIN && len != -ENODATA) {
goto end;
} else if (len > 0) {
local_stream[i]->data_read = 1;
DBG("Normal read on fd %d", pollfd[i].fd);
len = ctx->on_buffer_ready(local_stream[i], ctx);
/* it's ok to have an unavailable sub-buffer */
- if (len < 0 && len != -EAGAIN) {
+ if (len < 0 && len != -EAGAIN && len != -ENODATA) {
goto end;
} else if (len > 0) {
local_stream[i]->data_read = 1;