fakesrc

fakesrc — Push empty (no data) buffers around

Synopsis

                    GstFakeSrc;
enum                GstFakeSrcDataType;
enum                GstFakeSrcFillType;
enum                GstFakeSrcOutputType;
enum                GstFakeSrcSizeType;

Object Hierarchy

  GObject
   +----GstObject
         +----GstElement
               +----GstBaseSrc
                     +----GstFakeSrc

Properties

  "can-activate-pull"        gboolean              : Read / Write / Construct
  "can-activate-push"        gboolean              : Read / Write / Construct
  "data"                     GstFakeSrcDataType    : Read / Write
  "datarate"                 gint                  : Read / Write
  "dump"                     gboolean              : Read / Write
  "filltype"                 GstFakeSrcFillType    : Read / Write
  "is-live"                  gboolean              : Read / Write / Construct
  "last-message"             gchar*                : Read
  "parentsize"               gint                  : Read / Write
  "pattern"                  gchar*                : Read / Write
  "signal-handoffs"          gboolean              : Read / Write
  "silent"                   gboolean              : Read / Write
  "sizemax"                  gint                  : Read / Write
  "sizemin"                  gint                  : Read / Write
  "sizetype"                 GstFakeSrcSizeType    : Read / Write
  "sync"                     gboolean              : Read / Write
  "format"                   GstFormat             : Read / Write

Signals

  "handoff"                                        : Run Last

Description

The fakesrc element is a multipurpose element that can generate a wide range of buffers and can operate in various scheduling modes.

It is mostly used as a testing element, one trivial example for testing basic GStreamer core functionality is:

Example launch line

gst-launch -v fakesrc num-buffers=5 ! fakesink
This pipeline will push 5 empty buffers to the fakesink element and then sends an EOS.

Last reviewed on 2008-06-20 (0.10.21)

Synopsis

Element Information

plugin coreelements
author Erik Walthinsen <[email protected]>, Wim Taymans <[email protected]>
class Source

Element Pads

name src
direction source
presence always
details ANY

Details

GstFakeSrc

typedef struct _GstFakeSrc GstFakeSrc;

Opaque GstFakeSrc data structure.


enum GstFakeSrcDataType

typedef enum {
  FAKE_SRC_DATA_ALLOCATE = 1,
  FAKE_SRC_DATA_SUBBUFFER
} GstFakeSrcDataType;

The different ways buffers are allocated.

FAKE_SRC_DATA_ALLOCATE allocate buffers
FAKE_SRC_DATA_SUBBUFFER subbuffer each buffer

enum GstFakeSrcFillType

typedef enum {
  FAKE_SRC_FILLTYPE_NOTHING = 1,
  FAKE_SRC_FILLTYPE_ZERO,
  FAKE_SRC_FILLTYPE_RANDOM,
  FAKE_SRC_FILLTYPE_PATTERN,
  FAKE_SRC_FILLTYPE_PATTERN_CONT
} GstFakeSrcFillType;

The different ways of filling the buffers.

FAKE_SRC_FILLTYPE_NOTHING do not fill buffers
FAKE_SRC_FILLTYPE_ZERO fill buffers with 0
FAKE_SRC_FILLTYPE_RANDOM fill buffers with random bytes
FAKE_SRC_FILLTYPE_PATTERN fill buffers with a pattern
FAKE_SRC_FILLTYPE_PATTERN_CONT fill buffers with a continuous pattern

enum GstFakeSrcOutputType

typedef enum {
  FAKE_SRC_FIRST_LAST_LOOP = 1,
  FAKE_SRC_LAST_FIRST_LOOP,
  FAKE_SRC_PING_PONG,
  FAKE_SRC_ORDERED_RANDOM,
  FAKE_SRC_RANDOM,
  FAKE_SRC_PATTERN_LOOP,
  FAKE_SRC_PING_PONG_PATTERN,
  FAKE_SRC_GET_ALWAYS_SUCEEDS
} GstFakeSrcOutputType;

The different output types. Unused currently.

