summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrediano Ziglio <fziglio@redhat.com>2017-12-08 11:17:22 +0000
committerFrediano Ziglio <freddy77@gmail.com>2023-11-22 07:39:17 +0000
commitc95583ec39eaceed00a12fa9cf7e949adb46fb1e (patch)
treeb3bb95ab6e76cb084d75af71cec8bf00555cca11
parent2dfbc86c0ef93cbe906fd6a1e29ed3f1f3113bf6 (diff)
declare common stream pipe item type in video-stream.h
allows to reuse and avoid to include some private informations
-rw-r--r--server/display-channel-private.h23
-rw-r--r--server/stream-channel.cpp5
-rw-r--r--server/video-stream.h25
3 files changed, 27 insertions, 26 deletions
diff --git a/server/display-channel-private.h b/server/display-channel-private.h
index de5373bb..545e3c70 100644
--- a/server/display-channel-private.h
+++ b/server/display-channel-private.h
@@ -135,12 +135,8 @@ struct DisplayChannelPrivate
DisplayChannelClient, _data)
enum {
- RED_PIPE_ITEM_TYPE_DRAW = RED_PIPE_ITEM_TYPE_COMMON_LAST,
+ RED_PIPE_ITEM_TYPE_DRAW = RED_PIPE_ITEM_TYPE_STREAM_LAST,
RED_PIPE_ITEM_TYPE_IMAGE,
- RED_PIPE_ITEM_TYPE_STREAM_CREATE,
- RED_PIPE_ITEM_TYPE_STREAM_CLIP,
- RED_PIPE_ITEM_TYPE_STREAM_DESTROY,
- RED_PIPE_ITEM_TYPE_UPGRADE,
RED_PIPE_ITEM_TYPE_MIGRATE_DATA,
RED_PIPE_ITEM_TYPE_PIXMAP_SYNC,
RED_PIPE_ITEM_TYPE_PIXMAP_RESET,
@@ -148,7 +144,6 @@ enum {
RED_PIPE_ITEM_TYPE_CREATE_SURFACE,
RED_PIPE_ITEM_TYPE_DESTROY_SURFACE,
RED_PIPE_ITEM_TYPE_MONITORS_CONFIG,
- RED_PIPE_ITEM_TYPE_STREAM_ACTIVATE_REPORT,
RED_PIPE_ITEM_TYPE_GL_SCANOUT,
RED_PIPE_ITEM_TYPE_GL_DRAW,
};
@@ -210,22 +205,6 @@ struct RedDrawablePipeItem: public RedPipeItemNum<RED_PIPE_ITEM_TYPE_DRAW> {
DisplayChannelClient *const dcc;
};
-/* This item is used to send a full quality image (lossless) of the area where the stream was.
- * This to avoid the artifacts due to the lossy compression. */
-struct RedUpgradeItem: public RedPipeItemNum<RED_PIPE_ITEM_TYPE_UPGRADE> {
- RedUpgradeItem(Drawable *drawable);
- ~RedUpgradeItem();
- Drawable *const drawable;
- red::glib_unique_ptr<SpiceClipRects> rects;
-};
-
-struct RedStreamActivateReportItem:
- public RedPipeItemNum<RED_PIPE_ITEM_TYPE_STREAM_ACTIVATE_REPORT>
-{
- uint32_t stream_id;
- uint32_t report_id;
-};
-
static inline int is_equal_path(SpicePath *path1, SpicePath *path2)
{
SpicePathSeg *seg1, *seg2;
diff --git a/server/stream-channel.cpp b/server/stream-channel.cpp
index 184b2604..eb8e1c17 100644
--- a/server/stream-channel.cpp
+++ b/server/stream-channel.cpp
@@ -57,13 +57,10 @@ private:
};
enum {
- RED_PIPE_ITEM_TYPE_SURFACE_CREATE = RED_PIPE_ITEM_TYPE_COMMON_LAST,
+ RED_PIPE_ITEM_TYPE_SURFACE_CREATE = RED_PIPE_ITEM_TYPE_STREAM_LAST,
RED_PIPE_ITEM_TYPE_SURFACE_DESTROY,
RED_PIPE_ITEM_TYPE_FILL_SURFACE,
- RED_PIPE_ITEM_TYPE_STREAM_CREATE,
RED_PIPE_ITEM_TYPE_STREAM_DATA,
- RED_PIPE_ITEM_TYPE_STREAM_DESTROY,
- RED_PIPE_ITEM_TYPE_STREAM_ACTIVATE_REPORT,
RED_PIPE_ITEM_TYPE_MONITORS_CONFIG,
};
diff --git a/server/video-stream.h b/server/video-stream.h
index bac0e3c1..32e8eace 100644
--- a/server/video-stream.h
+++ b/server/video-stream.h
@@ -65,6 +65,31 @@
struct VideoStream;
struct VideoStreams;
+enum {
+ RED_PIPE_ITEM_TYPE_STREAM_CREATE = RED_PIPE_ITEM_TYPE_COMMON_LAST,
+ RED_PIPE_ITEM_TYPE_STREAM_CLIP,
+ RED_PIPE_ITEM_TYPE_STREAM_DESTROY,
+ RED_PIPE_ITEM_TYPE_UPGRADE,
+ RED_PIPE_ITEM_TYPE_STREAM_ACTIVATE_REPORT,
+ RED_PIPE_ITEM_TYPE_STREAM_LAST,
+};
+
+/* This item is used to send a full quality image (lossless) of the area where the stream was.
+ * This to avoid the artifacts due to the lossy compression. */
+struct RedUpgradeItem: public RedPipeItemNum<RED_PIPE_ITEM_TYPE_UPGRADE> {
+ RedUpgradeItem(Drawable *drawable);
+ ~RedUpgradeItem();
+ Drawable *const drawable;
+ red::glib_unique_ptr<SpiceClipRects> rects;
+};
+
+struct RedStreamActivateReportItem:
+ public RedPipeItemNum<RED_PIPE_ITEM_TYPE_STREAM_ACTIVATE_REPORT>
+{
+ uint32_t stream_id;
+ uint32_t report_id;
+};
+
#ifdef STREAM_STATS
struct StreamStats {
uint64_t num_drops_pipe;