[Spice-devel] [PATCH spice 5/8 v3] Send the graphics device info from streaming agent to the vd_agent

Frediano Ziglio fziglio at redhat.com
Sat Jan 26 21:27:16 UTC 2019


> 
> On Thu, 2019-01-17 at 13:10 -0600, Jonathon Jongsma wrote:
> > On Wed, 2019-01-16 at 13:52 +0100, Lukáš Hrázký wrote:
> > > Adds the graphics device info from the streaming device(s) to the
> > > VDAgentGraphicsDeviceInfo message sent to the vd_agent.
> > > 
> > > Signed-off-by: Lukáš Hrázký <lhrazky at redhat.com>
> > > ---
> > >  server/red-stream-device.c | 18 +++++++++++
> > >  server/red-stream-device.h |  7 +++++
> > >  server/reds.c              | 63
> > > ++++++++++++++++++++++++++++++++++++--
> > >  3 files changed, 86 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/server/red-stream-device.c b/server/red-stream-device.c
> > > index 6c90d77d..e7ed9f76 100644
> > > --- a/server/red-stream-device.c
> > > +++ b/server/red-stream-device.c
> > > @@ -342,6 +342,8 @@ handle_msg_device_display_info(StreamDevice *dev,
> > > SpiceCharDeviceInstance *sin)
> > >              dev->device_display_info.device_address,
> > >              dev->device_display_info.device_display_id);
> > >  
> > > +    reds_send_device_display_info(red_char_device_get_server(RED_CHA
> > > R_DEVICE(dev)));
> > > +
> > >      return true;
> > >  }
> > >  
> > > @@ -799,6 +801,22 @@ stream_device_init(StreamDevice *dev)
> > >      dev->msg_len = sizeof(*dev->msg);
> > >  }
> > >  
> > > +StreamDeviceDisplayInfo
> > > *stream_device_get_device_display_info(StreamDevice *dev)
> > > +{
> > > +    return &dev->device_display_info;
> > > +}
> > > +
> > > +int32_t stream_device_get_stream_channel_id(StreamDevice *dev)
> > > +{
> > > +    if (dev->stream_channel == NULL) {
> > > +        return -1;
> > > +    }
> > > +
> > > +    int32_t channel_id;
> > > +    g_object_get(dev->stream_channel, "id", &channel_id, NULL);
> > > +    return channel_id;
> > > +}
> > > +
> > 
> > Did you consider using a similar interface to the one used for the QXL
> > displays? e.g. _get_device_address() / _get_device_display_ids() / etc?
> > 
> > I know that the stream device currently (and probably always) only has
> > a single display per channel, but part of me wishes the interfaces had
> > some consistency.  Not a big issue, just curious.
> 
> IIRC I did have a similar interface while I had it handle info for
> multiple streams, but after I realized I'm not sure how multiple
> streams will be implemented and dumbed it down to a single info
> message, I simlified the interface as well. The interface also depends
> on that. It is an interface internal to the server, so it can be
> changed when multi-monitor support is implemented for streaming...
> 
> > Acked-by: Jonathon Jongsma <jjongsma at redhat.com>
> 
> Thanks,
> Lukas
> 

Keeping the ack and taking into account that spice-protocol had
a new release I would bump spice-protocol requirement in configure.ac
and meson.build to 0.12.16

Frediano


More information about the Spice-devel mailing list