[PATCH] streaming: Restart streams on video-codec changes

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

 



Interrupt the video streams when the user changes the preferred
video-codecs (dcc_handle_preferred_video_codec_type) or when the host
admin updates the list of video-codecs allowed
(display_channel_set_video_codecs).

The video streaming will be automatically restarted by spice
video-detection rules.
---
 server/dcc.c             | 2 ++
 server/display-channel.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/server/dcc.c b/server/dcc.c
index 71d09b77..86893ffe 100644
--- a/server/dcc.c
+++ b/server/dcc.c
@@ -1198,6 +1198,8 @@ static int dcc_handle_preferred_video_codec_type(DisplayChannelClient *dcc,
 
     /* New client preference */
     dcc_update_preferred_video_codecs(dcc);
+    video_stream_detach_and_stop(DCC_TO_DC(dcc));
+
     return TRUE;
 }
 
diff --git a/server/display-channel.c b/server/display-channel.c
index 4677c261..75266598 100644
--- a/server/display-channel.c
+++ b/server/display-channel.c
@@ -255,6 +255,8 @@ void display_channel_set_video_codecs(DisplayChannel *display, GArray *video_cod
     g_clear_pointer(&display->priv->video_codecs, g_array_unref);
     display->priv->video_codecs = g_array_ref(video_codecs);
     g_object_notify(G_OBJECT(display), "video-codecs");
+
+    video_stream_detach_and_stop(display);
 }
 
 GArray *display_channel_get_video_codecs(DisplayChannel *display)
-- 
2.21.0

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




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