multipartdemux

MultipartDemux uses the Content-type field of incoming buffers to demux and push data to dynamic source pads. Most of the time multipart streams are sequential JPEG frames generated from a live source such as a network source or a camera.

The output buffers of the multipartdemux typically have no timestamps and are usually played as fast as possible (at the rate that the source provides the data).

the content in multipart files is separated with a boundary string that can be configured specifically with the boundary property otherwise it will be autodetected.

Sample pipelines

 gst-launch-1.0 filesrc location=/tmp/test.multipart ! multipartdemux ! image/jpeg,framerate=\(fraction\)5/1 ! jpegparse ! jpegdec ! videoconvert ! autovideosink

a simple pipeline to demux a multipart file muxed with multipartmux containing JPEG frames.

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──multipartdemux

Factory details

Authors: – Wim Taymans , Sjoerd Simons

Classification:Codec/Demuxer

Rank – primary

Plugin – gstmultipart

Package – GStreamer Good Plug-ins

Pad Templates

sink

multipart/x-mixed-replace:

Presencealways

Directionsink

Object typeGstPad


src_%u

ANY

Presencesometimes

Directionsrc

Object typeGstPad


Signals

no-more-pads

no_more_pads_callback (GstElement * param_0,
                       gpointer udata)
def no_more_pads_callback (param_0, udata):
    #python callback for the 'no-more-pads' signal
function no_more_pads_callback(param_0: GstElement * param_0, udata: gpointer udata): {
    // javascript callback for the 'no-more-pads' signal
}

Parameters:

param_0
No description available
udata
No description available

Flags: Run Last


pad-added

pad_added_callback (GstElement * param_0,
                    GstPad * arg0,
                    gpointer udata)
def pad_added_callback (param_0, arg0, udata):
    #python callback for the 'pad-added' signal
function pad_added_callback(param_0: GstElement * param_0, arg0: GstPad * arg0, udata: gpointer udata): {
    // javascript callback for the 'pad-added' signal
}

Parameters:

param_0
No description available
arg0
No description available
udata
No description available

Flags: Run Last


pad-removed

pad_removed_callback (GstElement * param_0,
                      GstPad * arg0,
                      gpointer udata)
def pad_removed_callback (param_0, arg0, udata):
    #python callback for the 'pad-removed' signal
function pad_removed_callback(param_0: GstElement * param_0, arg0: GstPad * arg0, udata: gpointer udata): {
    // javascript callback for the 'pad-removed' signal
}

Parameters:

param_0
No description available
arg0
No description available
udata
No description available

Flags: Run Last


Properties

boundary

“boundary” gchararray

The boundary string separating data, automatic if NULL

Flags : Read / Write / Construct

Default value : NULL


single-stream

“single-stream” gboolean

Assume that there is only one stream whose content-type will not change and emit no-more-pads as soon as the first boundary content is parsed, decoded, and pads are linked.

Flags : Read / Write

Default value : false


The results of the search are