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

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──togglerecord

Factory details

Authors: – Sebastian Dröge

Classification:Generic

Rank – none

Plugin – togglerecord

Package – gst-plugin-togglerecord

Pad Templates

sink

ANY

Presencealways

Directionsink

Object typeGstPad


sink_%u

ANY

Presencerequest

Directionsink

Object typeGstPad


src

ANY

Presencealways

Directionsrc

Object typeGstPad


src_%u

ANY

Presencesometimes

Directionsrc

Object typeGstPad


Properties

is-live

“is-live” gboolean

Live output mode: no "gap eating", forward incoming segment for live input, create a gap to fill the paused duration for non-live input

Flags : Read / Write

Default value : false


record

“record” gboolean

Enable/disable recording

Flags : Read / Write

Default value : false


recording

“recording” gboolean

Whether recording is currently taking place

Flags : Read

Default value : false


The results of the search are