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: { AYUV64, ARGB64, GBRA_12LE, GBRA_12BE, Y412_LE, Y412_BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, RGB10A2_LE, BGR10A2_LE, Y410, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16LE, Y444_16BE, 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, v210, UYVP, I420_10LE, I420_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, P010_10BE, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, NV12_4L4, NV12_32L32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]

Presencealways

Directionsink

Object typeGstPad


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


async

“async” gboolean

Go asynchronously to PAUSED

Flags : Read / Write

Default value : true


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


dump

“dump” gboolean

Dump buffer contents to stdout

Flags : Read / Write

Default value : false


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


last-sample

“last-sample” GstSample *

The last sample received in the sink

Flags : Read


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” GstFakeSinkStateError *

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;

sync

“sync” gboolean

Sync on the clock

Flags : Read / Write

Default value : true


throttle-time

“throttle-time” guint64

The time to keep between rendered buffers (0 = disabled)

Flags : Read / Write

Default value : 0


ts-offset

“ts-offset” gint64

Timestamp offset in nanoseconds

Flags : Read / Write

Default value : 0


Named constants

Fake-video-sink-allocation-meta-flags

Members

crop (0x00000001) – Expose the crop meta as supported
overlay-composition (0x00000002) – Expose the overlay composition meta as supported

Fake-sink-state-error

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

The results of the search are