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
Classification: – Codec/Demuxer
Rank – primary
Plugin – gstmultipart
Package – GStreamer Good Plug-ins
Pad Templates
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
–
udata
–
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
–
arg0
–
udata
–
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
–
arg0
–
udata
–
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