Re: RFC: video device (stream) sharing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux