# dashsink

Dynamic Adaptive Streaming over HTTP sink/server

## Example launch line

     gst-launch-1.0 dashsink name=dashsink audiotestsrc is-live=true ! avenc_aac ! dashsink.audio_0 videotestsrc is-live=true ! x264enc ! dashsink.video_0

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBin
                        ╰──dashsink

## Implemented interfaces

    GstChildProxy

## Factory details

Authors: – Stéphane Cerveau <scerveau></scerveau>

Classification: – `Sink`

Rank – none

Plugin – dash

Package – GStreamer Bad Plug-ins

## Pad Templates

### `audio_%u`

    ANY

Presence – request

Direction – sink

Object type – GstPad

### `subtitle_%u`

    ANY

Presence – request

Direction – sink

Object type – GstPad

### `video_%u`

    ANY

Presence – request

Direction – sink

Object type – GstPad

## Signals

### get-fragment-stream

    GOutputStream *
    get_fragment_stream_callback (GstElement * sink,
                                  gchararray location,
                                  gpointer udata)

    def get_fragment_stream_callback (sink, location, udata):
        #python callback for the 'get-fragment-stream' signal

    function get_fragment_stream_callback(sink: GstElement * sink, location: gchararray location, udata: gpointer udata): {
        // javascript callback for the 'get-fragment-stream' signal
    }

Parameters:

`sink` –

the dashsink

`location` –

Location for the fragment file

`udata` –
No description available
Returns (GOutputStream *) –

GOutputStream for writing the fragment file.

Flags: Run Last

Since : 1.20

### get-playlist-stream

    GOutputStream *
    get_playlist_stream_callback (GstElement * sink,
                                  gchararray location,
                                  gpointer udata)

    def get_playlist_stream_callback (sink, location, udata):
        #python callback for the 'get-playlist-stream' signal

    function get_playlist_stream_callback(sink: GstElement * sink, location: gchararray location, udata: gpointer udata): {
        // javascript callback for the 'get-playlist-stream' signal
    }

Parameters:

`sink` –

the dashsink

`location` –

Location for the playlist file

`udata` –
No description available
Returns (GOutputStream *) –

GOutputStream for writing the playlist file.

Flags: Run Last

Since : 1.20

## Properties

### dynamic

    “dynamic” gboolean

Provides a dynamic mpd

Flags : Read / Write

Default value : false

### min-buffer-time

    “min-buffer-time” guint64

Provides to the manifest a minimum buffer time in milliseconds

Flags : Read / Write

Default value : 2000

### minimum-update-period

    “minimum-update-period” guint64

Provides to the manifest a minimum update period in milliseconds

Flags : Read / Write

Default value : 0

### mpd-baseurl

    “mpd-baseurl” gchararray

BaseURL to set in the MPD

Flags : Read / Write

Default value : NULL

### mpd-filename

    “mpd-filename” gchararray

filename of the mpd to write

Flags : Read / Write

Default value : dash.mpd

### mpd-root-path

    “mpd-root-path” gchararray

Path where the MPD and its fragments will be written

Flags : Read / Write

Default value : NULL

### muxer

    “muxer” Dash-sink-muxer-type *

Muxer type to be used by dashsink to generate the fragment

Flags : Read / Write

Default value : ts (0)

### period-duration

    “period-duration” guint64

Provides the explicit duration of a period in milliseconds

Flags : Read / Write

Default value : 18446744073709551615

### send-keyframe-requests

    “send-keyframe-requests” gboolean

Send keyframe requests to ensure correct fragmentation. If this is disabled then the input must have keyframes in regular intervals

Flags : Read / Write

Default value : true

### suggested-presentation-delay

    “suggested-presentation-delay” guint64

set suggested presentation delay of MPD file in milliseconds

Flags : Read / Write

Default value : 0

Since : 1.24

### target-duration

    “target-duration” guint

The target duration in seconds of a segment/file. (0 - disabled, useful for management of segment duration by the streaming server)

Flags : Read / Write

Default value : 15

### use-segment-list

    “use-segment-list” gboolean

Use segment list instead of segment template to create the segments

Flags : Read / Write

Default value : false

## Named constants

### Dash-sink-muxer-type

Muxer type

#### Members

`ts` (0) – Use mpegtsmux
`mp4` (1) – Use mp4mux (deprecated, non-functional)
`dashmp4` (2) – Use dashmp4mux

The results of the search are