static int snd_pcm_dsnoop_prepare(snd_pcm_t *pcm) { snd_pcm_direct_t *dsnoop = pcm->private_data; snd_pcm_direct_check_interleave(dsnoop, pcm); dsnoop->state = SND_PCM_STATE_PREPARED; dsnoop->appl_ptr = 0; dsnoop->hw_ptr = 0; return snd_pcm_direct_set_timer_params(dsnoop); }
static int snd_pcm_dmix_prepare(snd_pcm_t *pcm) { snd_pcm_direct_t *dmix = pcm->private_data; snd_pcm_direct_check_interleave(dmix, pcm); dmix->state = SND_PCM_STATE_PREPARED; dmix->appl_ptr = dmix->last_appl_ptr = 0; dmix->hw_ptr = 0; return snd_pcm_direct_set_timer_params(dmix); }
static int snd_pcm_dmix_prepare(snd_pcm_t *pcm) { snd_pcm_direct_t *dmix = pcm->private_data; snd_pcm_direct_check_interleave(dmix, pcm); // assert(pcm->boundary == dmix->shmptr->s.boundary); /* for sure */ dmix->state = SND_PCM_STATE_PREPARED; dmix->appl_ptr = dmix->last_appl_ptr = 0; dmix->hw_ptr = 0; return snd_pcm_direct_set_timer_params(dmix); }