GstInterpipe - GstInterpipes Elements Detailed Description

From RidgeRun Developer Wiki



Previous: Developers Guide Index Next: Examples




This page contains a detailed description of the GstInterpipes elements.

Interpipesink

The "gst-inspect-1.0 interpipesink" output is as follows:

Factory Details:
  Rank                     none (0)
  Long-name                Internal pipeline sink
  Klass                    Generic/Sink
  Description              Sink for internal pipeline buffers communication
  Author                   Michael Grüner <michael.gruner@ridgerun.com>

Plugin Details:
  Name                     interpipe
  Description              Elements to communicate buffers across pipelines
  Filename                 /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstinterpipe.so
  Version                  1.1.3
  License                  LGPL
  Source module            gst-interpipe
  Binary package           GstInterpipe
  Origin URL               http://www.ridgerun.com

GObject
 +----GInitiallyUnowned
       +----GstObject
             +----GstElement
                   +----GstBaseSink
                         +----GstAppSink
                               +----GstInterPipeSink

Implemented Interfaces:
  GstURIHandler
  GstInterPipeINode

Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      ANY


Element Flags:
  no flags set

Element Implementation:
  Has change_state() function: gst_base_sink_change_state

Element has no clocking capabilities.

URI handling capabilities:
  Element can act as sink.
  Supported URI protocols:
    appsink

Pads:
  SINK: 'sink'
    Pad Template: 'sink'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: "interpipesink0"
  parent              : The parent of the object
                        flags: readable, writable
                        Object of type "GstObject"
  sync                : Sync on the clock
                        flags: readable, writable
                        Boolean. Default: false
  max-lateness        : Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)
                        flags: readable, writable
                        Integer64. Range: -1 - 9223372036854775807 Default: -1 
  qos                 : Generate Quality-of-Service events upstream
                        flags: readable, writable
                        Boolean. Default: false
  async               : Go asynchronously to PAUSED
                        flags: readable, writable
                        Boolean. Default: true
  ts-offset           : Timestamp offset in nanoseconds
                        flags: readable, writable
                        Integer64. Range: -9223372036854775808 - 9223372036854775807 Default: 0 
  enable-last-sample  : Enable the last-sample property
                        flags: readable, writable
                        Boolean. Default: true
  last-sample         : The last sample received in the sink
                        flags: readable
                        Boxed pointer of type "GstSample"
  blocksize           : Size in bytes to pull per buffer (0 = default)
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 4294967295 Default: 4096 
  render-delay        : Additional render delay of the sink in nanoseconds
                        flags: readable, writable
                        Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0 
  throttle-time       : The time to keep between rendered buffers (0 = disabled)
                        flags: readable, writable
                        Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0 
  max-bitrate         : The maximum bits per second to render (0 = disabled)
                        flags: readable, writable
                        Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0 
  caps                : The allowed caps for the sink pad
                        flags: readable, writable
                        Caps (NULL)
  eos                 : Check if the sink is EOS or not started
                        flags: readable
                        Boolean. Default: true
  emit-signals        : Emit new-preroll and new-sample signals
                        flags: readable, writable
                        Boolean. Default: false
  max-buffers         : The maximum number of buffers to queue internally (0 = unlimited)
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 4294967295 Default: 3 
  drop                : Drop old buffers when the buffer queue is filled
                        flags: readable, writable
                        Boolean. Default: true
  wait-on-eos         : Wait for all buffers to be processed after receiving an EOS
                        flags: readable, writable
                        Boolean. Default: true
  forward-eos         : Forward the EOS event to all the listeners
                        flags: writable
                        Boolean. Default: false Write only
  forward-events      : Forward downstream events to all the listeners (except for EOS)
                        flags: writable
                        Boolean. Default: false Write only
  num-listeners       : Number of interpipe sources listening to this specific sink
                        flags: readable
                        Unsigned Integer. Range: 0 - 4294967295 Default: 0 

Element Signals:
  "eos" :  void user_function (GstElement* object,
                               gpointer user_data);
  "new-preroll" :  GstFlowReturn user_function (GstElement* object,
                                                gpointer user_data);
  "new-sample" :  GstFlowReturn user_function (GstElement* object,
                                               gpointer user_data);

Element Actions:
  "pull-preroll" :  GstSample * user_function (GstElement* object);
  "pull-sample" :  GstSample * user_function (GstElement* object);

Interpipesrc

The "gst-inspect-1.0 interpipesrc" output is as follows:

Factory Details:
  Rank                     none (0)
  Long-name                Inter pipeline source
  Klass                    Generic/Source
  Description              Source for internal pipeline buffers communication
  Author                   Michael Grüner <michael.gruner@ridgerun.com>

Plugin Details:
  Name                     interpipe
  Description              Elements to communicate buffers across pipelines
  Filename                 /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstinterpipe.so
  Version                  1.1.3
  License                  LGPL
  Source module            gst-interpipe
  Binary package           GstInterpipe
  Origin URL               http://www.ridgerun.com

