Skip to content

feat: Add click-to-play gif previews

mesonium requested to merge mesonium/gajim:gif-previews into master

Screencast_20250913_182749


Adds widgets and backends for

  • WebP Anmations: Since Gst has no decoder for animated WebPs, we require to extract and decode each frame, before we can feed them into a pipeline to display them in a Gtk4 Paintable Sink.
  • Gif Animations: Gst offers suitable decoders, hence we can playback those directly.

In case of errors, the widgets fall back to opening the default image viewer of the OS.

New requirements

  • Requires gstreamer-plugins-rs for gtk4paintablesink.
  • Requires gstreamer-plugins-bad for webpdec.

TODOs:

  • CI: In principle those are missing pyright stubs errors.
  • Errors are not yet displayed in the UI: We show the error in the log and open the default image viewer on error instead.
  • Tests are missing: Test images just need to be uploaded somewhere else
  • List gstreamer-plugins-bad as an optional requirement in README.md
  • Add gst-plugins-rs to Windows build
  • Decide on how to proceed with Windows mime-type detection (webp)
  • Change test image paths
  • Fix CI

Fixes #10708 (closed)

Edited by Daniel Brötzmann

Merge request reports

Loading