gst-plugins-rs/utils/togglerecord
2024-04-08 15:15:26 +03:00
..
examples Use let-else instead of match for weak reference upgrades 2023-10-30 11:34:35 +02:00
src Fix clippy warnings after upgrade to Rust 1.77 2024-04-08 15:15:26 +03:00
tests togglerecord: disable racy test_two_stream_close_open_nonlivein_liveout test 2024-03-20 16:24:55 +01:00
build.rs fix-getters-calls 0.3.0 pass 2021-04-20 18:19:58 +02:00
Cargo.toml Update dependency versions for gtk-rs-core / gtk4-rs / gstreamer-rs and local crates 2024-02-08 19:40:08 +02:00
LICENSE-MPL-2.0 git: replace LICENSE file symlinks with copies 2023-04-04 14:26:37 +01:00
README.md togglerecord: Add support for non-live inputs 2023-06-14 15:58:04 +03:00

togglerecord

A multistream valve-like plugin that ensures multiple streams start/end at the same time.

It supports both live and non-live input and toggles recording via the record property. Live inputs will be dropped when not recording, while non-live inputs will be blocked.

Use cases

The is-live property refers to whether the output of the element will be live. So, based on whether the input is live and on whether the output is-live, we have these four behaviours:

  • Live input + is-live=false:

    • While not recording, drop input
    • When recording is started, offset to collapse the gap
  • Live input + is-live=true:

    • While not recording, drop input
    • Don't modify the offset
  • Non-live input + is-live=false:

    • While not recording, block input
    • Don't modify the offset
  • Non-live input + is-live=true:

    • While not recording, block input
    • When recording is started, offset to current running time