{
snd_pcm_direct_t *dmix = pcm->private_data;
+ switch (dmix->state) {
+ case SNDRV_PCM_STATE_DRAINING:
+ case SNDRV_PCM_STATE_RUNNING:
+ snd_pcm_dmix_sync_ptr(pcm);
+ break;
+ default:
+ break;
+ }
memset(status, 0, sizeof(*status));
status->state = dmix->state;
status->trigger_tstamp = dmix->trigger_tstamp;
{
snd_pcm_direct_t *dshare = pcm->private_data;
+ switch (dshare->state) {
+ case SNDRV_PCM_STATE_DRAINING:
+ case SNDRV_PCM_STATE_RUNNING:
+ snd_pcm_dshare_sync_ptr(pcm);
+ break;
+ default:
+ break;
+ }
memset(status, 0, sizeof(*status));
status->state = dshare->state;
status->trigger_tstamp = dshare->trigger_tstamp;
snd_pcm_direct_t *dshare = pcm->private_data;
int err;
- switch(dshare->state) {
+ switch (dshare->state) {
case SNDRV_PCM_STATE_DRAINING:
case SNDRV_PCM_STATE_RUNNING:
err = snd_pcm_dshare_sync_ptr(pcm);
{
snd_pcm_direct_t *dsnoop = pcm->private_data;
+ switch(dsnoop->state) {
+ case SNDRV_PCM_STATE_DRAINING:
+ case SNDRV_PCM_STATE_RUNNING:
+ snd_pcm_dsnoop_sync_ptr(pcm);
+ break;
+ default:
+ break;
+ }
memset(status, 0, sizeof(*status));
status->state = dsnoop->state;
status->trigger_tstamp = dsnoop->trigger_tstamp;