This saves some resources if no client are connected. Also will allow to get a better capture engine taking into account client supported codecs. Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> --- src/spice-streaming-agent.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/spice-streaming-agent.cpp b/src/spice-streaming-agent.cpp index 23b9768..20f2925 100644 --- a/src/spice-streaming-agent.cpp +++ b/src/spice-streaming-agent.cpp @@ -343,10 +343,6 @@ static void cursor_changes(Display *display, int event_base) static void do_capture(const char *streamport, FILE *f_log) { - std::unique_ptr<FrameCapture> capture(agent.GetBestFrameCapture()); - if (!capture) - throw std::runtime_error("cannot find a suitable capture system"); - streamfd = open(streamport, O_RDWR); if (streamfd < 0) // TODO was syslog(LOG_ERR, "Failed to open %s: %s\n", streamport, strerror(errno)); @@ -361,9 +357,16 @@ do_capture(const char *streamport, FILE *f_log) } } + if (quit) + return; + syslog(LOG_INFO, "streaming starts now\n"); uint64_t time_last = 0; + std::unique_ptr<FrameCapture> capture(agent.GetBestFrameCapture()); + if (!capture) + throw std::runtime_error("cannot find a suitable capture system"); + while (!quit && streaming_requested) { if (++frame_count % 100 == 0) { syslog(LOG_DEBUG, "SENT %d frames\n", frame_count); @@ -410,9 +413,6 @@ do_capture(const char *streamport, FILE *f_log) syslog(LOG_ERR, "FAILED to read command\n"); goto done; } - if (!streaming_requested) { - capture->Reset(); - } } } -- 2.14.3 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel