Commit Graph

320 Commits

Author SHA1 Message Date
Alexander Larsson
4e44b7cf95 Make tunnel_service_add members be of cstring array size 2010-06-18 20:27:32 +02:00
Alexander Larsson
ee91ed475d Switch client to use generated marshallers 2010-06-18 20:27:32 +02:00
Alexander Larsson
1302667662 Generate and link marshallers into client 2010-06-18 20:27:32 +02:00
Alexander Larsson
d9772344e6 Re-enable cache freeing
I don't know why this was disabled but it seems like a bad idea
2010-06-18 20:27:32 +02:00
Alexander Larsson
04e0c6e5b2 Convert reds.c to use SpiceMarshaller 2010-06-18 20:27:31 +02:00
Alexander Larsson
8418da7ab2 Convert snd_worker.c to use SpiceMarshaller and generated marshallers 2010-06-18 20:27:31 +02:00
Alexander Larsson
cfc86f3340 Convert red_worker.c to use SpiceMarshaller for marshalling 2010-06-18 20:27:31 +02:00
Alexander Larsson
e2728082d0 Generate marshallers in server 2010-06-18 20:27:27 +02:00
Alexander Larsson
c36efa5950 Use @ptr32 for 32bit offsets in spice.proto 2010-06-18 16:32:11 +02:00
Alexander Larsson
635ad37ee9 Add @nomarshal in a few places where we're marshalling manually 2010-06-18 16:32:11 +02:00
Alexander Larsson
a7284761be spice.proto: add @outvar markup
With this we can reference pointer member with no naming conflicts
2010-06-18 16:32:11 +02:00
Alexander Larsson
936b3f01f9 Add support for generating message and structure marshallers 2010-06-18 16:32:11 +02:00
Alexander Larsson
0cca1ed2af Add SpiceMarshaller for easy marshalling 2010-06-18 16:32:11 +02:00
Alexander Larsson
1a0b3fbdbb Generate demarshalling code on win32 too 2010-06-18 16:32:11 +02:00
Alexander Larsson
4154d70289 Client: Use the autogenerated demarshallers
When a message has been read from the network we now pass it into
the generated demarshaller for the channel. The demarshaller converts
the network data to in-memory structures that is passed on to the
spice internals.

Additionally it also:
* Converts endianness
* Validates sizes of message and any pointers in it
* Localizes offsets (converts them to pointers)
* Checks for zero offsets in messages where they are not supported

Some of this was previously done using custom code in the client, this
is now removed.
2010-06-18 16:32:11 +02:00
Alexander Larsson
17bbef4df3 Generate demarshallers in client 2010-06-18 16:32:11 +02:00
Alexander Larsson
b228d18d5c Add python code to automake system 2010-06-18 16:32:11 +02:00
Alexander Larsson
0366e7395c Initial import of spice protocol description and demarshall generator
The "spice.proto" file describes in detail the networking prototcol
that spice uses and spice_codegen.py can parse this and generate
demarshallers for such network messages.
2010-06-18 16:32:10 +02:00
Alexander Larsson
aa6b7b5beb Use the correctly spelled enum values from the new generated enums 2010-06-18 16:32:10 +02:00
Alexander Larsson
1ba1ce52ed Use the new enums for keyboard modifier flags 2010-06-18 16:32:10 +02:00
Alexander Larsson
ef8a8dae07 There are multiple line attribute flags enums, use only one 2010-06-17 11:21:03 +02:00
Alexander Larsson
1d1792c217 Add spice_strnlen 2010-06-17 11:21:03 +02:00
Yonit Halperin
3d7c1eaa18 server: optimize red_pipe_replace_rendered_drawables_with_images (lossy bitmaps support related) 2010-06-09 11:43:31 +02:00
Yonit Halperin
8b02360033 init/destroy lossy surface region 2010-06-09 11:41:02 +02:00
Yonit Halperin
ba32024ad1 enabling jpeg on low bandwidth connection 2010-06-09 11:41:02 +02:00
Yonit Halperin
1a752e3884 not using jpeg when sending a surface to the client (the whole surface)
When a surface is sent to the client using red_send_surface_image, operations were already
performed on it. Thus it may combine, especially if it is a primary surface, both "picture-like" areas
and areas that are more "artificial". In order to avoid noticeable artifacts, such surface will be sent lossless.
2010-06-09 11:41:02 +02:00
Yonit Halperin
0c199b0886 send qxl commands to client: support for resending lossy components when jpeg compression is enabled 2010-06-09 11:41:02 +02:00
Yonit Halperin
c970f41f8e infrastructure routines for resending to the client part of surfaces that have been sent lossy.
The code also handles cases in which the server doesn't hold anymore these surfaces parts, i.e., when
it holds a more updated version of them. This scenario is handled by replacing commands that were rendered, with images.
2010-06-09 11:41:02 +02:00
Yonit Halperin
5d01cae430 introducing lossy and lz compression in red_send_image 2010-06-09 11:41:02 +02:00
Yonit Halperin
2fc2f13be9 lossy surface regions in the client: infrastructure for tracking and updating 2010-06-09 11:41:02 +02:00
Yonit Halperin
5d2ae66f50 support for lossy images in the pixmap cache and fill bits
1) add an option to determine if a bitmap can be sent lossy to the client
2) when required, replacing lossy cache items with their correspending
   lossless bitmaps
