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

Francois Gouget fgouget at codeweavers.com
Thu Aug 18 15:58:05 UTC 2016


Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---
 server/dcc.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/server/dcc.c b/server/dcc.c
index d387e8b..ddc23e2 100644
--- a/server/dcc.c
+++ b/server/dcc.c
@@ -930,6 +930,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;
+    }
+
     if (report->unique_id != agent->report_id) {
         spice_warning("stream_report: unique id mismatch: local (%u) != msg (%u) "
                       "The old stream was probably replaced by a new one",
-- 
2.8.1


More information about the Spice-devel mailing list