Re: [PATCH spice-server 00/15] A bunch of stream cleanups

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

 



> 
> Jonathon Jongsma writes:
> 
> > I sent two of these patches earlier (one ACKed by Frediano), but decided
> > to do a little more cleanup here. There are a couple of basic issues
> > related to the Stream stuff:
> >  1. The word Stream is used in a couple of ways within the spice-server
> >     codebase. The first is a generic data stream between the client and
> >     server (RedStream). The second is a portion of the display that is
> >     encoded as a video stream. To prevent confusion, this series renamed
> >     Stream to VideoStream to make it more explicit.
> >  2. the stream.[ch] files contain a hodgepodge of functions and types
> >     related to video streaming. But some of them are the realm of the
> >     display channel and some are the realm of the channel client. This
> >     series attempts to clean that up a little bit by moving some
> >     channel-client-specific stuff to dcc*.[ch] and some channel-specific
> >     stuff to display-channel.[ch]. It doesn't fully solve the issue, but
> >     I think it helps.
> 
> +1
> 
> >
> > Jonathon Jongsma (15):
> >   Use standard "Red" namespace
> >   RedStream: make some functions static
> >   Move stream agent manipulation to dcc
> >   Stream: store channel in stream
> >   Move RedStreamClipItem to dcc.c
> >   Move dcc_update-streams_max_latency to dcc.c
> >   Move StreamCreateDestroyItem to dcc
> >   Move dcc_create_stream() to dcc
> >   Factor out dcc_stream_stop()
> >   Factor out dcc_attach_stream()
> >   Rename Stream to VideoStream
> >   Rename VideoStream methods
> >   Rename StreamAgent to VideoStreamAgent
> >   Move display_channel_init_video_streams()
> >   Move display_channel_create_video_stream()
> 
> For the series:
> 
> Reviewed-by: Christophe de Dinechin <dinechin@xxxxxxxxxx>
> 

We had a quick discussion on the streaming part.
Currently DisplayChannel is split in 4 C files:
- display-channel.c
- dcc.c
- dcc-send.c
- stream.c
All other channels are implemented with one or 2 (Channel+ChannelClient)
files.
The rationale between dcc and dcc-send is mainly dcc-send should contain
just client part sending (for instance marshalling) messages. This as
DisplayChannel messages are more complicate and copious compared to other
channels.
But we didn't find a clear rationale on what should be put inside stream.c.
For instance should marshalling of stream_data message be in dcc-send or
stream? Or why Stream and StreamAgent are in the same file if they are
related to Channel and ChannelClient, respectively.

I agree on the rename Stream -> VideoStream.

Frediano

> 
> >
> >  server/Makefile.am                     |   8 +-
> >  server/common-graphics-channel.c       |   4 +-
> >  server/cursor-channel-client.c         |   2 +-
> >  server/cursor-channel-client.h         |   4 +-
> >  server/cursor-channel.c                |   2 +-
> >  server/cursor-channel.h                |   2 +-
> >  server/dcc-private.h                   |   4 +-
> >  server/dcc-send.c                      |  20 +-
> >  server/dcc.c                           | 372 ++++++++++++-
> >  server/dcc.h                           |  32 +-
> >  server/display-channel-private.h       |   8 +-
> >  server/display-channel.c               | 134 ++++-
> >  server/display-channel.h               |  10 +-
> >  server/inputs-channel-client.c         |   2 +-
> >  server/inputs-channel-client.h         |   2 +-
> >  server/inputs-channel.c                |   6 +-
> >  server/main-channel-client.c           |   2 +-
> >  server/main-channel-client.h           |   2 +-
> >  server/main-channel.c                  |   2 +-
> >  server/main-channel.h                  |   2 +-
> >  server/red-channel-client.c            |  28 +-
> >  server/red-channel-client.h            |   4 +-
> >  server/red-channel.c                   |   6 +-
> >  server/red-channel.h                   |   6 +-
> >  server/red-qxl.c                       |   4 +-
> >  server/{reds-stream.c => red-stream.c} | 284 +++++-----
> >  server/red-stream.h                    |  90 ++++
> >  server/red-worker.c                    |   5 +-
> >  server/red-worker.h                    |   4 +-
> >  server/reds-private.h                  |   2 +-
> >  server/reds-stream.h                   |  93 ----
> >  server/reds.c                          | 158 +++---
> >  server/smartcard-channel-client.c      |   2 +-
> >  server/smartcard-channel-client.h      |   2 +-
> >  server/smartcard.c                     |   2 +-
> >  server/sound.c                         |  10 +-
> >  server/spicevmc.c                      |  12 +-
> >  server/stream-channel.c                |   6 +-
> >  server/stream.c                        | 955
> >  ---------------------------------
> >  server/tests/test-channel.c            |   6 +-
> >  server/tests/test-stream.c             |  24 +-
> >  server/video-stream.c                  | 544 +++++++++++++++++++
> >  server/{stream.h => video-stream.h}    |  60 +--
> >  43 files changed, 1478 insertions(+), 1449 deletions(-)
> >  rename server/{reds-stream.c => red-stream.c} (74%)
> >  create mode 100644 server/red-stream.h
> >  delete mode 100644 server/reds-stream.h
> >  delete mode 100644 server/stream.c
> >  create mode 100644 server/video-stream.c
> >  rename server/{stream.h => video-stream.h} (72%)
> 
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]