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 <omega@cse.ogi.edu>, Wim Taymans <wim@fluendo.com>

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