- Jul 10, 2019
-
-
Yuri Benditovich authored
Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
- Jun 24, 2019
-
-
Yuri Benditovich authored
SpiceUsbDevice* was converted to SpiceUsbDeviceInfo* as _SpiceUsbDevice was never defined. Define instead the structure to avoid useless casts. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Do not keep bus, address, vid and pid of the USB device in SpiceUsbDeviceInfo structure. Getters for these properties can easily obtain them from respective backend device. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
As a step toward possibility to present emulated USB devices to the guest, we remove the knowledge about libusb and usbredirhost (which depends on libusb) from all the modules and concentrate it in one (usb backend) which presents abstract USB objects and internal API to all other modules. Internal API presents following types of objects: * SpiceUsbBackend: supports enumeration of local USB devices (Windows), hot plug/unplug callbacks (Linux) and events handling. It wraps libusb_context * SpiceUsbBackendDevice: represent local USB device, provides access to cached properties of the device, wraps libusb_device * SpiceUsbBackendChannel: accumulates redirection functionality, wraps usbredirhost Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
- Jun 19, 2019
-
-
The IO operation is cancelled on channel dispose and it is not an error, so silence the warnings. Signed-off-by: Jakub Janků <jjanku@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Message with no data from spice-webdav daemon means the client disconnected. In this case, the client connection to phodav should be closed as well. This can happen e.g. when file transfer gets cancelled. Also, while we're at it, reorder the code a bit. Signed-off-by: Jakub Janků <jjanku@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
If the client on the remote side disconnects, spice-webdav daemon sends a message with no data. However, if the phodav server already closed the client connection, client lookup fails and we open a new connection to phodav, but don't write anything to it - this should not happen, so in such case, ignore the message and start demuxing again. Signed-off-by: Jakub Janků <jjanku@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
The current implementation finishes it only after new data arrives from the channel (or after it is cancelled). Signed-off-by: Jakub Janků <jjanku@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
In pipe_output_stream_is_writable, if the peer is already gone, peer_closed is set to TRUE and in this case, peer->read should not be accessed as peer is NULL. Otherwise, the following sequence of calls (simplified) would trigger a segfault: spice_make_pipe(p1, p2); g_output_stream_write_all_async(p1_out); g_clear_object(p2); g_pollable_output_stream_is_writable(p1_out); Signed-off-by: Jakub Janků <jjanku@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
- Jun 18, 2019
-
-
'Latency' is confusing because it evokes either the network latency or the audio latency, neither of which match what the latency variables contain. Instead they record how much margin there was between when the frame was received, and when it is supposed to be displayed. Hence the new name. Signed-off-by: Francois Gouget <fgouget@codeweavers.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
The number of frames that were sitting in the decoding_queue before the current frame was added is crucial to correctly interpret the decoding time: * Less than MAX_DECODED_FRAMES means nothing blocked the decoding of that frame. * More than MAX_DECODED_FRAMES means decoding was delayed by one or more frame intervals. Signed-off-by: Francois Gouget <fgouget@codeweavers.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
By the time schedule_frame() pulls a sample off GStreamer's pipeline the frame may have been decoded for hundreds of milliseconds, making the decoding time all but meaningless. This patch ensures the statistics are always collected by sink_event_probe() which is called as soon as the decoded frame is available. Note that even so the decoding time may be overestimated as the frame may have been waiting for a while in encoded form for a spot to be freed in the GStreamer pipeline's sink queue. Signed-off-by: Francois Gouget <fgouget@codeweavers.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Take into account changes made in 8835e757, 8c210125 and possibly other other commits. Add MAX_DECODED_FRAMES to define how many decoded frames GStreamer should queue. Signed-off-by: Francois Gouget <fgouget@codeweavers.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Signed-off-by: Francois Gouget <fgouget@codeweavers.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
- Jun 14, 2019
-
-
Frediano Ziglio authored
The "count" variable is used to store the full length of the initial buffer set using spice_vmc_input_stream_read_all_async or spice_vmc_input_stream_read_async. However on spice_vmc_input_stream_co_data the "buffer" variable is increased by the amount read into it. On potential next loop "count" is still used to compute the bytes to read but now "buffer + count" points past the original buffer. So we need to take into account the position written in order to compute the right limit. Tested with WebDAV. https://bugzilla.redhat.com/show_bug.cgi?id=1720532 Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com>
-
- Jun 11, 2019
-
-
François Gouget authored
schedule_frame() was expecting to be called at least 1 ms before having to display the frame which is wrong: being called 0 ms before is acceptable too. Thankfully the frame would usually be the last decoded frame and would thus be displayed anyway. Also reverse the inequality to make it easier to understand. Signed-off-by: Francois Gouget <fgouget@codeweavers.com> Acked-by: Victor Toso <victortoso@redhat.com>
-
Snir Sheriber authored
When GDK_SCALE is != 1 and egl is used, the image presented does not fit to the window (scale of 2 is often used with hidpi monitors). Usually this is not a problem since all components are adjusted by gdk/gtk but with egl, pixel-based data is not being scaled. In this case window's scale value can be used in order to determine whether to use a pixel resource with higher resolution data. In order to reproduce the problem set spice with virgl/Intel-vGPU and run spice-gtk with GDK_SCALE=2 This issue was also reported at freedesktop gitlab repo: spice/spice-gtk#99 Signed-off-by: Snir Sheriber <ssheribe@redhat.com> Acked-by: Victor Toso <victortoso@redhat.com>
-
- Jun 10, 2019
-
-
The mm_time is an unsigned 32 bit int but spice_mmtime_diff() returns a signed 32 bit int. That's reasonable because we normally subtract frame times which should be at most seconds apart. But last_mm_time was zero on stream startup, resulting in an overflow and an uncalled for warning for the first frame in spice_gst_decoder_queue_frame() if the uptime was greater than about 25 days. Signed-off-by: Francois Gouget <fgouget@codeweavers.com> Acked-by: Snir Sheriber <ssheribe@redhat.com>
-
- May 31, 2019
-
-
As libusb_strerror() does exactly what spice_usbutil_libusb_strerror() is doing. Notice that we can change the description language with libusb_setlocale() but keeping it in English by default (as it is) for now. Signed-off-by: Victor Toso <victortoso@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
- May 29, 2019
-
-
Frediano Ziglio authored
Apply the same workaround in 3c9b37bf for Meson. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Marc-André Lureau <marcandre.lureau@gmail.com>
-
- Fix the following warnings: ./spice-gtk-sections.txt:467: warning: No declaration found for SPICE_GTK_CHECK_VERSION. ./spice-gtk-sections.txt:468: warning: No declaration found for SPICE_GTK_MAJOR_VERSION. ./spice-gtk-sections.txt:469: warning: No declaration found for SPICE_GTK_MICRO_VERSION. ./spice-gtk-sections.txt:470: warning: No declaration found for SPICE_GTK_MINOR_VERSION. - fixxref for glib and gtk (thus requires gtk+ to build doc) - And other minor simplifications. After autotools is removed, we should try to use --rebuild-types. For now I prefer not to touch it :) Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
- May 20, 2019
-
-
Frediano Ziglio authored
This should have been removed by commit 96ed6b7a ("pygtk: remove bindings leftover") Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
-
- May 16, 2019
-
-
Victor Toso authored
Signed-off-by: Victor Toso <victortoso@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Victor Toso authored
Otherwise we break meson builds with "meson.build:44:0: ERROR: Subproject exists but has no meson.build file" Signed-off-by: Victor Toso <victortoso@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Victor Toso authored
This extra empty line makes the v0.24 section have extra line between each element of the list in the Markdown. Just removing it to keep all sections similar. Signed-off-by: Victor Toso <victortoso@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Victor Toso authored
In order to have gitlab interface to handle this file as Markdown and properly feed the changelog section. Add to EXTRA_DIST to include the renamed file to release's tarball. Signed-off-by: Victor Toso <victortoso@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Victor Toso authored
No other significant changes in the content were done besides format. Signed-off-by: Victor Toso <victortoso@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Victor Toso authored
In order to have gitlab interface to handle this file as Markdown. Add to EXTRA_DIST to include the renamed file to release's tarball. Signed-off-by: Victor Toso <victortoso@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
- May 15, 2019
-
-
Frediano Ziglio authored
It seems sometimes the working directory is not properly cleaned causing some issue. Make sure it's clean before doing a out-of-tree build (which have problems with not cleaned directory). Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Victor Toso <victortoso@redhat.com>
-
Marc-André Lureau authored
Left from previous commit f90a9068 "build: Do not generate ChangeLog file" Acked-by: Frediano Ziglio <fziglio@redhat.com> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
-
Frediano Ziglio authored
There's already a hand written change log and people can look at repository history. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Victor Toso <victortoso@redhat.com>
-
- May 09, 2019
-
-
Victor Toso authored
This is a regression from commit aae07fb3 in 2017-03-27 by Victor Toso <me@victortoso.com>. The message is handled by channel-webdav and should not be exposed nor handled elsewhere. Found this while inspecting the code, there is not real side effect as no one trying to handle port-data from webdav's channel-port. Signed-off-by: Victor Toso <victortoso@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
- May 07, 2019
-
-
Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
Not really interesting to keep tracking what is inside or not USE_USBREDIR on channel-usbredir itself. When usbredir is disabled, just dummy functions are needed with spice-client.h include. After this patch, on channel-usbredir.c, we have a single #ifdef USE_USBREDIR and the #else block is defined in the end of the file. This patch also adds #ifdef USE_USBREDIR for channel-usbredir-priv.h as none those functions are defined when usbredir is disabled. Signed-off-by: Victor Toso <victortoso@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
- May 06, 2019
-
-
Victor Toso authored
Otherwise we'll get g_type_add_instance_private: assertion 'private_size > 0' failed Signed-off-by: Victor Toso <victortoso@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-
- May 02, 2019
-
-
Frediano Ziglio authored
Headers macros (HAVE_*_H) are guarding some include in the code. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Victor Toso <victortoso@redhat.com>
-
- May 01, 2019
-
-
This mitigates a fairly rare problem we see with our kiosk mode clients. That is, normally if something goes wrong with a client connection (e.g. the session is killed, or the server is restarted ), the kiosk will exit on disconnect, and we get a chance to retry the connection, or present the user with a 'server down' style message. But in the case of a serious network problem or a server hard power cycle (i.e. no TCP FIN packets can flow), our end user behavior is not ideal - the kiosk appears to hang solid, requiring a power cycle. That's because we've got the stock keepalive timeouts, or about 2 hours and 11 minutes, before the client sees the disconnect. This change will cause the client to recognize the server has vanished without a TCP FIN after 75 seconds. See this thread: https://lists.freedesktop.org/archives/spice-devel/2017-March/036553.html As well as this bug: https://bugzilla.redhat.com/show_bug.cgi?id=1436589 Signed-off-by: Jeremy White <jwhite@codeweavers.com>
-