On 08:39 Fri 28 Aug 2009, Hans de Goede wrote: > The basic idea is to have some sort of userspace proxy process which allows > sharing for example a webcam between 2 devices. For me there are 2 major > criteria which need to be matched to be able to do this: > > 1) No (as in 0) functionality regressions for the single use case, iow when > only one app opens the device everything should work as before > > 2) No significant performance regressions for the single use case. Sure this > may be a bit slower, but not much! Agreed and it should be possible to do with shm and a fast daemon. > So the whole stream owner concept does not work. Agreed. This will need to be a per user session daemon like PulseAudio is by default. > -limit the amount of reported supported formats (enum fmt) to > formats which we can create by conversion from native formats Agreed. > -report the full list of supported resolutions to all applications > -capture at the highest resolution requested by any of the > applications All supported resolutions that don't cause a drop in frame capture rate that the other applications are getting. I am not sure how this heuristic will end up working and at this point I am a long way from tackling this problem. I am guessing that applications can provide hints on what they need from the hardware. But, alot of my interest is in enabling interesting things to be done in that other operating systems can do: - Face tracking and panning - Software autofocus - "Take photo of the laptop theif" software running in background - Backup your camera output while Pidgin/Skype/etc is running These sorts of applications will be fine with the same data format that the current running application is using. > -downsample for applications which want a lower resolution Yes. I have been reading quite a bit of the PulseAudio code while I have been working on my prototype. My hope is to ensure that we get the implementation of this daemon and library right enough so as to avoid layers upon layers of APIs http://rudd-o.com/en/linux-and-free-software/how-pulseaudio-works/images/pulseaudio-diagram.png?isImage=1 :D Thanks for the input. Cheers, Brandon -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html