The fix to enable finer sync of dmix in delay callback seems
rather harmful for some apps like xmms on SMP.
The problem of aoss was solved by max_periods=0, so better to
revert this change.
if (err < 0)
return err;
/* fallthru */
- snd_pcm_dmix_sync_area(pcm);
case SNDRV_PCM_STATE_PREPARED:
case SNDRV_PCM_STATE_SUSPENDED:
case STATE_RUN_PENDING:
static int snd_pcm_rate_delay(snd_pcm_t *pcm, snd_pcm_sframes_t *delayp)
{
- snd_pcm_rate_t *rate = pcm->private_data;
snd_pcm_rate_hwsync(pcm);
- /* call slave's delay callback although the value is overwritten.
- * it's needed for a better sync of dmix on aoss.
- */
- snd_pcm_delay(rate->gen.slave, delayp);
if (pcm->stream == SND_PCM_STREAM_PLAYBACK)
*delayp = snd_pcm_mmap_playback_hw_avail(pcm);
else