- Aug 09, 2018
-
-
wangfan authored
In libusb 1.0.21, UsbDk is enabled at compile time with --enable-usbdk option. In libusb 1.0.22, the backend is selected at runtime. This patch avoids a crash when spice client is compiled against libusb 1.0.22 and UsbDk is not installed. * Enabling dynamic backend selection in Windows https://github.com/libusb/libusb/commit/54884e84d024e761450287ab56aca #74 Signed-off-by:
Victor Toso <victortoso@redhat.com> Acked-by:
Christophe Fergeau <cfergeau@redhat.com>
-
- Aug 07, 2018
-
-
Victor Toso authored
Signed-off-by:
Victor Toso <victortoso@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
- Aug 06, 2018
-
-
Victor Toso authored
As it is not really used and outdated. We should use Gitlab's issues tracker instead. Signed-off-by:
Victor Toso <victortoso@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
- Aug 02, 2018
-
-
Victor Toso authored
Signed-off-by:
Victor Toso <victortoso@redhat.com> Acked-by:
Jonathon Jongsma <jjongsma@redhat.com>
-
- Aug 01, 2018
-
-
Eduardo Lima (Etrunko) authored
The reason for this commit is that Meson expects all submodules to be placed in this subdirectory, and since autotools build is more flexible in this case, we make some small adjustments to configure.ac and Makefile.am files to accommodate for this change. The same has been done for spice-server in commit b0e141b3 Signed-off-by:
Eduardo Lima (Etrunko) <etrunko@redhat.com> Acked-by:
Jonathon Jongsma <jjongsma@redhat.com>
-
- Jul 27, 2018
-
-
Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
- Jul 25, 2018
-
-
Victor Toso authored
By default, all widgets are double buffered so this patch removes two calls to gtk_widget_set_double_buffered() that are only enabling it. The only special case is under egl (virgl) at set_egl_enabled() as disabling the double buffered seems to prevent glitches. The call to gtk_widget_set_double_buffered() was kept but wrapped under G_GNUC_BEGIN/END_IGNORE_DEPRECATIONS to avoid warnings. Note however that this is only expected to work under X11. Warnings fixed: | spice-widget.c: In function ‘spice_display_init’: | spice-widget.c:643:5: warning: ‘gtk_widget_set_double_buffered’ is | deprecated | | gtk_widget_set_double_buffered(area, true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | spice-widget.c:661:5: warning: ‘gtk_widget_set_double_buffered’ is | deprecated | | gtk_widget_set_double_buffered(area, true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | spice-widget.c: In function ‘set_egl_enabled’: | spice-widget.c:1290:9: warning: ‘gtk_widget_set_double_buffered’ is | deprecated | gtk_widget_set_double_buffered(GTK_WIDGET(area), !enabled); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by:
Victor Toso <victortoso@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Frediano Ziglio authored
Some deprecation blocks in the code were there to avoid warning when using too recent GTK and Glib functions. Now that we bump GTK version remove these warning avoidance. Signed-off-by:
Frediano Ziglio <fziglio@redhat.com> Acked-by:
Victor Toso <victortoso@redhat.com>
-
- Jul 24, 2018
-
-
Victor Toso authored
As those were deprecated in favor of fetching for information directly with GdkMonitor. Warnings fixed: | spice-widget.c: In function ‘mouse_wrap’: | spice-widget.c:1136:5: warning: ‘gdk_screen_get_width’ is deprecated | | xr = gdk_screen_get_width(screen) / 2; | ^~ | | spice-widget.c:1137:5: warning: ‘gdk_screen_get_height’ is deprecated | | yr = gdk_screen_get_height(screen) / 2; | ^~ Signed-off-by:
Victor Toso <victortoso@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Victor Toso authored
As gdk_keymap_get_default() was deprecated in 3.22 Warnings fixed: | vncdisplaykeymap.c: In function ‘vnc_display_keyval_set_entries’: | vncdisplaykeymap.c:263:4: warning: ‘gdk_keymap_get_default’ is | deprecated: Use 'gdk_keymap_get_for_display' instead | | gdk_keymap_get_entries_for_keyval(gdk_keymap_get_default(), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | spice-gtk-session.c: In function ‘spice_gtk_session_init’: | spice-gtk-session.c:181:5: warning: ‘gdk_keymap_get_default’ is | deprecated: Use 'gdk_keymap_get_for_display' instead | | GdkKeymap *keymap = gdk_keymap_get_default(); | ^~~~~~~~~ | | spice-widget.c: In function ‘get_scancode_from_keyval’: | spice-widget.c:1731:5: warning: ‘gdk_keymap_get_default’ is | deprecated: Use 'gdk_keymap_get_for_display' instead | | if (gdk_keymap_get_entries_for_keyval(gdk_keymap_get_default(), | ^~ Signed-off-by:
Victor Toso <victortoso@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Victor Toso authored
Fedora 28: 3.22.30 Fedora 27: 3.22.26 Fedora 26: 3.22.21 RHEL 7.6: 3.22.30 RHEL 7.5: 3.22.26 RHEL 7.4: 3.22.10 Debian 10: 3.22.30 Debian 9: 3.22.11 Ubuntu 18.04: 3.22.30 Ubuntu 17.10: 3.22.24 Besides cleanup the code, gtk is under heavy development to better work under Wayland and reducing the code path based on library version should be helpful as well. This patch also removes the check for gdk_event_get_scancode as it is included in 3.22. Signed-off-by:
Victor Toso <victortoso@redhat.com> Signed-off-by:
Frediano Ziglio <fziglio@redhat.com>
-
- Jul 23, 2018
-
-
The image in cache was not being freed properly leading the client to crash with OOM after sometime. When image flag is SPICE_IMAGE_FLAGS_CACHE_REPLACE_ME, and if found it in hash table, we will increase the refcount but this image will only be destroyed, so the cache will usage more and more memory. In this circumstance, we should not increase refcount. Fixes: #72 Signed-off-by:
乐义华 <yueyihua@os-easy.com> Signed-off-by:
Frediano Ziglio <fziglio@redhat.com> Acked-by:
Marc-André Lureau <marcandre.lureau@gmail.com>
-
Marc-André Lureau authored
Avoid the new error message for explicit celt051 option. Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com>
-
- Jul 20, 2018
-
-
Frediano Ziglio authored
No need to pass a generic pointer. Avoid SpiceDisplay* -> gpointer* -> gpointer -> SpiceDisplay* cast chain. Signed-off-by:
Frediano Ziglio <fziglio@redhat.com> Acked-by:
Christophe Fergeau <cfergeau@redhat.com>
-
- Jul 18, 2018
-
-
Signed-off-by:
Lukáš Hrázký <lhrazky@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
This brings in the following changes: Christophe Fergeau (20): build: Update git.mk to latest version build: Remove docs/.gitignore build: Add __pycache__/*.pyc to DISTCLEANFILES log: Only install glib log handler if SPICE_DEBUG_LEVEL is set test-logging: Improve debug level tests test-region: Use GTest API test-region: Replace direct printf with g_debug() calls test-region: Don't call region_dump() by default test-region: Remove unneeded printf test-region: Replace spice_assert() with g_assert_true() test-region: Add g_assert() checks snd: Replace spice_printerr() use with g_warning swcanvas: Remove canvas_create() meson: Remove '(default: xxx)' from option description log: Remove SPICE_DISABLE_ABORT common: Remove spice_abort() build: Remove spice_common.h pixman: Use g_error() rather than g_abort() build: Define GLIB_VERSION_MIN_REQUIRED/GLIB_VERSION_MAX_ALLOWED quic: Wrap declaration/call of quic method in macros Christophe de Dinechin (1): Add SPICE_ATTR_NORETURN on prototype of error functions Eduardo Lima (Etrunko) (4): meson: Enable '-std=c99' build flag meson: Cleanup optional dependency checks Update gitlab-ci to use meson test-region: Decrease loop count by a factor of 10 Frediano Ziglio (36): test-quic: Allows to specify multiple images to test canvas_base: Rework DUMP_JPEG debugging test-quic: Increase test timeout using Meson ssl_verify: Fix build for newer LibreSSL Revert "ssl_verify: Fix build for newer LibreSSL" ssl_verify: Fix build for newer LibreSSL test-region: Create proper test for region from source code marshaller: Fix a possible leak canvas_base: Make sure top_down is a boolean marshal: Fix a bug with zero attribute ptypes: Improve some attribute documentation build: Reuse TEST_MARSHALLERS macro build: Reindent macros log: Remove spice_printerr macro test-marshallers: Check for "zero" attribute quic: Call encode from golomb_coding canvas_base: Fix minor indentation issues canvas_base: Avoid misaligned access decoding LZ4 data meson: Remove -std=c99 quic: Add UPDATE_MODEL_COMP macro to iterate over channels quic: Rework PIXEL_A/PIXEL_B macros quic: Add SAME_PIXEL macro quic: Make {UN, }COMPRESS_xx macros closer quic: Add missing #undef SET_a/GET_a quic: Call directly encode_state_run from templates. quic: Add CORRELATE*/DECORRELATE* macros quic: Add APPLY_ALL_COMP macro to iterate over channels quic: Move all golomb decoding macros in a single place quic: Add DECLARE_*_VARIABLES macros quic: Introduce COPY_PIXEL macro quic: Reorder macro declarations quic: Unify rgb/non-rgb macro declarations quic: Remove duplicate file canvas_base: Check for overflows decoding LZ4 canvas_base: Change spice_warning to g_warning tests: Join test-overflow and test-marshallers Snir Sheriber (1): protocol: Add support for h265 video codec Signed-off-by:
Lukáš Hrázký <lhrazky@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
- Jul 17, 2018
-
-
Snir Sheriber authored
Decoded frames are not necessarily dropped, update related debug messages and comment Signed-off-by:
Snir Sheriber <ssheribe@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
- Jul 06, 2018
-
-
When GstVideoOverly is used there is no appsink, playing of a frame is done according the time value of its buffer Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
- Jul 05, 2018
-
-
Frediano Ziglio authored
display_queue is queued with decoded frames ready to be displayed. However current code can insert a timeout before displaying and removing the queued frames. As the frames are not compressed the usage of memory by this queue can became in some cases quite huge (in the order of multiple gigabytes). To prevent this do not queue all the frames but just one and count the pending frames. This way GStreamer will stop queuing after a while. Signed-off-by:
Frediano Ziglio <fziglio@redhat.com> Acked-by:
Snir Sheriber <ssheribe@redhat.com>
-
- Jun 29, 2018
-
-
Frediano Ziglio authored
The remaining occurrences of spice_printerr() are warnings when something unexpected happens, they can be replaced with g_warning() so that users of spice-server can redirect them with g_log_set_default_handler(). Signed-off-by:
Frediano Ziglio <fziglio@redhat.com> Acked-by:
Christophe Fergeau <cfergeau@redhat.com>
-
- Jun 26, 2018
-
-
Frediano Ziglio authored
LibreSSL 2.7 hidden some definition, like OpenSSL 1.1. This fixes https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=229044 . Original patch from Piotr Kubaj. Reported-by:
Jack L. <xxjack12xx@gmail.com> Signed-off-by:
Frediano Ziglio <fziglio@redhat.com> Acked-by:
Christophe Fergeau <cfergeau@redhat.com>
-
- Jun 20, 2018
-
-
Snir Sheriber authored
Old git (e.g. on rhel 7.5) is failing to init/update spice-common submodule if .git is missing from relative url. Signed-off-by:
Snir Sheriber <ssheribe@redhat.com> Acked-by:
Christophe Fergeau <cfergeau@redhat.com>
-
Snir Sheriber authored
This requires spice protocol v0.12.15 Signed-off-by:
Snir Sheriber <ssheribe@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
- Jun 14, 2018
-
-
Christophe Fergeau authored
Signed-off-by:
Christophe Fergeau <cfergeau@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
- Jun 11, 2018
-
-
Victor Toso authored
Signed-off-by:
Victor Toso <victortoso@redhat.com> Acked-by:
Christophe Fergeau <cfergeau@redhat.com>
-
Christophe Fergeau authored
With spice-common commit 72b0d603e12, SPICE_CHECK_CELT051 will error out if celt051-devel is installed, but neither --enable-celt051 nor --disable-celt051 are specified. This could be a problem when running make distcheck, so this commit adds --disable-celt051 so that we never hit that error. Signed-off-by:
Victor Toso <victortoso@redhat.com>
-
Victor Toso authored
Christophe Fergeau (21): quic: Remove configurable RLE_PRED quic: Remove configurable PRED quic: Get rid of QUIC_RGB #define quic: Get rid of RLE_STAT #define quic: Get rid of RLE #define quic: Factor common code quic: Introduce CommonState *state variable in templates quic: s/decorrelate_drow/correlate_row quic: Add macros to make quic_tmpl.c much closer to quic_rgb_tmpl.c quic: Remove unused argument in uncompress_row{0, } quic: Use channel->correlate_row in macros quic: Add test case for compression/decompression build: Ensure we link with -lm if needed build: Disable celt 0.5.1 by default build: By default, error out if Opus is missing build: Use AM_COND_IF build: Remove checks for functions which are never called build: Remove bitops.h build: Move client sources to libspice_common_client_la_SOURCES meson: Support auto/true/false for optional dependencies meson: Remove check for vfork Frediano Ziglio (21): protocol: Add some documentation for inval_all_pixmaps message Add --enable-extra-checks option codegen: Add some comments codegen: Removed unused get_type methods protocol: Use a typedef to specify stream_id type lz: Move ENCODE_PIXEL for RGB24 and RGB32 to a common place Fix integer overflows computing sizes Write a small test to test possible crash Avoid integer overflow computing image sizes Fix generation of Smartcard channel test-overflow: Remove a leak in the test marshaller: Remove initial underscore from static function codegen: Remove duplicate client and server code from ChannelType::resolve Check for messages with duplicate names inside a channel Check for messages with duplicate values inside a channel lz: Optimise SAME_PIXEL for RGB16 lz: Inline GET_{r,g,b} macros quic: Remove 'no-inline' hack quic: Remove some too strict asserts in hot paths quic: Fix endianness encoding quic: Use __builtin_clz if available Eduardo Lima (Etrunko) (8): build: Remove FIXME_SERVER_SMARTCARD hack Fix demarshaller code generator Fix field names for Smartcard protocol structures Fix cast to spice_marshaller_item_free_func function Bump glib requirements to 2.38 test-quic: Fix -Wsign-compare warning Add support for building with meson/ninja Add .gitlab-ci.yml file Jonathon Jongsma (2): Remove extra self parameter from member function miLineArc(): initialize edge1, edge2 Victor Toso (1): messages: document limitation of id in StreamCreate Signed-off-by:
Victor Toso <victortoso@redhat.com> Acked-by:
Christophe Fergeau <cfergeau@redhat.com>
-
Victor Toso authored
By adding a guard to not handle channel-up on SpiceUsbredirChannel in case struct usbredirhost wasn't initialized yet. Same guard is in place for the generic usbredir_handle_msg() function to avoid handling Server's message while Client's initialization is not done. As mentioned in commit 291f3e44, this isn't a problem for graphical clients as some initialization is done to present the shareable usb devices to user. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1399838 Signed-off-by:
Victor Toso <victortoso@redhat.com> Acked-by:
Christophe Fergeau <cfergeau@redhat.com>
-
Victor Toso authored
This reverts commit 291f3e44. Follow up patch should address rhbz#1399838 mentioned in commit above in a different way. Major reason to revert is that the SpiceUsbDeviceManager object is kept in SpiceSession as an easy way to share it between different SpiceUsbredirChannel while SpiceSession itself does not use it. This causes problems on migration as we start a new session with a new SpiceUsbDeviceManager object while the previous one still exists. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1558043 Signed-off-by:
Victor Toso <victortoso@redhat.com> Acked-by:
Christophe Fergeau <cfergeau@redhat.com>
-
- Jun 08, 2018
-
-
Marc-André Lureau authored
Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com>
-
Marc-André Lureau authored
Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by:
Victor Toso <victortoso@redhat.com>
-
Marc-André Lureau authored
G_ADD_PRIVATE was added in 2.38 and older functions are getting deprecated: https://gitlab.gnome.org/GNOME/glib/merge_requests/7/commits Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by:
Victor Toso <victortoso@redhat.com>
-
Marc-André Lureau authored
With touchpads and similar devices, scroll events are not emitted on Wayland, but only smooth-scroll events. There is some discussion about handling smooth-scroll events in Spice (see "Add horizontal mouse wheel support" thread), but it will mean support from various components. For compatibility reasons, in the meantime, let's synthetize the smooth-scroll events to regular scroll buttons to fix scrolling. Tested on f28, gnome-shell under X and wayland. Related to: https://bugzilla.redhat.com/show_bug.cgi?id=1386602 Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by:
Christophe Fergeau <cfergeau@redhat.com>
-
Victor Toso authored
This is mostly needed form client side optimizations on streaming mode. The following change introduced dependency of latest spice-protocol: | commit 42439754 | Author: Snir Sheriber <ssheribe@redhat.com> | Date: Thu Mar 8 15:57:31 2018 +0200 | | Gstreamer: Use GstVideoOverlay if possible The spice-protocol commit for reference: | commit 4250216bafd37905afe0e9ad8cb9beb4a0c89254 | Author: Frediano Ziglio <fziglio@redhat.com> | Date: Tue Nov 7 10:45:20 2017 +0000 | | Allow to specify a surface will be streamed | | This flag will allow the client to perform some optimisations | on output and buffering processing. | Old clients will ignore this additional flag. Note that without bumping the requirement, the code would fail to build with: | channel-display.c:1809:50: error: ‘SPICE_SURFACE_FLAGS_STREAMING_MODE’ | undeclared (first use in this function); did you mean ‘SPICE_DISPLAY_STREAMING_MODE’? | surface->streaming_mode = !!(create->flags & SPICE_SURFACE_FLAGS_STREAMING_MODE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by:
Victor Toso <victortoso@redhat.com> Acked-by:
Frediano Ziglio <fziglio@redhat.com>
-
- Jun 07, 2018
-
-
Jonathon Jongsma authored
Previously, an application was required to determine whether a session had been disconnected by listening for the SpiceSession::channel-destroy signal for each individual channel. The Application had to keep track of whether all channels had been destroyed. An additional difficulty is that when a SpiceSession::channel-destroy signal is emitted, the channel object has not been freed yet, so any shutdown/de-allocation actions have not yet happened. This became significant since virt-viewer exits the application in response to the last 'channel-destroy' signal, which means that the channel objects are never properly freed. This is particularly problematic for the usbredir channel, which might need to disconnect USB devices asynchronously, and if the application exits before that process has completed, the USB devices may not be available on the client machine. With this patch, the SpiceSession still emits the 'channel-destroy' signal for each channel when it is disconnected. But it also internally tracks which channels have been destroyed, and waits for them to be freed. When all channels are freed, it emits an additional 'disconnected' signal. An application can be confident that all channels have been freed by this point, and the application can exit safely. Signed-off-by:
Jonathon Jongsma <jjongsma@redhat.com> Acked-by:
Marc-André Lureau <marcandre.lureau@gmail.com>
-
Jonathon Jongsma authored
A GAsyncReadCallback function should not unref the GAsyncResult passed to it as an argument since it does not hold a reference. This could cause a double-free error (or a glib warning that it is not a valid GObject).. Signed-off-by:
Jonathon Jongsma <jjongsma@redhat.com> Acked-by:
Marc-André Lureau <marcandre.lureau@gmail.com>
-
Marc-André Lureau authored
With gstreamer audio backend, the following criticals are printed: (virt-viewer:27631): GStreamer-CRITICAL **: gst_segment_to_running_time: assertion 'segment->format == format' failed Because the default appsrc segment format is byte-based, although an audio sink want a time-based segment. Fixes: #39 Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by:
Victor Toso <victortoso@redhat.com>
-
- Jun 04, 2018
-
-
Frediano Ziglio authored
Signed-off-by:
Frediano Ziglio <fziglio@redhat.com> Acked-by:
Christophe Fergeau <cfergeau@redhat.com>
-
Frediano Ziglio authored
Tested with a ppc64 machine. Signed-off-by:
Frediano Ziglio <fziglio@redhat.com> Acked-by:
Christophe Fergeau <cfergeau@redhat.com>
-