Browse Source

QTISA-195 alsa: qnx call plugin flush for every device separately

snd_pcm_plugin_flush will not flush all linked devices on qnx,
each device has to be flushed separately

Change-Id: Ie2921ecc9d9f7cdd88e6b80f6a51e7d7bfd3d954
Signed-off-by: Adam Miartus <external.Adam.Miartus@de.bosch.com>
(cherry picked from commit 8ff2595575)
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
pull/608/head
Adam Miartus Timo Wischer 6 years ago
parent
commit
104ca04438
1 changed files with 8 additions and 8 deletions
  1. +8
    -8
      linux/alsa/alsa_driver.c

+ 8
- 8
linux/alsa/alsa_driver.c View File

@@ -1766,14 +1766,14 @@ alsa_driver_stop (alsa_driver_t *driver)
continue;
}

if (device->capture_linked) {
group_done = 1;
}

#ifdef __QNXNTO__
/* In case of capture: Flush discards the frames */
err = snd_pcm_plugin_flush(device->capture_handle, SND_PCM_CHANNEL_CAPTURE);
#else
if (device->capture_linked) {
group_done = 1;
}

err = snd_pcm_drop (device->capture_handle);
#endif
if (err < 0) {
@@ -1796,14 +1796,14 @@ alsa_driver_stop (alsa_driver_t *driver)
continue;
}

if (device->playback_linked) {
group_done = 1;
}

#ifdef __QNXNTO__
/* In case of playback: Drain discards the frames */
err = snd_pcm_plugin_playback_drain(device->playback_handle);
#else
if (device->playback_linked) {
group_done = 1;
}

err = snd_pcm_drop (device->playback_handle);
#endif
if (err < 0) {


Loading…
Cancel
Save