[Spice-devel] [spice 2/2] streaming: Stop streaming if the client reports a streaming error

Francois Gouget fgouget at codeweavers.com
Thu Aug 11 11:04:15 UTC 2016


Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---

If there's enough bandwidth it's as if nothing wrong ever happened :-)

 server/dcc.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/server/dcc.c b/server/dcc.c
index d387e8b..b4066f5 100644
--- a/server/dcc.c
+++ b/server/dcc.c
@@ -937,6 +937,15 @@ static int dcc_handle_stream_report(DisplayChannelClient *dcc,
         return TRUE;
     }
 
+    if (report->num_frames == 0 && report->num_drops == UINT_MAX) {
+        spice_warning("stream_report: the client does not support stream %u",
+                      report->stream_id);
+        /* Stop streaming the video so the client can see it */
+        agent->video_encoder->destroy(agent->video_encoder);
+        agent->video_encoder = NULL;
+        return TRUE;
+    }
+
     agent->video_encoder->client_stream_report(agent->video_encoder,
                                                report->num_frames,
                                                report->num_drops,
-- 
2.8.1


More information about the Spice-devel mailing list