fakesrc
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-1.0 -v fakesrc num-buffers=5 ! fakesink
This pipeline will push 5 empty buffers to the fakesink element and then sends an EOS.
Hierarchy
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstElement ╰──GstBaseSrc ╰──fakesrc
Factory details
Authors: – Erik Walthinsen
Classification: – Source
Rank – none
Plugin – gstcoreelements
Package – GStreamer
Pad Templates
Signals
handoff
handoff_callback (GstElement * fakesrc, GstBuffer * buffer, GstPad * pad, gpointer udata)
def handoff_callback (fakesrc, buffer, pad, udata):
#python callback for the 'handoff' signal
function handoff_callback(fakesrc: GstElement * fakesrc, buffer: GstBuffer * buffer, pad: GstPad * pad, udata: gpointer udata): {
// javascript callback for the 'handoff' signal
}
This signal gets emitted before sending the buffer.
Parameters:
fakesrc
–
the fakesrc instance
buffer
–
the buffer that will be pushed
pad
–
the pad that will sent it
udata
–
Flags: Run Last
Properties
blocksize
“blocksize” guint
Size in bytes to read per buffer (-1 = default)
Flags : Read / Write
Default value : 4096
can-activate-pull
“can-activate-pull” gboolean
Can activate in pull mode
Flags : Read / Write / Construct
Default value : true
can-activate-push
“can-activate-push” gboolean
Can activate in push mode
Flags : Read / Write / Construct
Default value : true
data
“data” GstFakeSrcDataType *
Data allocation method
Flags : Read / Write
Default value : allocate (1)
datarate
“datarate” gint
Timestamps buffers with number of bytes per second (0 = none)
Flags : Read / Write
Default value : 0
do-timestamp
“do-timestamp” gboolean
Apply current stream time to buffers
Flags : Read / Write
Default value : false
filltype
“filltype” GstFakeSrcFillType *
How to fill the buffer, if at all
Flags : Read / Write
Default value : nothing (1)
format
“format” GstFormat *
Set the format of the newsegment events to produce.
Flags : Read / Write
Default value : bytes (2)
is-live
“is-live” gboolean
True if the element cannot produce data in PAUSED
Flags : Read / Write / Construct
Default value : false
num-buffers
“num-buffers” gint
Number of buffers to output before sending EOS (-1 = unlimited)
Flags : Read / Write
Default value : -1
parentsize
“parentsize” gint
Size of parent buffer for sub-buffered allocation
Flags : Read / Write
Default value : 40960
signal-handoffs
“signal-handoffs” gboolean
Send a signal before pushing the buffer
Flags : Read / Write
Default value : false
silent
“silent” gboolean
Don't produce last_message events
Flags : Read / Write
Default value : true
sizetype
“sizetype” GstFakeSrcSizeType *
How to determine buffer sizes
Flags : Read / Write
Default value : empty (1)
typefind
“typefind” gboolean
Run typefind before negotiating (deprecated, non-functional)
Flags : Read / Write
Default value : false
Named constants
GstFakeSrcDataType
The different ways buffers are allocated.
Members
allocate
(1) – Allocate data
subbuffer
(2) – Subbuffer data
GstFakeSrcFillType
The different ways of filling the buffers.
Members
nothing
(1) – Leave data as malloced
zero
(2) – Fill buffers with zeros
random
(3) – Fill buffers with random data
pattern
(4) – Fill buffers with pattern 0x00 -> 0xff
pattern-span
(5) – Fill buffers with pattern 0x00 -> 0xff that spans buffers
GstFakeSrcSizeType
The different size of the allocated buffers.
Members
empty
(1) – Send empty buffers
fixed
(2) – Fixed size buffers (sizemax sized)
random
(3) – Random sized buffers (sizemin <= size <= sizemax)
The results of the search are