gstreamer-rs/examples/src/bin
Ruben Gonzalez 0b922b0e89 examples: zoom effect with compositor and navigations events
Use can change the video player zoom using the next keys:

  * +: Zoom in
  * -: Zoom out
  * Up/Down/Right/Left: Move the frame
  * r: reset the zoom

Also mouse navigation events can be used for a better UX.

Furthermore, it works with an pipeline using other video compositor
filters like glvideomixer. For instance:

  glvideomixer \
    name=mix background=1 \
    sink_0::xpos=0 sink_0::ypos=0 sink_0::zorder=0 \
    sink_0::width={WIDTH} sink_0::height={HEIGHT} \
  ! glimagesinkelement \
  gltestsrc pattern=mandelbrot name=src \
  ! video/x-raw(memory:GLMemory),framerate=30/1,width={WIDTH},height={HEIGHT},pixel-aspect-ratio=1/1 \
  ! queue \
  ! mix.sink_0

Probe was added in the sink pad to get direct navigation events w/o
transformation done by the mixer. More info about it in the PR [1].

[1] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1495

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1217>
2023-02-22 20:41:06 +01:00
..
appsink.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
appsrc.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
cairo_compositor.rs Update various object construction functions to more efficient approaches 2023-01-22 09:48:51 +02:00
custom_events.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
custom_meta.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
d3d11videosink.rs examples: d3d11videosink: Update for windows crate v0.44 2023-01-23 03:01:17 +09:00
debug_ringbuffer.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
decodebin.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
discoverer.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
encodebin.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
events.rs fix-getters-{def,calls} pass 2021-04-13 17:54:40 +02:00
fd_allocator.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
futures.rs Group and merge imports in all manual code 2023-01-04 13:25:17 +02:00
ges.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
glfilter.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
glib-futures.rs Group and merge imports in all manual code 2023-01-04 13:25:17 +02:00
glwindow.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
gtksink.rs Return exit code from gio::Application::run() from main() 2023-01-27 19:02:03 +02:00
gtkvideooverlay.rs Return exit code from gio::Application::run() from main() 2023-01-27 19:02:03 +02:00
iterator.rs elementfactory: Change make() / create() to builders and keep the old variants as create_with_name() / make_with_name() 2022-10-19 17:48:39 +03:00
launch.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
launch_glib_main.rs Group and merge imports in all manual code 2023-01-04 13:25:17 +02:00
overlay-composition.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
pad_probes.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
pango-cairo.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
play.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
playbin.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
player.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
queries.rs Group and merge imports in all manual code 2023-01-04 13:25:17 +02:00
rtpfecclient.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
rtpfecserver.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
rtsp-server-record.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
rtsp-server-subclass.rs Use glib::Object::new() instead of new_default() 2023-01-31 12:05:53 +02:00
rtsp-server.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
subclass.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
tagsetter.rs gstreamer: Rename TagSetter::add() to TagSetter::add_tag() to not conflict with Bin::add() 2023-02-04 16:44:40 +02:00
thumbnail.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
toc.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
transmux.rs Fix various new clippy warnings 2023-01-25 10:18:33 +02:00
video_converter.rs manual changes post ObjectExt improvements 2021-11-08 14:42:59 +01:00
zoom.rs examples: zoom effect with compositor and navigations events 2023-02-22 20:41:06 +01:00