Age | Commit message (Collapse) | Author | Files | Lines |
|
gstaudio: replace exisiting channels on connect
See merge request spice/spice-gtk!127
|
|
There is a race if disconnect/reconnect happen too quickly that the
existing channel isn't yet destroyed, due to the delayed coroutine
handling.
By simply taking the last channel as the current channel, we avoid the
issue having to wait for the previous channel to be destroyed.
Of course, multiple playback/record channels aren't supported anyway at
this point.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
spice-channel: read all avaiable data from OpenSSL buffer
See merge request spice/spice-gtk!126
|
|
When TLS is in use, data is received in TLS records. If multiple SPICE messages are merged into a single record—e.g. from a proxy server—it's necessary to check if OpenSSL has still data buffered. Otherwise, any extra SPICE messages would only be processed the next time data arrives on the TCP socket.
|
|
wayland: use separate event queue for widgets, and code cleanup
See merge request spice/spice-gtk!125
|
|
The uint name of corresponding interface is also recorded in
global listener. When in global remove listener, this would be
used to compare with the name that got removed.
|
|
Functions with `gtk_` prefix are renamed to avoid confusion, and strcmp
calls in registry_handle_global() are replaced by g_strcmp0.
|
|
|
|
This fixes https://gitlab.freedesktop.org/spice/spice-gtk/-/issues/179.
Signed-off-by: Christoph Brinkhaus <c.brinkhaus@t-online.de>
|
|
In case the H/W decoder is not able to decode the stream (like too high
profile) try the S/W version.
This is done detecting the failure and trying to recreate the pipeline
in case:
- we are using a H/W pipeline;
- we didn't decode any frame (otherwise it means we lost the beginning
or it was not a problem of H/W decoder).
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Acked-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
|
|
This patch fixes a leak due to not freeing GstBus watch.
The watch is attached (as GSource) to the main loop and retains
a pointer to the bus so we need to remove it to release the bus
when we release the pipeline.
This was detected forcibly creating and destroying lot of streams.
After a while the client program consumed all file descriptors
and stopped working. This as GstBus retains a GPoll which,
under Unix, uses 2 file descriptors.
For some reasons using gst_pipeline_get_bus again in free_pipeline
do not fix entirely the leak so keep a pointer to the exact
bus we set our watch on.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Acked-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
|
|
We first try to detect if an Intel GPU is available (by looking into
udev's database) and then probe Gstreamer's registry cache to see
if there is h/w based decoder (element) available for the incoming
video codec format. If both these conditions are satisfied (i.e,
Intel Media SDK Gstreamer plugin (libgstmsdk.so) and associated
libraries are properly installed), we then create a simple decode
pipeline using appropriate h/w based decoder and post-processor
elements instead of relying on playbin -- which may not be able to
auto-select these elements.
For example, if the incoming codec format is h264, we then create
a pipeline using msdkh264dec and vaapipostproc elements instead of
avdec_h264 and videoconvert.
Cc: Frediano Ziglio <freddy77@gmail.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Dongwon Kim <dongwon.kim@intel.com>
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
Signed-off-by: Hazwan Arif Mazlan <hazwan.arif.mazlan@intel.com>
Signed-off-by: Jin Chung Teng <jin.chung.teng@intel.com>
Acked-by: Frediano Ziglio <freddy77@gmail.com>
|
|
Although currently after free_pipeline we free the entire structure
the name and the function suggests that we only free the pipeline.
Also this is fixing a future possible problem with the series
from Vivek Kasireddy reusing the SpiceGstDecoder for another
pipeline if H/W encoder pipeline creation fails.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Acked-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
|
|
This brings in the following changes:
Vivek Kasireddy (1):
common: Add a udev helper to identify GPU Vendor
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
|
|
If playbin3 is available (checked in Gstreamer registry), it
makes sense to prefer it given the major improvements and
features it offers including the capability to handle higher
bitrates.
Cc: Frediano Ziglio <freddy77@gmail.com>
Cc: Dongwon Kim <dongwon.kim@intel.com>
Cc: Hazwan Arif Mazlan <hazwan.arif.mazlan@intel.com>
Signed-off-by: Jin Chung Teng <jin.chung.teng@intel.com>
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
Acked-by: Frediano Ziglio <freddy77@gmail.com>
|
|
Adding the string "stream-format=byte-stream" to decoder capabilities
(dec_caps) for h264/h265 codecs stops Gstreamer from complaining
about missing stream format.
Cc: Frediano Ziglio <freddy77@gmail.com>
Cc: Dongwon Kim <dongwon.kim@intel.com>
Cc: Jin Chung Teng <jin.chung.teng@intel.com>
Cc: Hazwan Arif Mazlan <hazwan.arif.mazlan@intel.com>
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
Acked-by: Frediano Ziglio <freddy77@gmail.com>
|
|
Use single version of double exported functions
See merge request spice/spice-gtk!122
|
|
Solve double export issue of some functions between spice-gtk
and spice-glib libraries.
Some functions are exported by both spice-gtk and spice-glib.
As the state of these function can be duplicate this can create
some issues. Specifically you can enable debug but get only partly
enabled.
So to solve this and have a consistent behaviour across system
add new functions in spice-glib (where these functions where supposed
to be) and use them (we need to keep providing old functions for
ABI compatibility).
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
|
|
In case version script support is not available we can still
able to filter symbols exported.
This for instance will work with linkers not supporting
--version-script (like system MacOS one).
Use new version macros similar to Glib to detect also
deprecated function.
Tested that exported symbols remains the same from both Linux
and Windows shared libraries.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
|
|
Already declared in spice-audio.h.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
|
|
Fix some "Since" field in function documentation.
Nobody should nowadays use versions old like these but good to
have them fixed.
Function presence was checked looking at map-file and code
presence.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
|
|
One file for spice-glib and another for spice-gtk.
This avoid having duplicate exports in the future.
spice_g_signal_connect_object, spice_util_get_debug,
spice_util_get_version_string, spice_util_set_debug and
spice_uuid_to_string are exported by both libraries to keep ABI
compatibility.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
|
|
This option is intended for libtool, not for any linker.
Check the support of --version-script option using an empty
list of symbols to catch some faulty linker supporting that
option but not allowing not existing symbols (some buggy mold
versions).
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
|
|
This adds the stdcall attribute to match the function prototype which
is used with SetWindowSubclass Win32 API. Otherwise, clang 16 targeting
i686-w64-windows-gnu shows the following compiler error:
../src/usb-backend.c:269:38: error: incompatible function pointer types passing
'LRESULT (HWND, UINT, WPARAM, LPARAM, UINT_PTR, DWORD_PTR)' (aka 'long (struct HWND__ *, unsigned int, unsigned int, long, unsigned int, unsigned long)') to parameter of type
'SUBCLASSPROC' (aka 'long (*)(structHWND__ *, unsigned int, unsigned int, long, unsigned int, unsigned long) __attribute__((stdcall))') [-Wincompatible-function-pointer-types]
if (!SetWindowSubclass(be->hWnd, subclass_proc, 0, (DWORD_PTR)be)) {
^~~~~~~~~~~~~
Acked-by: Frediano Ziglio <freddy77@gmail.com>
|
|
|
|
Signed-off-by: WebOfNakedFancies <arshuni@gmx.com>
|
|
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
It's from Oct 2020, and widely available on various distro or backports.
Fix related meson warnings.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
meson wraps python scripts already on win32:
"C:/msys64/mingw64/bin/meson" "--internal" "exe" "--capture" "src/vncdisplaykeymap_xorgevdev2xtkbd.h" "--" "C:/msys64/mingw64/bin/python.exe" "python" "C:/msys64/home/marca/src/spice-gtk/subprojects/keycodemapdb/tools/keymap-gen" "code-m
ap" "--lang" "glib2" "--varname" "keymap_xorgevdev2xtkbd" "../subprojects/keycodemapdb/data/keymaps.csv" "xorgevdev" "xtkbd"
--- stderr ---
C:/msys64/mingw64/bin/python.exe: can't open file 'C:\\msys64\\home\\marca\\src\\spice-gtk\\build\\python': [Errno 2] No such file or directory
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
WARNING: find_library('libws2_32') starting in "lib" only works by accident and is not portable
Library libws2_32 found: YES
WARNING: find_library('libgdi32') starting in "lib" only works by accident and is not portable
Library libgdi32 found: YES
WARNING: find_library('libcomctl32') starting in "lib" only works by accident and is not portable
Library libcomctl32 found: YES
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
WARNING: extract_all_objects called without setting recursive
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
../src/spice-widget-egl.c:204:17: error: unused variable 'gdk_dpy' [-Werror=unused-variable]
204 | GdkDisplay *gdk_dpy = gdk_display_get_default();
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
When EGL is enabled (thanks to epoxy/angle), spice-gtk fails to link
against epoxy. Link with it when EGL is enabled.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
Adjust `#ifdef` statements to use the single define.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
Win32 has #define for those.
Change variable names `near` and `far` to `_near` and `_far`.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
Same as a945a3c24b11de017a3b22acb5085fec59efa662 but for Wayland.
Fixes breakage caused by GTK behavior change in
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5159.
|
|
Otherwise they are not showed when rendered.
|
|
Hardware support for Apple iOS is not available, check correctly
and not try to use it.
Signed-off-by: osy <osy@turing.llc>
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Tested-by: osy <osy@turing.llc>
|
|
Currently, it is not possible to build spice-gtk on a Wayland-only
environment due to the x11 dependency in meson.
Since commit a7381b0864b7 ("Allow to build without X11 gdk backend)
it is possible to build spice-gtk without X11 GDK backend, so make
the x11 dependency in meson optional.
Signed-off-by: Fabio Estevam <festevam@denx.de>
Acked-by: Frediano Ziglio <freddy77@gmail.com>
|
|
This patch fixes bad filtering of USB devices.
The logic was introduced for windows clients in commit b838937 but was
moved in 2e19014 and executed also by non windows clients, resulting
in this bug.
Fixes: 2e19014 "usb-redir: isolate usage of libusb and usbredirhost"
Fixes: https://gitlab.freedesktop.org/spice/spice-gtk/-/issues/157
Signed-off-by: Victor Toso <victortoso@redhat.com>
|
|
Signed-off-by: NorwayFun <temuri.doghonadze@gmail.com>
Acked-by: Frediano Ziglio <freddy77@gmail.com>
|
|
This simple change adds keyboard shortcuts for manual synchronization of
copy/paste buffers. These come in handy when automatic clipboard sharing
is disabled, which may be desirable to prevent a semi-trusted server
from reading sensitive data populated by password managers and similar.
Shift+F5/F6 ain't the most comfortable shortcuts, but it sticks with the
current theme.
|
|
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
Install whole wine instead of just core.
Set language to avoid warning in GLib.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
|
|
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
Fix compilation warnings when building against openssl 3.0
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
Prefer libsoup 3.0 over 2.0, when available.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
Frediano Ziglio (1):
Replace EVP_PKEY_cmp with EVP_PKEY_eq
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|