2010-06-09 11:41:01 +02:00
Yonit Halperin
263646a1f7 JPEG support: introducing jpeg encoding for spice bitmaps 2010-06-09 11:40:25 +02:00
Yonit Halperin
ea74fc6454 server: fix bitmap flags assignment in red_send_image 2010-06-09 11:25:44 +02:00
Alexander Larsson
3e989a361c client: Only invalidate on screen if drawing to the primary surface 2010-06-09 11:16:48 +02:00
Gerd Hoffmann
b0bb395576 sound: code style fixups 2010-05-26 08:41:24 +02:00
Alexander Larsson
f9da2720ae Fix some misspelled identifiers
severty -> severity
SpiceResorceID -> SpiceResourceID
SpiceResorceList -> SpiceResourceList
resorces -> resources
ped_size -> pad_size
postition -> position
2010-05-21 11:14:29 +02:00
Alexander Larsson
d69b0829a6 RedWorkeMessage -> RedWorkerMessage 2010-05-21 10:56:05 +02:00
Alexander Larsson
012bd25779 Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
Gerd Hoffmann
d351bb35ce sound channels: restart audio on client reconnect. 2010-05-21 09:28:25 +02:00
Alexander Larsson
45e62d5368 Use the new byteswap macros from spice-protocol 2010-05-19 16:03:32 +02:00
Alexander Larsson
0b76eae6eb Change leftover VD_INTERFACE_RECORD to SPICE_INTERFACE_RECORD 2010-05-19 14:55:41 +02:00
Alexander Larsson
2f10d6db46 Add missing backslash continuation in makefile 2010-05-19 12:30:00 +02:00
Gerd Hoffmann
d9084bfb64 Revert "[debug] migration troubleshooting"
This reverts commit 08927fabe5.
2010-05-19 12:09:22 +02:00
Gerd Hoffmann
f67b2e7488 complete NetWireInterface redesign, make red_tunnel_worker.c build. 2010-05-19 11:44:40 +02:00
Gerd Hoffmann
9204a5903a add spice-experimental.h
Supposed to be used for work-in-progress bits,
where interfaces are not finalized yet.

Moved over vdi port interface, tunnel interface
and spice client migration functions.
2010-05-19 11:22:08 +02:00
Gerd Hoffmann
981abd3fee zap vd_interface.h
move over content to spice.h
2010-05-19 11:22:07 +02:00
Gerd Hoffmann
3f4d6c6ad6 vd_interface.h cleanups.
Drop leftover bits which are not used any more.
Rename DrawArea to QXLDrawArea.
2010-05-19 11:22:07 +02:00
Gerd Hoffmann
5b0bc279c9 NetWireInterface: redesign 2010-05-19 11:22:07 +02:00
Gerd Hoffmann
a8419b00dc zap MigrationInterface
Remove remaining MigrationInterface bits.
2010-05-19 11:22:07 +02:00
Gerd Hoffmann
cb5f500aa6 migration: new api
Add new API for migration, based on what RHEL-6 has.
2010-05-19 11:22:07 +02:00