GObject
 +----GInitiallyUnowned
       +----GstObject
             +----GstElement
                   +----GstBaseSrc
                         +----GstAppSrc
                               +----GstInterPipeSrc

Implemented Interfaces:
  GstURIHandler
  GstInterPipeIListener

Pad Templates:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      ANY


Element Flags:
  no flags set

Element Implementation:
  Has change_state() function: gst_base_src_change_state

Element has no clocking capabilities.

URI handling capabilities:
  Element can act as source.
  Supported URI protocols:
    appsrc

Pads:
  SRC: 'src'
    Pad Template: 'src'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: "interpipesrc0"
  parent              : The parent of the object
                        flags: readable, writable
                        Object of type "GstObject"
  blocksize           : Size in bytes to read per buffer (-1 = default)
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 4294967295 Default: 4096 
  num-buffers         : Number of buffers to output before sending EOS (-1 = unlimited)
                        flags: readable, writable
                        Integer. Range: -1 - 2147483647 Default: -1 
  typefind            : Run typefind before negotiating
                        flags: readable, writable
                        Boolean. Default: false
  do-timestamp        : Apply current stream time to buffers
                        flags: readable, writable
                        Boolean. Default: false
  caps                : The allowed caps for the src pad
                        flags: readable, writable
                        Caps (NULL)
  size                : The size of the data stream in bytes (-1 if unknown)
                        flags: readable, writable
                        Integer64. Range: -1 - 9223372036854775807 Default: -1 
  stream-type         : the type of the stream
                        flags: readable, writable
                        Enum "GstAppStreamType" Default: 0, "stream"
                           (0): stream           - GST_APP_STREAM_TYPE_STREAM
                           (1): seekable         - GST_APP_STREAM_TYPE_SEEKABLE
                           (2): random-access    - GST_APP_STREAM_TYPE_RANDOM_ACCESS
  max-bytes           : The maximum number of bytes to queue internally (0 = unlimited)
                        flags: readable, writable
                        Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 200000 
  format              : The format of the segment events and seek
                        flags: readable, writable
                        Enum "GstFormat" Default: 2, "bytes"
                           (0): undefined        - GST_FORMAT_UNDEFINED
                           (1): default          - GST_FORMAT_DEFAULT
                           (2): bytes            - GST_FORMAT_BYTES
                           (3): time             - GST_FORMAT_TIME
                           (4): buffers          - GST_FORMAT_BUFFERS
                           (5): percent          - GST_FORMAT_PERCENT
  block               : Block push-buffer when max-bytes are queued
                        flags: readable, writable
                        Boolean. Default: false
  is-live             : Whether to act as a live source
                        flags: readable, writable
                        Boolean. Default: false
  min-latency         : The minimum latency (-1 = default)
                        flags: readable, writable
                        Integer64. Range: -1 - 9223372036854775807 Default: -1 
  max-latency         : The maximum latency (-1 = unlimited)
                        flags: readable, writable
                        Integer64. Range: -1 - 9223372036854775807 Default: -1 
  emit-signals        : Emit need-data, enough-data and seek-data signals
                        flags: readable, writable
                        Boolean. Default: false
  min-percent         : Emit need-data when queued bytes drops below this percent of max-bytes
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 100 Default: 0 
  current-level-bytes : The number of currently queued bytes
                        flags: readable
                        Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0 
  listen-to           : The name of the node to listen to.
                        flags: readable, writable
                        String. Default: null
  block-switch        : Disable the ability to swich between nodes.
                        flags: writable
                        Boolean. Default: false Write only
  allow-renegotiation : Allow the caps renegotiation with an interpipesink with different caps only if the allow-renegotiation property is set to true
                        flags: writable
                        Boolean. Default: true Write only
  stream-sync         : Define buffer synchronization between the different pipelines
                        flags: writable
                        Enum "GstInterPipeSrcStreamSync" Default: 1, "passthrough-ts"
                           (0): restart-ts       - Restart Timestamp
                           (1): passthrough-ts   - Passthrough Timestamp
                           (2): compensate-ts    - Compensate Timestamp Write only
  accept-events       : Accept the events received from the interpipesink
                        flags: writable
                        Boolean. Default: true Write only
  accept-eos-event    : Accept the EOS event received from the interpipesink only if it is set to true
                        flags: writable
                        Boolean. Default: true Write only

Element Signals:
  "need-data" :  void user_function (GstElement* object,
                                     guint arg0,
                                     gpointer user_data);
  "enough-data" :  void user_function (GstElement* object,
                                       gpointer user_data);
  "seek-data" :  gboolean user_function (GstElement* object,
                                         guint64 arg0,
                                         gpointer user_data);

Element Actions:
  "push-buffer" :  GstFlowReturn user_function (GstElement* object,
                                                GstBuffer* arg0);
  "push-sample" :  GstFlowReturn user_function (GstElement* object,
                                                GstSample* arg0);
  "end-of-stream" :  GstFlowReturn user_function (GstElement* object);


Previous: Developers Guide Index Next: Examples