mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2026-03-09 05:33:43 -04:00
Merge branch 'master' of /export/git/alsa/alsa-lib/
This commit is contained in:
commit
646f24a04c
2 changed files with 14 additions and 4 deletions
|
|
@ -104,9 +104,13 @@ implementation can be found in the \ref alsa_pcm_rw section.
|
||||||
The poll or select functions (see 'man 2 poll' or 'man 2 select' for further
|
The poll or select functions (see 'man 2 poll' or 'man 2 select' for further
|
||||||
details) allows to receive requests/events from the device while
|
details) allows to receive requests/events from the device while
|
||||||
an application is waiting on events from other sources (like keyboard, screen,
|
an application is waiting on events from other sources (like keyboard, screen,
|
||||||
network etc.), too. \ref snd_pcm_poll_descriptors can be used to get a file
|
network etc.), too. \ref snd_pcm_poll_descriptors can be used to get file
|
||||||
descriptor to poll or select on. The implemented
|
descriptors to poll or select on (note that wait direction might be diferent
|
||||||
transfer routines can be found in the \ref alsa_transfers section.
|
than expected - do not use only returned file descriptors, but handle
|
||||||
|
events member as well - see \ref snd_pcm_poll_descriptors function
|
||||||
|
description for more details and \ref snd_pcm_poll_descriptors_revents for
|
||||||
|
events demangling). The implemented transfer routines can be found in
|
||||||
|
the \ref alsa_transfers section.
|
||||||
|
|
||||||
\subsection pcm_transfer_async Asynchronous notification
|
\subsection pcm_transfer_async Asynchronous notification
|
||||||
|
|
||||||
|
|
@ -1405,7 +1409,9 @@ int snd_pcm_poll_descriptors_count(snd_pcm_t *pcm)
|
||||||
* does the right "demangling".
|
* does the right "demangling".
|
||||||
*
|
*
|
||||||
* You can use output from this function as arguments for the select()
|
* You can use output from this function as arguments for the select()
|
||||||
* syscall, too.
|
* syscall, too. Do not forget to translate POLLIN and POLLOUT events to
|
||||||
|
* corresponding FD_SET arrays and demangle events using
|
||||||
|
* \link ::snd_pcm_poll_descriptors_revents() \endlink .
|
||||||
*/
|
*/
|
||||||
int snd_pcm_poll_descriptors(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int space)
|
int snd_pcm_poll_descriptors(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int space)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -326,6 +326,8 @@ static int snd_pcm_hw_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t * params)
|
||||||
SYSMSG("SNDRV_PCM_IOCTL_HW_PARAMS failed");
|
SYSMSG("SNDRV_PCM_IOCTL_HW_PARAMS failed");
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
params->info &= ~0xf0000000;
|
||||||
|
params->info |= (pcm->monotonic ? SND_PCM_INFO_MONOTONIC : 0);
|
||||||
err = sync_ptr(hw, 0);
|
err = sync_ptr(hw, 0);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
|
|
@ -1037,6 +1039,8 @@ static void snd_pcm_hw_dump(snd_pcm_t *pcm, snd_output_t *out)
|
||||||
if (pcm->setup) {
|
if (pcm->setup) {
|
||||||
snd_output_printf(out, "Its setup is:\n");
|
snd_output_printf(out, "Its setup is:\n");
|
||||||
snd_pcm_dump_setup(pcm, out);
|
snd_pcm_dump_setup(pcm, out);
|
||||||
|
snd_output_printf(out, " appl_ptr : %li\n", hw->mmap_control->appl_ptr);
|
||||||
|
snd_output_printf(out, " hw_ptr : %li\n", hw->mmap_status->hw_ptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue