diff options
Diffstat (limited to 'server/display-channel.h')
-rw-r--r-- | server/display-channel.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/server/display-channel.h b/server/display-channel.h index 7173c6e4..24fb3541 100644 --- a/server/display-channel.h +++ b/server/display-channel.h @@ -57,9 +57,6 @@ #include "stream.h" typedef struct DisplayChannel DisplayChannel; -typedef struct DisplayChannelClient DisplayChannelClient; - -typedef struct Drawable Drawable; #define PALETTE_CACHE_HASH_SHIFT 8 #define PALETTE_CACHE_HASH_SIZE (1 << PALETTE_CACHE_HASH_SHIFT) @@ -270,6 +267,10 @@ MonitorsConfig* monitors_config_new (QXLHead *h MonitorsConfig * monitors_config_ref (MonitorsConfig *config); void monitors_config_unref (MonitorsConfig *config); +#define TRACE_ITEMS_SHIFT 3 +#define NUM_TRACE_ITEMS (1 << TRACE_ITEMS_SHIFT) +#define ITEMS_TRACE_MASK (NUM_TRACE_ITEMS - 1) + struct DisplayChannel { CommonChannel common; // Must be the first thing @@ -286,6 +287,15 @@ struct DisplayChannel { RedCompressBuf *free_compress_bufs; + int stream_video; + uint32_t stream_count; + Stream streams_buf[NUM_STREAMS]; + Stream *free_streams; + Ring streams; + ItemTrace items_trace[NUM_TRACE_ITEMS]; + uint32_t next_item_trace; + uint64_t streams_size_total; + ImageCache image_cache; #ifdef RED_STATISTICS @@ -304,6 +314,12 @@ struct DisplayChannel { #endif }; +void display_channel_set_stream_video (DisplayChannel *display, + int stream_video); +void display_channel_attach_stream (DisplayChannel *display, + Drawable *drawable, + Stream *stream); +int display_channel_get_streams_timeout (DisplayChannel *display); void display_channel_compress_stats_print (const DisplayChannel *display); void display_channel_compress_stats_reset (DisplayChannel *display); |