# playsink

Convenience sink for multiple streams

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBin
                        ╰──playsink

## Implemented interfaces

    GstChildProxy
    GstStreamVolume
    GstVideoOverlay
    GstNavigation
    GstColorBalance

## Factory details

Authors: – Wim Taymans

Classification: – `Generic/Bin/Sink`

Rank – none

Plugin – playback

Package – GStreamer Base Plug-ins

## Pad Templates

### `audio_raw_sink`

    ANY

Presence – request

Direction – sink

Object type – GstPad

### `audio_sink`

    ANY

Presence – request

Direction – sink

Object type – GstPad

### `text_sink`

    ANY

Presence – request

Direction – sink

Object type – GstPad

### `video_raw_sink`

    ANY

Presence – request

Direction – sink

Object type – GstPad

### `video_sink`

    ANY

Presence – request

Direction – sink

Object type – GstPad

## Action Signals

### convert-sample

    g_signal_emit_by_name (playsink, "convert-sample", caps, &ret);

    ret = playsink.emit ("convert-sample", caps)

    let ret = playsink.emit ("convert-sample", caps);

Action signal to retrieve the currently playing video sample in the format specified by caps. If caps is NULL, no conversion will be performed and this function is equivalent to the sample property.

Parameters:

`playsink` (GstElement *) –

a playsink

`caps` (GstCaps *) –

the target format of the sample

Returns (GstSample *) –

a GstSample of the current video sample converted to caps. The caps in the sample will describe the final layout of the buffer data. NULL is returned when no current sample can be retrieved or when the conversion failed.

Flags: Run Last / Action

### reconfigure

    g_signal_emit_by_name (param_0, "reconfigure", &ret);

    ret = param_0.emit ("reconfigure")

    let ret = param_0.emit ("reconfigure");

Parameters:

`param_0` (GstElement *) –
No description available
Returns (gboolean) –
No description available

Flags: Run Last / Action

## Properties

### audio-filter

    “audio-filter” GstElement *

Set the audio filter element/bin to use. Will apply on a best-effort basis unless GST_PLAY_FLAG_FORCE_FILTERS is set. playsink must be in GST_STATE_NULL

Flags : Read / Write

### audio-sink

    “audio-sink” GstElement *

Set the used audio sink element. NULL will use the default sink. playsink must be in GST_STATE_NULL

Flags : Read / Write

### av-offset

    “av-offset” gint64

Control the synchronisation offset between the audio and video streams. Positive values make the audio ahead of the video and negative values make the audio go behind the video.

Flags : Read / Write

Default value : 0

### flags

    “flags” GstPlayFlags *

Control the behaviour of playsink.

Flags : Read / Write

Default value : soft-colorbalance+soft-volume+text+audio+video

### force-aspect-ratio

    “force-aspect-ratio” gboolean

When enabled, scaling will respect original aspect ratio

Flags : Read / Write

Default value : true

### mute

    “mute” gboolean

Mute the audio channel without changing the volume

Flags : Read / Write

Default value : false

### sample

    “sample” GstSample *

Get the currently rendered or prerolled sample in the video sink. The GstCaps in the sample will describe the format of the buffer.

Flags : Read

### send-event-mode

    “send-event-mode” Play-sink-send-event-mode *

How to send events received in send_event function

Flags : Read / Write

Default value : default (0)

### subtitle-encoding

    “subtitle-encoding” gchararray

Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.

Flags : Read / Write

Default value : NULL

### subtitle-font-desc

    “subtitle-font-desc” gchararray

Pango font description of font to be used for subtitle rendering

Flags : Read / Write

Default value : NULL

### text-offset

    “text-offset” gint64

Control the synchronisation offset between the text and video streams. Positive values make the text ahead of the video and negative values make the text go behind the video.

Flags : Read / Write

Default value : 0

### text-sink

    “text-sink” GstElement *

Set the used text sink element. NULL will use the default sink. playsink must be in GST_STATE_NULL

Flags : Read / Write

### video-filter

    “video-filter” GstElement *

Set the video filter element/bin to use. Will apply on a best-effort basis unless GST_PLAY_FLAG_FORCE_FILTERS is set. playsink must be in GST_STATE_NULL

Flags : Read / Write

### video-sink

    “video-sink” GstElement *

Set the used video sink element. NULL will use the default sink. playsink must be in GST_STATE_NULL

Flags : Read / Write

### vis-plugin

    “vis-plugin” GstElement *

the visualization element to use (NULL = default)

Flags : Read / Write

### volume

    “volume” gdouble

Get or set the current audio stream volume. 1.0 means 100%, 0.0 means mute. This uses a linear volume scale.

Flags : Read / Write

Default value : 1

## Named constants

### GstPlayFlags

Extra flags to configure the behaviour of the sinks.

#### Members

`video` (0x00000001) – Render the video stream
`audio` (0x00000002) – Render the audio stream
`text` (0x00000004) – Render subtitles
`vis` (0x00000008) – Render visualisation when no video is present
`soft-volume` (0x00000010) – Use software volume
`native-audio` (0x00000020) – Only use native audio formats
`native-video` (0x00000040) – Only use native video formats
`download` (0x00000080) – Attempt progressive download buffering
`buffering` (0x00000100) – Buffer demuxed/parsed data
`deinterlace` (0x00000200) – Deinterlace video if necessary
`soft-colorbalance` (0x00000400) – Use software color balance
`force-filters` (0x00000800) – Force audio/video filter(s) to be applied
`force-sw-decoders` (0x00001000) – Force only software-based decoders (no effect for playbin3)

### Play-sink-send-event-mode

Send event handling to use

#### Members

`default` (0) – Default GstBin's send_event handling (default)
`first` (1) – Sends the event to sinks until the first one handles it

The results of the search are