/* FIXME: __snd_pcm_lock() call below is commented out because of the
* the possible deadlock in signal handler calling snd_pcm_abort()
*/
- /* __snd_pcm_lock(pcm); */ /* forced lock due to pcm field change */
+ /* __snd_pcm_lock(pcm->op_arg); */ /* forced lock due to pcm field change */
if (pcm->ops->nonblock)
err = pcm->ops->nonblock(pcm->op_arg, nonblock);
else
pcm->mode &= ~SND_PCM_NONBLOCK;
}
unlock:
- /* __snd_pcm_unlock(pcm); */ /* FIXME: see above */
+ /* __snd_pcm_unlock(pcm->op_arg); */ /* FIXME: see above */
return err;
}
return -EINVAL;
}
#endif
- __snd_pcm_lock(pcm); /* forced lock due to pcm field change */
+ __snd_pcm_lock(pcm->op_arg); /* forced lock due to pcm field change */
if (pcm->ops->sw_params)
err = pcm->ops->sw_params(pcm->op_arg, params);
else
err = -ENOSYS;
if (err < 0) {
- __snd_pcm_unlock(pcm);
+ __snd_pcm_unlock(pcm->op_arg);
return err;
}
pcm->tstamp_mode = params->tstamp_mode;
pcm->silence_threshold = params->silence_threshold;
pcm->silence_size = params->silence_size;
pcm->boundary = params->boundary;
- __snd_pcm_unlock(pcm);
+ __snd_pcm_unlock(pcm->op_arg);
return 0;
}
int err;
assert(pcm && status);
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
if (pcm->fast_ops->status)
err = pcm->fast_ops->status(pcm->fast_op_arg, status);
else
err = -ENOSYS;
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return err;
}
snd_pcm_state_t state;
assert(pcm);
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
state = __snd_pcm_state(pcm);
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return state;
}
SNDMSG("PCM not set up");
return -EIO;
}
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
err = __snd_pcm_hwsync(pcm);
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return err;
}
SNDMSG("PCM not set up");
return -EIO;
}
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
err = __snd_pcm_delay(pcm, delayp);
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return err;
}
SNDMSG("PCM not set up");
return -EIO;
}
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
if (pcm->fast_ops->htimestamp)
err = pcm->fast_ops->htimestamp(pcm->fast_op_arg, avail, tstamp);
else
err = -ENOSYS;
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return err;
}
err = bad_pcm_state(pcm, ~P_STATE(DISCONNECTED));
if (err < 0)
return err;
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
if (pcm->fast_ops->prepare)
err = pcm->fast_ops->prepare(pcm->fast_op_arg);
else
err = -ENOSYS;
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return err;
}
SNDMSG("PCM not set up");
return -EIO;
}
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
if (pcm->fast_ops->reset)
err = pcm->fast_ops->reset(pcm->fast_op_arg);
else
err = -ENOSYS;
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return err;
}
err = bad_pcm_state(pcm, P_STATE(PREPARED));
if (err < 0)
return err;
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
err = __snd_pcm_start(pcm);
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return err;
}
P_STATE(SUSPENDED));
if (err < 0)
return err;
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
if (pcm->fast_ops->drop)
err = pcm->fast_ops->drop(pcm->fast_op_arg);
else
err = -ENOSYS;
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return err;
}
err = bad_pcm_state(pcm, P_STATE_RUNNABLE);
if (err < 0)
return err;
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
if (pcm->fast_ops->pause)
err = pcm->fast_ops->pause(pcm->fast_op_arg, enable);
else
err = -ENOSYS;
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return err;
}
err = bad_pcm_state(pcm, P_STATE_RUNNABLE);
if (err < 0)
return err;
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
if (pcm->fast_ops->rewindable)
result = pcm->fast_ops->rewindable(pcm->fast_op_arg);
else
result = -ENOSYS;
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return result;
}
err = bad_pcm_state(pcm, P_STATE_RUNNABLE);
if (err < 0)
return err;
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
if (pcm->fast_ops->rewind)
result = pcm->fast_ops->rewind(pcm->fast_op_arg, frames);
else
result = -ENOSYS;
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return result;
}
err = bad_pcm_state(pcm, P_STATE_RUNNABLE);
if (err < 0)
return err;
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
if (pcm->fast_ops->forwardable)
result = pcm->fast_ops->forwardable(pcm->fast_op_arg);
else
result = -ENOSYS;
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return result;
}
err = bad_pcm_state(pcm, P_STATE_RUNNABLE);
if (err < 0)
return err;
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
if (pcm->fast_ops->forward)
result = pcm->fast_ops->forward(pcm->fast_op_arg, frames);
else
result = -ENOSYS;
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return result;
}
use_default_symbol_version(__snd_pcm_forward, snd_pcm_forward, ALSA_0.9.0rc8);
int count;
assert(pcm);
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
count = __snd_pcm_poll_descriptors_count(pcm);
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return count;
}
int err;
assert(pcm && pfds);
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
err = __snd_pcm_poll_descriptors(pcm, pfds, space);
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return err;
}
int err;
assert(pcm && pfds && revents);
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
err = __snd_pcm_poll_revents(pcm, pfds, nfds, revents);
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return err;
}
{
int err;
- __snd_pcm_lock(pcm); /* forced lock */
+ __snd_pcm_lock(pcm->fast_op_arg); /* forced lock */
err = __snd_pcm_wait_in_lock(pcm, timeout);
- __snd_pcm_unlock(pcm);
+ __snd_pcm_unlock(pcm->fast_op_arg);
return err;
}
return -EIO;
}
do {
- __snd_pcm_unlock(pcm);
+ __snd_pcm_unlock(pcm->fast_op_arg);
err_poll = poll(pfd, npfds, timeout);
- __snd_pcm_lock(pcm);
+ __snd_pcm_lock(pcm->fast_op_arg);
if (err_poll < 0) {
if (errno == EINTR && !PCMINABORT(pcm))
continue;
{
snd_pcm_sframes_t result;
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
result = __snd_pcm_avail_update(pcm);
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return result;
}
SNDMSG("PCM not set up");
return -EIO;
}
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
err = __snd_pcm_hwsync(pcm);
if (err < 0)
result = err;
else
result = __snd_pcm_avail_update(pcm);
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return result;
}
SNDMSG("PCM not set up");
return -EIO;
}
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
err = __snd_pcm_hwsync(pcm);
if (err < 0)
goto unlock;
*availp = sf;
err = 0;
unlock:
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return err;
}
err = bad_pcm_state(pcm, P_STATE_RUNNABLE);
if (err < 0)
return err;
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
err = __snd_pcm_mmap_begin(pcm, areas, offset, frames);
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return err;
}
err = bad_pcm_state(pcm, P_STATE_RUNNABLE);
if (err < 0)
return err;
- snd_pcm_lock(pcm);
+ snd_pcm_lock(pcm->fast_op_arg);
result = __snd_pcm_mmap_commit(pcm, offset, frames);
- snd_pcm_unlock(pcm);
+ snd_pcm_unlock(pcm->fast_op_arg);
return result;
}
if (size == 0)
return 0;
- __snd_pcm_lock(pcm); /* forced lock */
+ __snd_pcm_lock(pcm->fast_op_arg); /* forced lock */
while (size > 0) {
snd_pcm_uframes_t frames;
snd_pcm_sframes_t avail;
xfer += frames;
}
_end:
- __snd_pcm_unlock(pcm);
+ __snd_pcm_unlock(pcm->fast_op_arg);
return xfer > 0 ? (snd_pcm_sframes_t) xfer : snd_pcm_check_error(pcm, err);
}
if (size == 0)
return 0;
- __snd_pcm_lock(pcm); /* forced lock */
+ __snd_pcm_lock(pcm->fast_op_arg); /* forced lock */
while (size > 0) {
snd_pcm_uframes_t frames;
snd_pcm_sframes_t avail;
xfer += frames;
}
_end:
- __snd_pcm_unlock(pcm);
+ __snd_pcm_unlock(pcm->fast_op_arg);
return xfer > 0 ? (snd_pcm_sframes_t) xfer : snd_pcm_check_error(pcm, err);
}