diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2010-09-28 15:40:01 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2010-09-28 15:40:01 +0200 |
commit | ee905655aa11b804f6270c83227cc502c4504871 (patch) | |
tree | a44649e1d16049131ca94aef0909aa2e60b2bfb5 | |
parent | ef57834505419a28e5048524e500638923b088d5 (diff) |
add channel-display-priv.h
-rw-r--r-- | gtk/channel-display-priv.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/gtk/channel-display-priv.h b/gtk/channel-display-priv.h new file mode 100644 index 0000000..76e6b8c --- /dev/null +++ b/gtk/channel-display-priv.h @@ -0,0 +1,48 @@ +#include <pixman.h> +#include <jpeglib.h> + +/* spice/common */ +#include "canvas_base.h" +#include "canvas_utils.h" +#include "sw_canvas.h" +#include "ring.h" +#include "quic.h" +#include "rop3.h" + +#define DISPLAY_PIXMAP_CACHE (1024 * 1024 * 32) +#define GLZ_WINDOW_SIZE (1024 * 1024 * 16) + +typedef struct display_surface { + RingItem link; + int surface_id; + bool primary; + enum SpiceSurfaceFmt format; + int width, height, stride, size; + int shmid; + uint8_t *data; + SpiceCanvas *canvas; + SpiceGlzDecoder *glz_decoder; +} display_surface; + +typedef struct display_stream { + spice_msg_in *msg_create; + spice_msg_in *msg_clip; + spice_msg_in *msg_data; + + /* from messages */ + display_surface *surface; + SpiceClip *clip; + int codec; + + /* mjpeg decoder */ + struct jpeg_source_mgr mjpeg_src; + struct jpeg_decompress_struct mjpeg_cinfo; + struct jpeg_error_mgr mjpeg_jerr; + + uint8_t *out_frame; +} display_stream; + +/* channel-display-mjpeg.c */ +void stream_mjpeg_init(display_stream *st); +void stream_mjpeg_data(display_stream *st); +void stream_mjpeg_cleanup(display_stream *st); |