splitmuxsrc

This element reads a set of input files created by the splitmuxsink element containing contiguous elementary streams split across multiple files.

This element is similar to splitfilesrc, except that it recombines the streams in each file part at the demuxed elementary level, rather than as a single larger bytestream.

Example pipelines

 gst-launch-1.0 splitmuxsrc location=video*.mov ! decodebin ! xvimagesink

Demux each file part and output the video stream as one continuous stream

 gst-launch-1.0 playbin uri="splitmux://path/to/foo.mp4.*"

Play back a set of files created by splitmuxsink

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstBin
                    ╰──splitmuxsrc

Implemented interfaces

Factory details

Authors: – Jan Schmidt

Classification:Generic/Bin/Demuxer

Rank – none

Plugin – multifile

Package – GStreamer Good Plug-ins

Pad Templates

audio_%u

ANY

Presencesometimes

Directionsrc

Object typeGstPad


subtitle_%u

ANY

Presencesometimes

Directionsrc

Object typeGstPad


video

ANY

Presencesometimes

Directionsrc

Object typeGstPad


video_%u

ANY

Presencesometimes

Directionsrc

Object typeGstPad


Signals

format-location

GStrv *
format_location_callback (GstElement * param_0,
                          gpointer udata)
def format_location_callback (param_0, udata):
    #python callback for the 'format-location' signal
function format_location_callback(param_0: GstElement * param_0, udata: gpointer udata): {
    // javascript callback for the 'format-location' signal
}

Parameters:

param_0
No description available
udata
No description available
Returns (GStrv *)
No description available

Flags: Run Last


Action Signals

add-fragment

g_signal_emit_by_name (splitmux, "add-fragment", filename, offset, duration, &ret);
ret = splitmux.emit ("add-fragment", filename, offset, duration)
let ret = splitmux.emit ("add-fragment", filename, offset, duration);

Add a file fragment to the set of parts. If the offset and duration are provided, the file will be placed in the set immediately without loading the file to measure it.

At least one fragment must be ready and available before starting splitmuxsrc, either via this signal or via the location property or format-location signal.

Parameters:

splitmux (GstElement *)

the splitmuxsrc

filename (gchararray)

The fragment filename to add

offset (guint64)

Playback offset for the fragment (can be GST_CLOCK_TIME_NONE)

duration (guint64)

Fragment nominal duration (can be GST_CLOCK_TIME_NONE)

Returns (gboolean)

A boolean. TRUE if the fragment was successfully appended. FALSE on failure.

Flags: Run Last / Action

Since : 1.26


Properties

location

“location” gchararray

File glob pattern for the input file fragments. Files that match the glob will be sorted and added to the set of fragments to play.

This property is ignored if files are provided via the format-location signal, or add-fragment signal

Flags : Read / Write

Default value : NULL


num-lookahead

“num-lookahead” guint

During playback, prepare / open the next N fragments in advance of the playback position.

When used in conjunction with a num-open-fragments limit, that closes fragments that haven't been used recently, lookahead can re-prepare a fragment before it is used, by opening the file and reading file headers and creating internal pads early.

This can help when reading off very slow media by avoiding any data stall at fragment transitions.

Flags : Read / Write

Default value : 1

Since : 1.26


num-open-fragments

“num-open-fragments” guint

Upper target for the number of files the splitmuxsrc will try to keep open simultaneously. This limits the number of file handles and threads that will be active.

If num-open-fragments is quite small, a few more files might be open than requested, because of the way splitmuxsrc operates internally.

Flags : Read / Write

Default value : 100

Since : 1.26


The results of the search are