aboutsummaryrefslogtreecommitdiff
path: root/plugins
AgeCommit message (Collapse)Author
2025-12-19Supply all iconsfiaxh
2025-12-19Handle content type != mime typefiaxh
2025-11-22Update translationsTranslations
2025-11-15rtp: device: Ensure even heights for rescaled streamsRobert Mader
Odd heights, while generally handled by Gstreamer, can cause issues in various places - most importantly hardware video en-/decoders and GL/VK drivers - as in most cases 2x0 or 2x2 subsampled intermediate pixel formats are used (such as I420, YUYV, NV12 etc.). Thus ensure we always end up with an even height.
2025-11-15rtp: device: Tweak common_widths for 16:9 ratioRobert Mader
Most used widths can be devided by 4*3 as well as 16*9, resulting in heights being multiples of two. There are two exceptions, though: 360 (/16*9=202.5) and 400 (/16*9=225). Odd heights, while generally handled by Gstreamer, can cause issues in various places - most importantly hardware video en-/decoders and GL/VK drivers - as in most cases 2x0 or 2x2 subsampled intermediate pixel formats are used (such as I420, YUYV, NV12 etc.). Thus tweak the widths in question so they can be cleanly devided 16*9 and 4*3 with even results, as these are the most common ratios for cameras.
2025-10-16Remove invalid declaration modifiersMarvin W
Fixes #1728
2025-10-13Update translationsTranslations
2025-10-06device: Request 30 fps in absence of framerate negotiationRobert Mader
Sources not capable of negotiating framerates, most notably the libcamera Pipewire plugin, might still be able to honor a value requested and otherwise usually just ignore it. Thus setting a value that we can reasonably assume to be supported has several benefits: 1. It potentially prevents the source from producing much higher fps than useful for the usecase, causing resource waste. 2. It decreases the chances of running into fallback code paths which are often badly optimized performance-wise. One example is that currently the implicitly set framerate values cause regular renegotiations (including buffer re-allocations) in pipewiresrc. Another is the internal get_target_bitrate(), currently returning uint.MAX. 3. If the source can only produce e.g. 15 fps, that's usually handled without major issues. Thus follow the example of Snapshot, which has been doing this for a while and gets more testing with libcamera, and set framerate to 30/1.
2025-10-06device: Target resolution of 720p on libcamera devicesRobert Mader
Most cameras needing the fallback path are provided by libcamera, which does not yet provide framerates. At the same time many such cameras support very high resolutions - often in the 4K category - and are paired with rather weak CPUs. Examples for this are popular mobile phones such as the PinePhone Pro or the OnePlus6. In order to archive a somewhat stable FPS count in such scenarios, target a resolution of 720p as a compromise of quality and performance.
2025-10-06Only support SystemMemory caps for videoRobert Mader
An increasing number of video device providers, such as `pipewiresrc` (in the upcoming 1.6 release) and `v4l2src` (since Gst 1.26), support `memory:DMABuf` caps using the special `DMA_DRM` caps. This is not expected and handled properly, thus filter out any non-default features.
2025-10-05Adjust to Adw 1.4: Use specialized ActionRowsfiaxh
2025-07-20Improve checking whether MUC messages will be referencablefiaxh
related #1714
2025-07-20Meson: Improve plugin buildingMarvin W
Make relevant plugins enabled by default (instead of auto-enabling them if dependencies are met). Also make disabled plugins explicit in the summary.
2025-07-20Fix checkmark icon not being availablefiaxh
2025-05-23Voice processor: add back call to set stream delayJacques Comeaux
2025-04-18Remove pixbuf from libdino api surface and xmpp-valafiaxh
2025-04-11Update translationsTranslations
2025-04-09RTP: Tear down most of GStreamer while not in a call.Marvin W
This includes #1679 and works around an upstream bug in pipewire causing #1685
2025-04-09Update translationsTranslations
2025-04-08Show call button regardless of contact online statusfiaxh
2025-04-06Update translationsTranslations
2025-04-06OMEMO: Use libomemo-c instead of libsignal-protocol-cMarvin W
2025-04-06Drop CMake supportMarvin W
2025-04-04Meson: Add option to set rpath on installed binariesMarvin W
2025-04-04Meson: Make plugindir relative to libdirMarvin W
2025-03-12Update translationsTranslations
2025-02-24Voice processor: merge init and setup methodsMarvin W
This ensures we are never in an uninitialized state when processing audio data
2025-02-23Fix build with webrtc-audio-processing 2.xMarvin W
2025-02-22Voice processor: add support for webrtc-audio-processing 1.x and 2.xMarvin W
2025-02-12Flatpak: Use Meson buildMarvin W
2025-01-18Meson: Add build option summaryMarvin W
2025-01-18Meson: Add all defines to handle dependency versionsMarvin W
2025-01-12Meson: Add testsMarvin W
2025-01-12RTP: gtksink no longer neededMarvin W
2025-01-12Contact details dialog: Add encryption tabfiaxh
2024-11-15Fix and improve stateless file-sharingfiaxh
2024-11-14Implement XEP-0447: Stateless file sharingPatiga
2024-09-22XEP-0215: Remove timeout from previous connectionfiaxh
2024-09-22XEP-0215: management of the field `expires`Alexandre Jousset
Add a field in `Xmpp.Xep.ExternalServiceDiscovery` to keep track of the `expires` TURN service value and use it (divided by 2) to restart periodically the external services discovery.
2024-09-22Ignore bad stun/turn IP addressesfiaxh
2024-09-15Code cleanup: Remove broken disable CSD codefiaxh
2024-09-15Use Adwaita 1.2, bump CI to Ubuntu 24.04fiaxh
2024-09-14Update translationsTranslations
2024-09-14Update translationsTranslations
2024-08-22Update translationsTranslations
2024-08-19Omemo: Connect listener only once on account addedfiaxh
2024-08-18Add omemo key management tooltip (#1603)Matthew Fennell
2024-07-19OMEMO: Do not show message for OMEMO messages without payloadMarvin W
2024-07-01Update translationsTranslations
2024-06-29Allow self-signed .onion file transfer certs (#1149)Matthew Fennell
Most Certificate Authorities don't support issuing X.509 certificates for onion sites. However, it can still be useful to provide a certificate over Tor in some circumstances, for instance to tie your alphanumeric Tor address to your site's main identity. Therefore, many Tor services provide self-signed certificates. This is OK, since the onion service itself guarantees that you are connecting to the entity you think you are. Dino already allows self-signed certs when communicating over Tor (see 81a5505). However, the same exception does not exist yet for HTTP uploads and downloads - causing these to fail over Tor. Therefore, in this commit, we add the same exception for uploads/downloads, by passing the host of the upload/download urls to the already existing invalid certificate connection handler. Note that this handler only allows certificates with type TlsCertificateFlags.UNKNOWN_CA. This means the certificate of your server must also include the onion http upload and download URLs in its certificate - otherwise, the file transfer will fail with TlsCertificateFlags.BAD_IDENTITY.