[Spice-devel] video passthrough ideas

Zeeshan Ali (Khattak) zeeshanak at gnome.org
Thu May 12 15:53:24 PDT 2011


On Thu, May 12, 2011 at 6:56 PM, Marc-André Lureau <mlureau at redhat.com> wrote:
> My concern for VAAPI though (and other acceleration API) is that it is not a sink, which handle completely decoding and displaying. I understand it can take care of some expensive operations, but the result probably has to be returned to the server/guest.

  No, you don't get the decoded data back. If I understood correctly,
you get some kind of ID that you then pass to the different
post-processing libraries (GLX, X etc) for the actual rendering of
video. So yes, it *kinda* is a sink.

>> 2. GStreamer all the way: This is the idea that I originally came-up
>> with when Christophe suggested a "magic GStreamer element" on IRC. The
>
> This is indeed a solution we have discussed in the past. It has several advantages:

  Now you tell me. :)

> - at the moment there are just too many video acceleration API to choose one, so going higher level sounds reasonable
> - we have a fairly good idea how to do it, since we know GStreamer etc..
> - we could send the whole stream to the client, which give us same advantage for audio, easy a/v sync, and a separate audio channel for free
> - it will work for any client platform  (spice-gtk already works with GStreamer on Windows)
> - if the solution is proved to be robust and simple, for Windows, a DirectShow sink could convert the stream to a GStreamer flow, which will be handled in GDP the same way
> - for MacOS, I suppose we could also write a simple QuickTime component doing the same conversion

  Cool, with all these advantages in mind, maybe we should just focus
on the practicalities of this approach and only come back to the other
options if we hit a snag on this one?

-- 
Regards,

Zeeshan Ali (Khattak)
FSF member#5124


More information about the Spice-devel mailing list