gst-plugins-rs/utils/togglerecord
Vivia Nikolaidou 9d7af671c5 togglerecord: Clip segment before calculating timestamp/duration
Clipping happens in buffer time space and data.clip can modify the
buffer timestamp and duration. Move it before we calculate them in order
to make it actually have some effect.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1265>
2023-07-04 09:07:36 +00:00
..
examples Make sure to keep around and drop bus watches after usage in all the examples 2023-04-14 12:46:43 +03:00
src togglerecord: Clip segment before calculating timestamp/duration 2023-07-04 09:07:36 +00:00
tests togglerecord: Change test_two_stream_close_open_nonlivein_liveout timeout to 60ms 2023-06-26 12:33:31 +00:00
build.rs fix-getters-calls 0.3.0 pass 2021-04-20 18:19:58 +02:00
Cargo.toml togglerecord: Add support for non-live inputs 2023-06-14 15:58:04 +03: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