More changes for dmix plugin:

- added poll_events to main pcm structure
  - added poll_revents callback to pcm->ops structure
  - fixed snd_pcm_wait() - call revents function and enhanced
    error code reporting
DMIX plugin:
  - more complete code (works at least for one instance)
  - still no "mix" code (it's silent)
This commit is contained in:
Jaroslav Kysela 2003-02-11 18:14:43 +00:00
parent 06cccc6a78
commit af89cefd99
24 changed files with 332 additions and 55 deletions

View file

@ -527,6 +527,7 @@ static snd_pcm_ops_t snd_pcm_adpcm_ops = {
dump: snd_pcm_adpcm_dump,
nonblock: snd_pcm_plugin_nonblock,
async: snd_pcm_plugin_async,
poll_revents: snd_pcm_plugin_poll_revents,
mmap: snd_pcm_plugin_mmap,
munmap: snd_pcm_plugin_munmap,
};
@ -573,6 +574,7 @@ int snd_pcm_adpcm_open(snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sfor
pcm->fast_ops = &snd_pcm_plugin_fast_ops;
pcm->private_data = adpcm;
pcm->poll_fd = slave->poll_fd;
pcm->poll_events = slave->poll_events;
snd_pcm_set_hw_ptr(pcm, &adpcm->plug.hw_ptr, -1, 0);
snd_pcm_set_appl_ptr(pcm, &adpcm->plug.appl_ptr, -1, 0);
*pcmp = pcm;