}
frameCount = core->audioDevicePropertyBufferFrameSize;
- pending_frames = hw->pending_emul >> hw->info.shift;
+ pending_frames = hw->pending_emul / hw->info.bytes_per_frame;
/* if there are not enough samples, set signal and return */
if (pending_frames < frameCount) {
return 0;
}
- len = frameCount << hw->info.shift;
+ len = frameCount * hw->info.bytes_per_frame;
while (len) {
size_t write_len;
ssize_t start = ((ssize_t) hw->pos_emul) - hw->pending_emul;