Re: [LAU] Dual Delta Setup

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Paul Davis <paul@...>
Cc: linux-audio-user <linux-audio-user@...>
Date: Monday, December 31, 2012 - 2:40 am

On Sun, Dec 30, 2012 at 6:03 PM, Paul Davis wrote:

> the problem as it been described here, seems more to be:

Right.

Doing this in the multi device at the *userspace* level, AFAICT, is
either very hard or not possible due to the way poll descriptors are
handled within ALSA. With the multi's implementation of
snd_pcm_poll_descriptors(), there are basically three choices:

1.) Return the master device's poll descriptors (the current implementation).

We know this doesn't work.

2.) Return the poll descriptors of all of the devices (the old
implementation, IIUC).

This would lead to the same issue, and possibly make it worse if the
slave devices are sometimes ready before the master device.

3.) Return a custom file descriptor (eventfd, maybe). Do the device
polling in separate thread, and signal the file descriptor when enough
data is available on both devices.

I'm not even sure this is really doable in a way that could reliably
play well with all the applications that depend on this functionality.

I can't see any other way to do this at the userspace level.

At the kernel level, this problem might be able to be fixed by having
snd_pcm_link() sync the file descriptors of the master and slave
devices. I have absolutely no idea what the ramifications would be.

--
Devin Anderson
surfacepatterns (at) gmail (dot) com

blog - http://surfacepatterns.blogspot.com/
midisnoop - http://midisnoop.googlecode.com/
psinsights - http://psinsights.googlecode.com/
synthclone - http://synthclone.googlecode.com/
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-user

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[LAU] Dual Delta Setup, Ben Bell, (Sat Dec 29, 11:43 am)
Re: [LAU] Dual Delta Setup, drew Roberts, (Sat Dec 29, 6:29 pm)
Re: [LAU] Dual Delta Setup, Ben Bell, (Sun Dec 30, 2:22 pm)
Re: [LAU] Dual Delta Setup, Len Ovens, (Sun Dec 30, 4:55 pm)
Re: [LAU] Dual Delta Setup, Fons Adriaensen, (Sun Dec 30, 2:46 pm)
Re: [LAU] Dual Delta Setup, Ben Bell, (Sun Dec 30, 7:27 pm)
Re: [LAU] Dual Delta Setup, Fons Adriaensen, (Sun Dec 30, 11:33 pm)
Re: [LAU] Dual Delta Setup, Devin Anderson, (Sun Dec 30, 11:51 pm)
Re: [LAU] Dual Delta Setup, Len Ovens, (Mon Dec 31, 1:50 am)
Re: [LAU] Dual Delta Setup, Devin Anderson, (Mon Dec 31, 3:12 am)
Re: [LAU] Dual Delta Setup, Len Ovens, (Wed Jan 2, 11:35 pm)
Re: [LAU] Dual Delta Setup, Joe Hartley, (Thu Jan 3, 12:26 am)
Re: [LAU] Dual Delta Setup, Fons Adriaensen, (Thu Jan 3, 12:05 am)
Re: [LAU] Dual Delta Setup, Len Ovens, (Thu Jan 3, 3:15 am)
Re: [LAU] Dual Delta Setup, John Murphy, (Thu Jan 3, 5:04 am)
Re: [LAU] Dual Delta Setup, Len Ovens, (Mon Dec 31, 2:47 pm)
Re: [LAU] Dual Delta Setup, Paul Davis, (Mon Dec 31, 2:58 pm)
Re: [LAU] Dual Delta Setup, Len Ovens, (Mon Dec 31, 10:33 pm)
Re: [LAU] Dual Delta Setup, Paul Davis, (Tue Jan 1, 4:06 am)
Re: [LAU] Dual Delta Setup, Paul Davis, (Mon Dec 31, 2:03 am)
Re: [LAU] Dual Delta Setup, Devin Anderson, (Mon Dec 31, 2:40 am)
Re: [LAU] Dual Delta Setup, Fons Adriaensen, (Mon Dec 31, 9:24 am)
Re: [LAU] Dual Delta Setup, Paul Davis, (Sun Dec 30, 3:52 pm)
Re: [LAU] Dual Delta Setup, Fons Adriaensen, (Sun Dec 30, 4:27 pm)
Re: [LAU] Dual Delta Setup, Ben Bell, (Sat Dec 29, 10:35 pm)
Re: [LAU] Dual Delta Setup, Len Ovens, (Sat Dec 29, 6:23 pm)
Re: [LAU] Dual Delta Setup, Ben Bell, (Sat Dec 29, 10:31 pm)