FAKE_SRC_FIRST_LAST_LOOP first pad then last pad
FAKE_SRC_LAST_FIRST_LOOP last pad then first pad
FAKE_SRC_PING_PONG ping pong between pads
FAKE_SRC_ORDERED_RANDOM ordered random pad
FAKE_SRC_RANDOM random pad
FAKE_SRC_PATTERN_LOOP loop between pads in a particular pattern
FAKE_SRC_PING_PONG_PATTERN ping pong based on a pattern
FAKE_SRC_GET_ALWAYS_SUCEEDS a get always succeeds on a pad

enum GstFakeSrcSizeType

typedef enum {
  FAKE_SRC_SIZETYPE_EMPTY = 1,
  FAKE_SRC_SIZETYPE_FIXED,
  FAKE_SRC_SIZETYPE_RANDOM
} GstFakeSrcSizeType;

The different size of the allocated buffers.

FAKE_SRC_SIZETYPE_EMPTY create empty buffers
FAKE_SRC_SIZETYPE_FIXED fixed buffer size (sizemax sized)
FAKE_SRC_SIZETYPE_RANDOM random buffer size (sizemin <= size <= sizemax)

Property Details

The "can-activate-pull" property

  "can-activate-pull"        gboolean              : Read / Write / Construct

Can activate in pull mode.

Default value: TRUE


The "can-activate-push" property

  "can-activate-push"        gboolean              : Read / Write / Construct

Can activate in push mode.

Default value: TRUE


The "data" property

  "data"                     GstFakeSrcDataType    : Read / Write

Data allocation method.

Default value: Allocate data


The "datarate" property

  "datarate"                 gint                  : Read / Write

Timestamps buffers with number of bytes per second (0 = none).

Allowed values: >= 0

Default value: 0


The "dump" property

  "dump"                     gboolean              : Read / Write

Dump buffer contents to stdout.

Default value: FALSE


The "filltype" property

  "filltype"                 GstFakeSrcFillType    : Read / Write

How to fill the buffer, if at all.

Default value: Fill buffers with zeros


The "is-live" property

  "is-live"                  gboolean              : Read / Write / Construct

True if the element cannot produce data in PAUSED.

Default value: FALSE


The "last-message" property

  "last-message"             gchar*                : Read

The last status message.

Default value: NULL


The "parentsize" property

  "parentsize"               gint                  : Read / Write

Size of parent buffer for sub-buffered allocation.

Allowed values: >= 0

Default value: 40960


The "pattern" property

  "pattern"                  gchar*                : Read / Write

pattern.

Default value: NULL


The "signal-handoffs" property

  "signal-handoffs"          gboolean              : Read / Write

Send a signal before pushing the buffer.

Default value: FALSE


The "silent" property

  "silent"                   gboolean              : Read / Write

Don't produce last_message events.

Default value: FALSE


The "sizemax" property

  "sizemax"                  gint                  : Read / Write

Maximum buffer size.

Allowed values: >= 0

Default value: 4096


The "sizemin" property

  "sizemin"                  gint                  : Read / Write

Minimum buffer size.

Allowed values: >= 0

Default value: 0


The "sizetype" property

  "sizetype"                 GstFakeSrcSizeType    : Read / Write

How to determine buffer sizes.

Default value: Send empty buffers


The "sync" property

  "sync"                     gboolean              : Read / Write

Sync to the clock to the datarate.

Default value: FALSE


The "format" property

  "format"                   GstFormat             : Read / Write

Set the format of the newsegment events to produce.

Default value: GST_FORMAT_BYTES

Since 0.10.20

Signal Details

The "handoff" signal

void                user_function                      (GstFakeSrc *fakesrc,
                                                        GstBuffer  *buffer,
                                                        GstPad     *pad,
                                                        gpointer    user_data)      : Run Last

This signal gets emitted before sending the buffer.

fakesrc : the fakesrc instance
buffer : the buffer that will be pushed
pad : the pad that will sent it
user_data : user data set when the signal handler was connected.

See Also

GstFakeSink