diff options
author | Frediano Ziglio <fziglio@redhat.com> | 2017-12-08 11:17:22 +0000 |
---|---|---|
committer | Frediano Ziglio <freddy77@gmail.com> | 2023-11-22 07:39:17 +0000 |
commit | c95583ec39eaceed00a12fa9cf7e949adb46fb1e (patch) | |
tree | b3bb95ab6e76cb084d75af71cec8bf00555cca11 | |
parent | 2dfbc86c0ef93cbe906fd6a1e29ed3f1f3113bf6 (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.h | 23 | ||||
-rw-r--r-- | server/stream-channel.cpp | 5 | ||||
-rw-r--r-- | server/video-stream.h | 25 |
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; |