| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Izik Eidus <ieidus@redhat.com>
|
|
|
|
|
| |
By default it is disabled. To enable: configure --enable-tunnel.
When active, requires libslirp.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The idea is that we can try to defer some stuff to be later
send in the pipe if the pipe is not fulled yet, moreover
we will then walk on the pipe using:
red_clear_surface_drawables_from_pipe() and will try to
remove the uneeded objects of this surface
Still some room to improvment but later...
Signed-off-by: Izik Eidus <ieidus@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Validate the surface_ids just once and keep them in safe
memory area
Make things simpler
Signed-off-by: Izik Eidus <ieidus@redhat.com>
|
|
|
|
|
|
|
| |
Just skip the items of destroyed surface that are found in the pipe
before we skip them, we check if they are needed by other users...
Signed-off-by: Izik Eidus <ieidus@redhat.com>
|
|
|
|
|
|
|
| |
make the surface released faster in the release ring
as well as clean unneeded reference into the glz
Signed-off-by: Izik Eidus <ieidus@redhat.com>
|
|
|
|
| |
Signed-off-by: Izik Eidus <ieidus@redhat.com>
|
|
|
|
| |
Signed-off-by: Izik Eidus <ieidus@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Now we can send commands from the server to the client
to destroy surfaces (right now just the primary surface)
Needed for offscreens support)
Another patch`s on the way.
Signed-off-by: Izik Eidus <ieidus@redhat.com>
|
|
|
|
|
|
|
| |
Also change include dir to "spice-server" for consistency.
libspice.so conflicted with the tclspice package, and its also
a clarification for when we create a spice client library.
|
|
|
|
| |
We already check this in spice_malloc now
|
|
|
|
|
|
| |
In 'filter' video streaming mode, use a more permissive threshold for distinguishing
'realistic' streams from 'textaul'/'artificial' streams. The previous threshold classified
streams that were scaled on the guest as artificial and thus they were not recoginized as videos.
|
|
|
|
|
|
| |
I added a lower limit to the size of images that are being streamed.
The limit is only active in "filter" video streaming mode.
This will prevent blurry animated icons.
|
|
|
|
| |
y2 was not initialized
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Every place that does a regular malloc/calloc and aborts on failure
should use spice_malloc/spice_mallo0 instead, which is leaner and cleaner.
Allocations of dynamically sized arrays can use g_malloc_n or g_new etc
which correctly handle multiplication overflow if some of the arguments
are not trusted.
|
|
|
|
|
|
| |
This reverts commit 34e6a0a0d539fb49a03ec01bf11be505c88fcaa1.
Turns out this wasn't needed and the crash was due to other changes.
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Make register_*_notifier calls optional, long term they should go away
entriely. Add direct library calls as replacement.
|
|
|
|
|
|
|
|
|
| |
Add new functions to configure spice port and ticketing. Yes, this is
incomplete, it includes just the most important bits to get something
up'n'running.
These functions are supposed to replace both spice_parse_args() and
the monitor interaction via qterm interface.
|
|
|
|
|
|
| |
The implementation can't handle multiple spice server instances at the
same time right now. The API allows this though, so if we fixup the
implementation some day we don't have to change the API.
|
|
|
|
|
|
|
|
| |
quic_usr_more_lines_unstable() assumes it can allways copy a complete
scanline. Well, it can't. In case the screen rectangle which needs
updating has an x-offset greater than zero *and* includes the last
scanline of the screen it will overflow the source buffer by
x-offset * bytes-per-pixel bytes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of having two virtualizations of the canvas we push the
virtualization into the canvas code itself. This not only avoids
the duplication of this code, it also makes the exposed API for the
canvas much smaller (in terms of exported API).
It also lets us use the virtualization to implement basic support
for operations in canvas_base which is then overridden by each canvas
implementation.
|
| |
|
|
|
|
|
| |
It can still be NULL, but we simplify the headers by always including it.
There is no practical performance difference here.
|
| |
|
| |
|
|
|
|
|
|
| |
pixman_region32_t is an efficient well tested region implementation (its
the one used in X) that we already depend on via pixman and use in
some places. No need to have a custom region implementation.
|
|
|
|
|
|
| |
This allows us to use the simpler dependency of pixman outside of the
cairo backend, and it later lets us move the cairo backend to using
pixman only.
|
|
|
|
|
|
| |
Instead of passing a bunch of function pointer and an opaque
pointer we make a real type and add a vtable pointer to it.
This means we can simplify all the canvas constructors, etc.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This includes:
* pixman region from SpiceRects
* rop2 enum
* solid fill
* solid fill with rop
* tiled fill
* tiled fill with rop
* blit
* blit with rop
* copy rect
|
| |
|
|
|
|
|
|
| |
I just ran:
find -name "*.[ch]" | xargs sed -i -f ../spice-protocol/includes.sed
find -name "*.cpp" | xargs sed -i -f ../spice-protocol/includes.sed
|
|
|
|
|
|
| |
This is an automatic change using:
$ find -name "*.[ch]" | xargs ../spice-protocol/rename-identifiers.sh ../spice-protocol/renames
$ find -name "*.cpp" | xargs ../spice-protocol/rename-identifiers.sh ../spice-protocol/renames
|
|
|
|
| |
This doesn't actually use the new module, just sets it up for use.
|
|
|
|
|
|
| |
This include alot of infestracture for off screens.
Signed-off-by: Izik Eidus <ieidus@redhat.com>
|
|
|
|
|
|
|
|
|
| |
3 available mechanisms: by public key, by host name, and by certificate subject name.
In the former method, chain of trust verification is not performed.
The CA certificate files are looked for under <spice-config-dir>/spice_truststore.pem
windows <spice-config-dir>=%APPDATA%\spicec\
linux <spice-config-dir>=$HOME/.spicec/
|
| |
|
|
|
|
| |
Signed-off-by: Izik Eidus <ieidus@redhat.com>
|
|
|
|
|
|
| |
(openssl api was changed, so lets have ifdef to compile in all cases)
Signed-off-by: Izik Eidus <ieidus@redhat.com>
|