| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
While the fix could have been more effective,
it seems like this patch stream better with the coding
logic that was there..., maybe later we will want to change
the locking into more effective way.
(There is just the primary surface to protect in reiality)
Signed-off-by: Izik Eidus <ieidus@redhat.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is pretty straightforward, although there are two weird issues.
The current encoder has two bugs in the yuv conversion. First of all
it switches red and blue, due to something of an endianness issue. We
keep this behavior by switching red and blue. Maybe we want to
change this in the new protocol version since switching this may
cause jpeg compression to be worse.
Secondly, the old coder/decoder did rgb to/from yuv420 wrongly for
jpeg, not using the "full scale" version of Y that is used in jpeg,
but the other one where y goes from 16 to 235. (See jpeg/jfif
reference on http://en.wikipedia.org/wiki/YCbCr for details.)
The new decoder uses the full range in order to get better quality,
which means old encoders will show slightly darker images.
This completely removes all ffmpeg usage in the client
|
| |
|
|
|
|
| |
Signed-off-by: Izik Eidus <ieidus@redhat.com>
|
| |
|
|
|
|
|
| |
By default it is disabled. To enable: configure --enable-tunnel.
When active, requires libslirp.
|
|
|
|
| |
disconnecting from the current host and connecting to the target host.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
BitmapMask was used by the draw_text function as well
therefore we need to mark from_surface = 0 if we want
it to release the boject...
(Was evil, took me few hours to understand from where
the leak come...)
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>
|
|
|
|
|
| |
Happens when a focused window is destroyed without a focus out event,
and a focus-in event occurs on another window.
|
|
|
|
| |
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.
|
|
|
|
| |
Also, make str(n)dup handle NULL correctly
|
|
|
|
| |
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.
|
|
|
|
| |
Top down streams arrive from x11-qxl driver.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
Replace all "$(top_srcdir)/common" with "$(SPICE_COMMON_DIR)"
and all "$(top_srcdir)/client" with custom "$(CLIENTDIR)"
This would (after following patches) enables building the client from
either spice/ (top directory) or spice/client.
|
|
|
|
|
|
|
|
| |
config)
Note that SPICE_COMMON_SRCDIR may be overwritten by configure.ac.shared
Signed-off-by: Uri Lublin <uril@redhat.com>
|
|
|
|
| |
Signed-off-by: Uri Lublin <uril@redhat.com>
|
|
|
|
| |
Signed-off-by: Uri Lublin <uril@redhat.com>
|
|
|
|
| |
Signed-off-by: Uri Lublin <uril@redhat.com>
|
|
|
|
| |
y2 was not initialized
|
| |
|
| |
|
|
|
|
| |
subject
|
|
|
|
|
|
|
|
|
| |
gcc -O3 has some code generation failures due to a combination of
unaligned (packed) structs and vectorization that can cause
a crash in canvas_localize_palette().
And its just safer to use -O2, which is the standard "trusted"
optimization flags.
|
|
|
|
|
| |
DrvAlphaBlend is the only current user of DRAW_ALPHA_BLEND, and its
defined to do nearest (COLORONCOLOR) scaling, not bilinear.
|
|
|
|
|
|
|
| |
We rely on not passing on empty rects to the drawing operations by
checking for empty regions and exiting early. However the checks
were wrongly using pixman_region32_n_rects(region) == 0, whereas
we should be using pixman_region32_not_empty().
|
|
|
|
|
|
|
|
| |
In Fedora 13, the linker doesn't pull in DT_NEEDED libraries anymore,
so we have to list the things that we depend on explicitly.
This affects several X extension libraries, and also the pthread
library.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
We need SIZE_MAX for the malloc overflow code, and its not defined
in C++ unless __STDC_LIMIT_MACROS is defined.
|
| |
|
|
|
|
|
|
| |
This reverts commit 34e6a0a0d539fb49a03ec01bf11be505c88fcaa1.
Turns out this wasn't needed and the crash was due to other changes.
|
|
|
|
| |
ALIGN -> SPICE_ALIGN
|
| |
|
| |
|
| |
|