[Spice-devel] [RFC spice-gtk 0/1] Direct rendering

Snir Sheriber ssheribe at redhat.com
Tue Mar 13 09:59:25 UTC 2018


Hi,


On 03/13/2018 12:45 AM, Frediano Ziglio wrote:
>> This patch utilize the GstVideoOverlay interface when the
>> client is running under x window system and it receives a
>> full-screen stream that is decoded using gstreamer (gst =>
>> 1.9.0)
>>
>> Some notes
>> - It currently checks for full screen but probably a msg
>>    says it is streaming mode would make more sense (is it?
>>    i think frediano has a patch for that)
> Yes, there's a new flag in the surface creation message,
> SPICE_SURFACE_FLAGS_STREAMING_MODE.
> On "normal" display channel is possible that the full
> screen is streamed but for instance menus are send with separate
> messages causing them to be invisible.
>
>> - Would it be possible to avoid spice rendering if it is not
>>    a full screen?
> What do you mean?

I mean to a part to a stream that is not from spice-streaming-agent
(i.e. recognized as stream by spice)

>
>> - Does rendering directly from the decoder (channel-element)
>>    breaks spice architecture?
> How?

In that it makes the spice-glib\channels part to be aware to
gtk\x\windowing system stuff

>> - This currently seems stable and working well, it decreases
>>    cpu (no pixman-cairo stuff) mainly in high resolutions but
>>    needs to be tested with different plugins, windows...
>> - Not sure what is needed in order to make it to support
>>    multi-monitor in the future.
> Nothing I assume, I don't see why should not work, just needs
> testing.
>
>> - Currently works only with x (xid is transferred from
>>    spice-widget to spice-gst-decoder which sets the overlay)
>>
> What happens on Wayland? Just don't work the optimization or nothing?

Yes, currently it will just work as it was before - no gstvideoovelay

>
>> I'd be happy to hear more comments, ideas, patches ;)
>>
> I assume resize is not working. Did you try to make it work?

Seems to work :)

>
>> Thanks, Snir.
>>
>>
>> Snir Sheriber (1):
>>    Gstreamer: Use GstVideoOverlay if possible
>>
>>   src/channel-display-gst.c | 71
>>   +++++++++++++++++++++++++++++++++++++----------
>>   src/channel-display.c     | 54 +++++++++++++++++++++++++++++++++++
>>   src/spice-widget.c        | 46 ++++++++++++++++++++++++++++++
>>   3 files changed, 156 insertions(+), 15 deletions(-)
>>
> Frediano



More information about the Spice-devel mailing list