{
snd_pcm_sframes_t avail;
- avail = snd_pcm_mmap_playback_avail(pcm);
- if (avail < 0)
- return 0;
+ avail = snd_pcm_dmix_forwardable(pcm);
if (frames > (snd_pcm_uframes_t)avail)
frames = avail;
snd_pcm_mmap_appl_forward(pcm, frames);
{
snd_pcm_sframes_t avail;
- avail = snd_pcm_mmap_playback_hw_avail(pcm);
+ avail = snd_pcm_dshare_rewindable(pcm);
if (avail < 0)
return 0;
if (frames > (snd_pcm_uframes_t)avail)
{
snd_pcm_sframes_t avail;
- avail = snd_pcm_mmap_playback_avail(pcm);
- if (avail < 0)
- return 0;
+ avail = snd_pcm_dshare_forwardable(pcm);
if (frames > (snd_pcm_uframes_t)avail)
frames = avail;
snd_pcm_mmap_appl_forward(pcm, frames);
{
snd_pcm_sframes_t avail;
- avail = snd_pcm_mmap_capture_avail(pcm);
- if (avail < 0)
- return 0;
+ avail = snd_pcm_dsnoop_rewindable(pcm);
if (frames > (snd_pcm_uframes_t)avail)
frames = avail;
snd_pcm_mmap_appl_backward(pcm, frames);
{
snd_pcm_sframes_t avail;
- avail = snd_pcm_mmap_capture_hw_avail(pcm);
+ avail = snd_pcm_dsnoop_forwardable(pcm);
if (avail < 0)
return 0;
if (frames > (snd_pcm_uframes_t)avail)
snd_pcm_sframes_t snd_pcm_plugin_rewind(snd_pcm_t *pcm, snd_pcm_uframes_t frames)
{
snd_pcm_plugin_t *plugin = pcm->private_data;
- snd_pcm_sframes_t n = snd_pcm_mmap_hw_avail(pcm);
+ snd_pcm_sframes_t n = snd_pcm_plugin_rewindable(pcm);
snd_pcm_sframes_t sframes;
if ((snd_pcm_uframes_t)n < frames)
snd_pcm_sframes_t snd_pcm_plugin_forward(snd_pcm_t *pcm, snd_pcm_uframes_t frames)
{
snd_pcm_plugin_t *plugin = pcm->private_data;
- snd_pcm_sframes_t n = snd_pcm_mmap_avail(pcm);
+ snd_pcm_sframes_t n = snd_pcm_plugin_forwardable(pcm);
snd_pcm_sframes_t sframes;
if ((snd_pcm_uframes_t)n < frames)