[Spice-devel] [client v5 1/4] streaming: Report invalid streams to the server

Christophe Fergeau cfergeau at redhat.com
Tue Nov 15 16:33:07 UTC 2016


On Mon, Oct 31, 2016 at 09:25:33PM +0100, Francois Gouget wrote:
> The error is sent using the existing client stream report message where
> the dropped frame count is maxed out while the received frame count is
> zero. Servers that recognize it can then switch to sending regular
> screen updates for that area so the client is not stuck with a frozen
> area on the screen.
> This can be useful in case the client is unable to decode the stream for
> some reason like a bug in the GStreamer plugins, the decoder not liking
> odd video dimensions, etc.
> 
> Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
> ---
> 
> Changed the commit log. Hope it's as desired.
> 
> 
>  src/channel-display.c | 68 ++++++++++++++++++++++++++++-----------------------
>  1 file changed, 38 insertions(+), 30 deletions(-)
> 
> diff --git a/src/channel-display.c b/src/channel-display.c
> index 709b3d2..6cbbdd3 100644
> --- a/src/channel-display.c
> +++ b/src/channel-display.c
> @@ -1077,6 +1077,38 @@ static void display_update_stream_region(display_stream *st)
>      }
>  }
>  
> +static display_stream *get_stream_by_id(SpiceChannel *channel, uint32_t id)
> +{
> +    SpiceDisplayChannelPrivate *c = SPICE_DISPLAY_CHANNEL(channel)->priv;
> +
> +    if (c != NULL && c->streams != NULL && id < c->nstreams &&
> +        c->streams[id] != NULL) {
> +        return c->streams[id];
> +    }
> +
> +    if (spice_channel_test_capability(channel, SPICE_DISPLAY_CAP_STREAM_REPORT)) {
> +        SpiceMsgcDisplayStreamReport report;
> +        SpiceMsgOut *msg;
> +
> +        /* Send a special stream report to indicate there is no such stream */

Can you add to the comment which values are special? (what you already
said in the commit log). This would be better in a helper function in my
opinion, see my comment on one of the next commits.

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20161115/34d3426d/attachment-0001.sig>


More information about the Spice-devel mailing list