summaryrefslogtreecommitdiff
path: root/modules
Commit message (Collapse)AuthorAgeFilesLines
* gtk: Move from g_memdup() to g_memdup2()Emmanuele Bassi2021-02-111-2/+6
| | | | | The g_memdup() function is replaced by a safer version in newer versions of GLib.
* Merge branch 'printing-temporary-queues-gtk4' into 'master'Matthias Clasen2021-02-072-60/+267
|\ | | | | | | | | printing: Create temporary queues for Avahi printers See merge request GNOME/gtk!3160
| * printing: Show all Avahi advertised printersMarek Kasik2021-02-051-3/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit unsubscribes CUPS backend from a DBus signal in idle when listening for new items on Avahi. Since GDBus emits gathered signals in idle while checking whether the signal has been unsubscribed it could happen that a signal was not processed because it was removed from hash table of subscribed signals. This caused the situation where printers advertised on Avahi were not listed in CUPS backend sometimes. We need those signals since this happens when switching from a general subscription which listens to signals for all Avahi services to a specific one which listens to just _ipp._tcp and _ipps._tcp (chicken and egg problem).
| * printing: Create temporary queues for Avahi printersMarek Kasik2021-02-052-57/+243
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change extends set of Avahi advertised printers which works with Gtk's CUPS print backend. It creates a temporary queue (local printer) for each Avahi printer in CUPS instead of accessing them directly (via CUPS library). This makes some printers work which did not work before and also gives users more options to change in the print dialog. This also changes naming of printers to be in accordance with CUPS. It uses '_' instead of '-' and has hostname appended for CUPS remote printers.
* | meson: use correct module file extension on macOSDavid Lechner2021-02-052-0/+6
|/ | | | | | | | GModule requires the .so file extension on macOS for historic reasons. However Meson defaults to .dylib for modules, so we need to override it to get the correct extension. Fixes #3645.
* gtkgstsink: Sync texture before handing it to GDKJan Alexander Steffens (heftig)2021-01-291-0/+14
| | | | | We need to synchronize when moving the texture between contexts, or we get glitches with VA-API decoding.
* gtkgstsink: Use video_frame_free also for the GL pathJan Alexander Steffens (heftig)2021-01-261-19/+18
| | | | | | The video frame needs to stay mapped while the texture is in use. Avoid using g_memdup because the structure is not supposed to be moved.
* gtkgstsink: Report allocation size even if no pool requestedJan Alexander Steffens (heftig)2021-01-261-14/+14
| | | | We can do that so we should.
* gtkffmediafile.c: Use g_snprintf()Chun-wei Fan2021-01-081-1/+1
| | | | | | | | Visual Studio 2013 is just shy of being sufficiently C99-compliant to build GTK master, as it did not support snprintf() in its CRT implementation. Use g_snprintf() to cover for this.
* Merge branch 'macos-ci' into 'master'Matthias Clasen2021-01-061-13/+0
|\ | | | | | | | | Macos ci See merge request GNOME/gtk!3032
| * printing: Remove cairo header checksMatthias Clasen2021-01-031-13/+0
| | | | | | | | | | | | cc.has_header doesn't work with subprojects, and all this check does is to make the build fail, so we can just... let the build fail instead.
* | Merge branch 'media-caps' into 'master'Matthias Clasen2021-01-051-2/+7
|\ \ | | | | | | | | | | | | media: Be more specific in our caps See merge request GNOME/gtk!3037
| * | media: Be more specific in our capsmedia-capsMatthias Clasen2021-01-051-2/+7
| | | | | | | | | | | | | | | We can only handle 2D textures, so tell gstreamer about that.
* | | gstreamer media backend: Disable OpenGL on Windowsno-gl-contextChun-wei Fan2021-01-051-0/+13
|/ / | | | | | | | | | | | | | | | | ...for at least WGL, since we are not allowed to use wglMakeCurrent(), which is eventually called by gdk_gl_context_make_current() to share WGL contexts across different threads, which will cause a crash. This means, we cannot enable WGL in the gstreamer media backend on Windows.
* | media: Only force GL if we're using a GL rendererMatthias Clasen2021-01-041-1/+15
| | | | | | | | | | | | When we are not using a GL renderer, getting GL textures is no advantage to us, so don't make gstreamer send its frames as GL memory in this case.
* | media: Convince gstreamer to deliver GL memoryMatthias Clasen2021-01-041-1/+8
| | | | | | | | Use a glsinkbin to make gstreamer deliver GL memory.
* | media: Add support for OpenGL to GtkGstMediaFileBenjamin Otte2021-01-046-34/+381
|/
* gtkmediafile: Consider pixel-aspect-ratio for rendering video with the ↵Sebastian Dröge2020-12-274-11/+28
| | | | | | correct aspect ratio Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3516
* gtkmediafile: Only unmap the GstVideoFrame in the GBytes destroy notifySebastian Dröge2020-12-261-3/+9
| | | | | | | | | | | The memory pointed to by GstVideoFrame::plane_data becomes invalid after unmapping causing the GBytes to point at some random memory if the unmapping is not deferred until its destroy notify. When the GStreamer buffer is backed by normal system memory this is not a problem but if it is backed by e.g. an OpenGL texture, dmabuf or some other hardware-specific memory this will otherwise cause interesting problems.
* Fix the value for the print-backends settingfix-printbackendsMatthias Clasen2020-12-211-2/+2
| | | | | | | | This was broken in the meson conversion, causing us to default to "" instead of the built print backends. Fixes: #3486
* build: Use a consistent style for Meson filesEmmanuele Bassi2020-12-152-37/+48
|
* lpr: fix cast warningChristian Hergert2020-11-181-1/+1
|
* cloudprint: Make compile without warningsBenjamin Otte2020-10-271-3/+3
|
* gtkmediafile: Use cubic volume functionBenjamin Otte2020-10-271-1/+1
| | | | | | | | Gstreamer suggests doing that. https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1439 Fixes #3295
* Fix the build with cups < 2.2.12Thomas Lange2020-10-261-0/+4
| | | | | | | | PPD_CUSTOM_UNKNOWN was introduced in cups 2.3. and has been backported to 2.2.12. Only handle it when we build against a new enough cups. Fixes: #2968
* Apply 1 suggestion(s) to 1 file(s)Xavier Claessens2020-10-221-1/+1
|
* meson: Use feature options for media and print backendsXavier Claessens2020-10-172-89/+51
| | | | | | This gracefully disable ffmpeg, gstreamer, cups and cloudprint optional dependencies when they are not available, while still giving full control to distributors using -Dauto_features=enabled.
* Merge branch 'master' into 'master'Matthias Clasen2020-10-071-3/+7
|\ | | | | | | | | Allow LPR backend to print PDF and PS file formats See merge request GNOME/gtk!418
| * Allow LPR backend to print PDF and PS file formatsSean Farley2018-11-171-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | At least from GTK v3.22.30, the code disallows attempts to print PDF and PS files using the LPR backend. Although it is not easy or possible for GTK to determine if the printer can print these formats by querying lpr, the print backend should allow lpr to try. There are two uses cases: - A filter is being used by lpr, specified in the printcap file, to process the files prior to printing them. - The printer can print PDF and PS files directly. There are many printers that can print these formats, so GTK should allow for the possibility.
* | Revert "Fix the build with cups < 2.3"Matthias Clasen2020-10-011-2/+0
| | | | | | | | | | | | | | | | This reverts commit d761e3cf2c31b91269a3dbfd64a553decdeec51c. I am seeing PPD_CUSTOM_UNKNOWN in the cups headers in our ci images, and that is cups 2.2.12. So this commit was mistaken.
* | build: Start using meson feature optionsMatthias Clasen2020-08-231-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Use feature options for things that are optional features, update the docs. Visible changes here is that the 'print-backends' option got renamed to 'print' to go better with 'media', and the 'tracker3' option got renamed to 'tracker'. For options that have been changed into features, the syntax now is -Dfeature=enabled or -Dfeature=disabled or -Dfeature=auto.
* | *: Fix spelling mistakes found by codespellBjörn Daase2020-08-215-11/+11
| |
* | printing: Use original names for remote CUPS printersMarek Kasik2020-08-201-2/+2
| | | | | | | | | | | | | | | | | | CUPS uses resource paths in the form of "printers/printer_name" or "classes/class_name" so it is enough to remove the "printers/" or "classes/" prefix and use the string behind it as a name. There was recently introduced a wrong check for the prefix. This commit fixes it in the way it was originally intended.
* | cloudprint: Fix redundant declarationsSimon McVittie2020-08-081-2/+0
| | | | | | | | | | | | | | | | G_DEFINE_DYNAMIC_TYPE declares these functions as static, and -Werror=redundant-decls won't let us redeclare them. This is the equivalent of 72c72d0b, but for a different backend. Signed-off-by: Simon McVittie <smcv@debian.org>
* | cups: Don't emit a warning if we can't talk to avahiMatthias Clasen2020-08-011-1/+1
| | | | | | | | | | | | The g_warning in this case makes the templates test fail if it can't connect to the system bus (as is the case for running installed tests in ci).
* | Fix the build with cups < 2.3Matthias Clasen2020-07-311-0/+2
| | | | | | | | | | | | | | PPD_CUSTOM_UNKNOWN was introduced in cups 2.3. Only handle it when we build against a new enough cups. Fixes: #2968
* | Replace "gdouble" with "double"Benjamin Otte2020-07-254-34/+34
| |
* | Replace "gchar" with "char"Benjamin Otte2020-07-2514-282/+282
| |
* | Replace "gint" with "int"Benjamin Otte2020-07-259-89/+89
| |
* | cups: Plug a memory leakMatthias Clasen2020-07-091-0/+1
| | | | | | | | This showed up under asan.
* | cups: Use allow/ignore listEmmanuele Bassi2020-06-181-15/+15
| | | | | | | | Don't use loaded terms like "whitelist" and "blacklist".
* | Fix minor typosYuri Chornoivan2020-06-181-1/+1
| |
* | Fix the lpr print backend build (redundant-decls)Martin Blanchard2020-06-141-2/+0
| | | | | | | | | | Class and instance _init() functions are already declared by G_DEFINE_DYNAMIC_TYPE ().
* | modules: Fix build on Visual StudioChun-wei Fan2020-06-057-16/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Visual Studio does not allow decorating functions with '__declspec (dllexport)' if a prototype exists and is not decorated with '__declspec (dllexport)' as well, so we cannot just decorate g_io_module_[load|unload|query] in the various module sources with G_MODULE_EXPORT because the prototypes of these functions have been marked with _GLIB_EXTERN, which equates to 'extern' unless overridden Fix this by overriding _GLIB_EXTERN with the appropriate visibility flag, as we have used to define _GDK_EXTERN. Unfortunately, we can't just use _GDK_EXTERN G_MODULE_EXPORT as they may have not been defined yet for our use Do this across the board for all modules, even if they are not buildable on Visual Studio nor Windows, for consistency's sake.
* | ffmediafile: Add fixes for recent cflags changesBenjamin Otte2020-06-031-1/+5
| | | | | | | | Related: #2771
* | Fix minor typosYuri Chornoivan2020-05-281-1/+1
| |
* | printing: Drop a redundant assignmentMatthias Clasen2020-05-251-15/+9
| | | | | | | | This showed up as a warning in static analysis in ci.
* | Build media backends with common_cflags and export the symbolQiu Wenbo2020-05-226-6/+19
| | | | | | | | Fixes: #2771
* | Build print backends with common_cflagsTimm Bäder2020-05-194-48/+59
| |
* | Pass common_cflags to print backendsTimm Bäder2020-05-193-7/+10
| |