Hello, this is the first version of the patch series that allows hot-swapping the codec used for guest video streaming. * in spice-server, the behavior is similar to what I did for host-side video streaming: when the user (through the client) or the admin (through the QMP interface) changes the codec list, the guest streams are reset. SPICE will automatically restart them, picking up the new most suitable codec. * it is on purpose that I didn't implement any check (eg, check that the preferred codec actually changed) before triggering the stream restart. The streaming-agent also tries to compute the most suitable codec for all its clients, so I think we should have another discussion to settle where/when the codec choices should be done. * in spice-streaming-agent, I had to 1) update the main loop to perform a full restart, instead of only stop sending frame on start/stop requests; 2) update the GST plugin to allow multiple plugin instances to registered, one for each codec (listed in the command-line). * in spice-gtk, I had to update a bit the code, to ensure that the drawing area used by the native MJPEG renderer is visible when we swap the codec, otherwise the GST area always remained on top and the MJPEG video was not visible on screen. This part is really RFC, if someone knows a better place for this line, feel free! please, let me know if you have any comments! best regards, Kevin --- # spice-server Kevin Pouget (1): streaming: Restart guest video streams on video-codec changes server/dcc.c | 4 +++- server/display-channel.c | 2 +- server/red-stream-device.c | 15 +++++++++++++++ server/red-stream-device.h | 1 + server/reds.c | 11 +++++++++++ server/reds.h | 1 + server/stream-channel.c | 34 ++++++++++++++++++++++++++++++---- server/video-stream.c | 8 ++++++++ server/video-stream.h | 1 + 9 files changed, 71 insertions(+), 6 deletions(-) # spice-streaming-agent Kevin Pouget (2): gst-plugin: allow the instantiation of multiple GST encoder plugins spice-streaming-agent: fully reset the capture loop on start/stop requests src/gst-plugin.cpp | 50 ++++++++++++++++++++++------------- src/spice-streaming-agent.cpp | 9 +++++-- 2 files changed, 38 insertions(+), 21 deletions(-) # spice-gtk Kevin Pouget (1): spice-widget: make draw-area visible on update_image src/spice-widget.c | 2 ++ 1 file changed, 2 insertions(+) -- 2.21.0 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel