fakesrc

fakesrc — Generate (meaningless) buffers

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"         gchararray            : Read
  "parentsize"           gint                  : Read / Write
  "pattern"              gchararray            : 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

Signal Prototypes


"handoff"   void        user_function      (GstFakeSrc *fakesrc,
                                            GstBuffer buffer,
                                            GstPad *pad,
                                            gpointer user_data);

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 2005-12-02 (0.9.7)

Element Information

plugin coreelements
author Erik Walthinsen <omega@cse.ogi.edu>, Wim Taymans <wim.taymans@chello.be>
class Source

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)

Properties

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 produced bytes 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"         gchararray            : 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"              gchararray            : 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

Signals

The "handoff" signal

void        user_function                  (GstFakeSrc *fakesrc,
                                            GstBuffer buffer,
                                            GstPad *pad,
                                            gpointer user_data);

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