# fakeaudiosink

This element is the same as fakesink but will pretend to act as an audio sink supporting the `GstStreamVolume` interface. This is useful for throughput testing while creating a new pipeline or for CI purposes on machines not running a real audio daemon.

## Example launch lines

     gst-launch-1.0 audiotestsrc ! fakeaudiosink

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBin
                        ╰──fakeaudiosink

## Implemented interfaces

    GstChildProxy
    GstStreamVolume

## Factory details

Authors: – Philippe Normand <philn@igalia.com></philn@igalia.com>

Classification: – `Audio/Sink`

Rank – none

Plugin – debugutilsbad

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    audio/x-raw:
             format: { F64LE, F64BE, F32LE, F32BE, S32LE, S32BE, U32LE, U32BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S24LE, S24BE, U24LE, U24BE, S20_32LE, S20_32BE, U20_32LE, U20_32BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, S16LE, S16BE, U16LE, U16BE, S8, U8 }
               rate: [ 1, 2147483647 ]
           channels: [ 1, 2147483647 ]

Presence – always

Direction – sink

Object type – GstPad

## Signals

### handoff

    handoff_callback (GstElement * fakeaudiosink,
                      GstBuffer * buffer,
                      GstPad * pad,
                      gpointer udata)

    def handoff_callback (fakeaudiosink, buffer, pad, udata):
        #python callback for the 'handoff' signal

    function handoff_callback(fakeaudiosink: GstElement * fakeaudiosink, buffer: GstBuffer * buffer, pad: GstPad * pad, udata: gpointer udata): {
        // javascript callback for the 'handoff' signal
    }

This signal gets emitted before unreffing the buffer.

Parameters:

`fakeaudiosink` –

the fakeaudiosink instance

`buffer` –

the buffer that just has been received

`pad` –

the pad that received it

`udata` –
No description available

Flags: Run Last

Since : 1.22

### preroll-handoff

    preroll_handoff_callback (GstElement * fakeaudiosink,
                              GstBuffer * buffer,
                              GstPad * pad,
                              gpointer udata)

    def preroll_handoff_callback (fakeaudiosink, buffer, pad, udata):
        #python callback for the 'preroll-handoff' signal

    function preroll_handoff_callback(fakeaudiosink: GstElement * fakeaudiosink, 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:

`fakeaudiosink` –

the fakeaudiosink instance

`buffer` –

the buffer that just has been received

`pad` –

the pad that received it

`udata` –
No description available

Flags: Run Last

Since : 1.22

## Properties

### 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 : 18446744073709551615

### mute

    “mute” gboolean

Control the mute state

Flags : Read / Write

Default value : false

Since : 1.20

### 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 : 20000000

### 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-audio-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;

### 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

### volume

    “volume” gdouble

Control the audio volume

Flags : Read / Write

Default value : 1

Since : 1.20

## Named constants

### Fake-audio-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