{
snd_pcm_plugin_t *plugin, *next;
snd_pcm_plugin_voice_t *src_voices, *dst_voices;
- size_t samples;
+ ssize_t samples;
ssize_t size;
int idx, err;
return samples;
while (plugin) {
if ((next = plugin->next) != NULL) {
- size_t samples1 = samples;
+ ssize_t samples1 = samples;
if (plugin->dst_samples)
samples1 = plugin->dst_samples(plugin, samples);
if (next->src_voices) {
{
snd_pcm_plugin_t *plugin, *next;
snd_pcm_plugin_voice_t *src_voices = NULL, *dst_voices;
- size_t samples;
+ ssize_t samples;
ssize_t size;
int idx, err;
}
result = snd_pcm_readv(plugin->handle, vec, count);
}
+ if (result < 0)
+ return result;
return snd_pcm_plugin_dst_size_to_samples(plugin, result);
} else {
return -EINVAL;
}
result = snd_pcm_readv(plugin->handle, vec, count);
}
+ if (result < 0)
+ return result;
return snd_pcm_plugin_dst_size_to_samples(plugin, result);
} else {
return -EINVAL;