# multifilesrc

Reads buffers from sequentially named files. If used together with an image decoder, one needs to use the GstMultiFileSrc:caps property or a capsfilter to force to caps containing a framerate. Otherwise image decoders send EOS after the first picture. We also need a videorate element to set timestamps on all buffers after the first one in accordance with the framerate.

File names are created by replacing "%d" with the index using `printf()`.

## Example launch line

     gst-launch-1.0 multifilesrc location="img.%04d.png" index=0 caps="image/png,framerate=\(fraction\)12/1" ! \
         pngdec ! videoconvert ! videorate ! theoraenc ! oggmux ! \
         filesink location="images.ogg"

This pipeline creates a video file "images.ogg" by joining multiple PNG files named img.0000.png, img.0001.png, etc.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseSrc
                        ╰──GstPushSrc
                            ╰──multifilesrc

## Implemented interfaces

    GstURIHandler

## Factory details

Authors: – David Schleef

Classification: – `Source/File`

Rank – none

Plugin – multifile

Package – GStreamer Good Plug-ins

## Pad Templates

### `src`

    ANY

Presence – always

Direction – src

Object type – GstPad

## Properties

### caps

    “caps” GstCaps *

Caps describing the format of the data.

Flags : Read / Write

### index

    “index” gint

Index to use with location property to create file names. The index is incremented by one for each buffer read.

Flags : Read / Write

Default value : 0

### location

    “location” gchararray

Pattern to create file names of input files. File names are created by calling sprintf with the pattern and the current index.

Flags : Read / Write

Default value : %%05d

### loop

    “loop” gboolean

Whether to repeat from the beginning when all files have been read.

Flags : Read / Write

Default value : false

### start-index

    “start-index” gint

Start value of index. The initial value of index can be set either by setting index or start-index. When the end of the loop is reached, the index will be set to the value start-index.

Flags : Read / Write

Default value : 0

### stop-index

    “stop-index” gint

Stop value of index. The special value -1 means no stop.

Flags : Read / Write

Default value : -1

The results of the search are