fakevideosink
This element is the same as fakesink but will pretend to support various allocation meta API like GstVideoMeta in order to prevent memory copies. This is useful for throughput testing and testing zero-copy path while creating a new pipeline.
Example launch lines
gst-launch-1.0 videotestsrc ! fakevideosink
gst-launch-1.0 videotestsrc ! fpsdisplaysink text-overlay=false video-sink=fakevideosink
Since 1.14
Hierarchy
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstElement ╰──GstBin ╰──fakevideosink
Implemented interfaces
Factory details
Authors: – Nicolas Dufresne
Classification: – Video/Sink
Rank – none
Plugin – debugutilsbad
Package – GStreamer Bad Plug-ins
Pad Templates
sink
video/x-raw(ANY):
format: { DMA_DRM, A444_16LE, A444_16BE, Y416_LE, AYUV64, RGBA64_LE, ARGB64, ARGB64_LE, BGRA64_LE, ABGR64_LE, Y416_BE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, A422_16LE, A422_16BE, A420_16LE, A420_16BE, A444_12LE, GBRA_12LE, A444_12BE, GBRA_12BE, Y412_LE, Y412_BE, A422_12LE, A422_12BE, A420_12LE, A420_12BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, BGR10A2_LE, RGB10A2_LE, Y410, A444, GBRA, AYUV, VUYA, RGBA, RBGA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16LE, GBR_16LE, Y444_16BE, GBR_16BE, Y216_LE, Y216_BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, UYVP, v210, I420_10LE, I420_10BE, P010_10LE, NV12_10LE40, NV12_10LE32, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
Signals
handoff
handoff_callback (GstElement * fakevideosink, GstBuffer * buffer, GstPad * pad, gpointer udata)
def handoff_callback (fakevideosink, buffer, pad, udata):
#python callback for the 'handoff' signal
function handoff_callback(fakevideosink: GstElement * fakevideosink, buffer: GstBuffer * buffer, pad: GstPad * pad, udata: gpointer udata): {
// javascript callback for the 'handoff' signal
}
This signal gets emitted before unreffing the buffer.
Parameters:
fakevideosink
–
the fakevideosink instance
buffer
–
the buffer that just has been received
pad
–
the pad that received it
udata
–
Flags: Run Last
Since : 1.22
preroll-handoff
preroll_handoff_callback (GstElement * fakevideosink, GstBuffer * buffer, GstPad * pad, gpointer udata)
def preroll_handoff_callback (fakevideosink, buffer, pad, udata):
#python callback for the 'preroll-handoff' signal
function preroll_handoff_callback(fakevideosink: GstElement * fakevideosink, buffer: GstBuffer * buffer, pad: GstPad * pad, udata: gpointer udata): {
// javascript callback for the 'preroll-handoff' signal
}
This signal gets emitted before unreffing the buffer.
Parameters:
fakevideosink
–
the fakevideosink instance
buffer
–
the buffer that just has been received
pad
–
the pad that received it
udata
–
Flags: Run Last
Since : 1.22
Properties
allocation-meta-flags
“allocation-meta-flags” Fake-video-sink-allocation-meta-flags *
Control the behaviour of the sink allocation query handler.
Flags : Read / Write
Default value : overlay-composition+crop
Since : 1.18
blocksize
“blocksize” guint
Size in bytes to pull per buffer (0 = default)
Flags : Read / Write
Default value : 4096
can-activate-pull
“can-activate-pull” gboolean
Can activate in pull mode
Flags : Read / Write
Default value : false
can-activate-push
“can-activate-push” gboolean
Can activate in push mode
Flags : Read / Write
Default value : true
drop-out-of-segment
“drop-out-of-segment” gboolean
Drop and don't render / hand off out-of-segment buffers
Flags : Read / Write
Default value : true
enable-last-sample
“enable-last-sample” gboolean
Enable the last-sample property
Flags : Read / Write
Default value : true
last-message
“last-message” gchararray
The message describing current status
Flags : Read
Default value : NULL
max-bitrate
“max-bitrate” guint64
The maximum bits per second to render (0 = disabled)
Flags : Read / Write
Default value : 0
max-lateness
“max-lateness” gint64
Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)
Flags : Read / Write
Default value : 5000000
num-buffers
“num-buffers” gint
Number of buffers to accept going EOS
Flags : Read / Write
Default value : -1
processing-deadline
“processing-deadline” guint64
Maximum processing time for a buffer in nanoseconds
Flags : Read / Write
Default value : 15000000
qos
“qos” gboolean
Generate Quality-of-Service events upstream
Flags : Read / Write
Default value : true
render-delay
“render-delay” guint64
Additional render delay of the sink in nanoseconds
Flags : Read / Write
Default value : 0
signal-handoffs
“signal-handoffs” gboolean
Send a signal before unreffing the buffer
Flags : Read / Write
Default value : false
silent
“silent” gboolean
Don't produce last_message events
Flags : Read / Write
Default value : true
state-error
“state-error” Fake-video-sink-state-error *
Generate a state change error
Flags : Read / Write
Default value : none (0)
stats
“stats” GstStructure *
Sink Statistics
Flags : Read
Default value :
application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;
throttle-time
“throttle-time” guint64
The time to keep between rendered buffers (0 = disabled)
Flags : Read / Write
Default value : 0
Named constants
Fake-video-sink-allocation-meta-flags
Extra flags to configure the behaviour of the sink.
Members
crop
(0x00000001) – Expose the crop meta as supported
overlay-composition
(0x00000002) – Expose the overlay composition meta as supported
Since : 1.18
Fake-video-sink-state-error
Proxy for GstFakeSinkError.
Members
none
(0) – No state change errors
null-to-ready
(1) – Fail state change from NULL to READY
ready-to-paused
(2) – Fail state change from READY to PAUSED
paused-to-playing
(3) – Fail state change from PAUSED to PLAYING
playing-to-paused
(4) – Fail state change from PLAYING to PAUSED
paused-to-ready
(5) – Fail state change from PAUSED to READY
ready-to-null
(6) – Fail state change from READY to NULL
Since : 1.22
The results of the search are