[Spice-devel] [PATCH spice-streaming-agent 1/2] mjpeg plugin: split off the declaration into a header

Lukáš Hrázký lhrazky at redhat.com
Tue Jan 30 11:19:22 UTC 2018


So that the plugin can later be included in a unit test.

Signed-off-by: Lukáš Hrázký <lhrazky at redhat.com>
---
 src/mjpeg-fallback.cpp | 26 ++++++--------------------
 src/mjpeg-fallback.hpp | 34 ++++++++++++++++++++++++++++++++++
 2 files changed, 40 insertions(+), 20 deletions(-)
 create mode 100644 src/mjpeg-fallback.hpp

diff --git a/src/mjpeg-fallback.cpp b/src/mjpeg-fallback.cpp
index f41e68a..fac34bc 100644
--- a/src/mjpeg-fallback.cpp
+++ b/src/mjpeg-fallback.cpp
@@ -4,6 +4,8 @@
  * Copyright 2017 Red Hat Inc. All rights reserved.
  */
 
+#include "mjpeg-fallback.hpp"
+
 #include <config.h>
 #include <cstring>
 #include <exception>
@@ -13,9 +15,6 @@
 #include <syslog.h>
 #include <X11/Xlib.h>
 
-#include <spice-streaming-agent/plugin.hpp>
-#include <spice-streaming-agent/frame-capture.hpp>
-
 #include "static-plugin.hpp"
 #include "jpeg.hpp"
 
@@ -41,11 +40,6 @@ static inline uint64_t get_time()
 }
 
 namespace {
-struct MjpegSettings
-{
-    int fps;
-    int quality;
-};
 
 class MjpegFrameCapture final: public FrameCapture
 {
@@ -69,18 +63,6 @@ private:
     uint64_t last_time = 0;
 };
 
-class MjpegPlugin final: public Plugin
-{
-public:
-    FrameCapture *CreateCapture() override;
-    unsigned Rank() override;
-    void ParseOptions(const ConfigureOption *options);
-    SpiceVideoCodecType VideoCodecType() const {
-        return SPICE_VIDEO_CODEC_TYPE_MJPEG;
-    }
-private:
-    MjpegSettings settings = { 10, 80 };
-};
 }
 
 MjpegFrameCapture::MjpegFrameCapture(const MjpegSettings& settings):
@@ -205,6 +187,10 @@ void MjpegPlugin::ParseOptions(const ConfigureOption *options)
     }
 }
 
+SpiceVideoCodecType MjpegPlugin::VideoCodecType() const {
+    return SPICE_VIDEO_CODEC_TYPE_MJPEG;
+}
+
 static bool
 mjpeg_plugin_init(Agent* agent)
 {
diff --git a/src/mjpeg-fallback.hpp b/src/mjpeg-fallback.hpp
new file mode 100644
index 0000000..8044244
--- /dev/null
+++ b/src/mjpeg-fallback.hpp
@@ -0,0 +1,34 @@
+/* Plugin implementation for Mjpeg
+ *
+ * \copyright
+ * Copyright 2017 Red Hat Inc. All rights reserved.
+ */
+#ifndef SPICE_STREAMING_AGENT_MJPEG_FALLBACK_HPP
+#define SPICE_STREAMING_AGENT_MJPEG_FALLBACK_HPP
+
+#include <spice-streaming-agent/plugin.hpp>
+#include <spice-streaming-agent/frame-capture.hpp>
+
+
+namespace SpiceStreamingAgent {
+
+struct MjpegSettings
+{
+    int fps;
+    int quality;
+};
+
+class MjpegPlugin final: public Plugin
+{
+public:
+    FrameCapture *CreateCapture() override;
+    unsigned Rank() override;
+    void ParseOptions(const ConfigureOption *options);
+    SpiceVideoCodecType VideoCodecType() const;
+private:
+    MjpegSettings settings = { 10, 80 };
+};
+
+} // namespace SpiceStreamingAgent
+
+#endif // SPICE_STREAMING_AGENT_MJPEG_FALLBACK_HPP
-- 
2.16.1



More information about the Spice-devel mailing list