# pushfilesrc

This element is only useful for debugging purposes. It implements an URI protocol handler for the 'pushfile' protocol and behaves like a file source element that cannot be activated in pull-mode. This makes it very easy to debug demuxers or decoders that can operate both pull and push-based in connection with the playbin element (which creates a source based on the URI passed).

## Example launch line

     gst-launch-1.0 -m playbin uri=pushfile:///home/you/some/file.ogg

This plays back the given file using playbin, with the demuxer operating push-based.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBin
                        ╰──pushfilesrc

## Implemented interfaces

    GstChildProxy
    GstURIHandler

## Factory details

Authors: – Tim-Philipp Müller

Classification: – `Testing`

Rank – none

Plugin – debug

Package – GStreamer Good Plug-ins

## Pad Templates

### `src`

    ANY

Presence – always

Direction – src

Object type – GstPad

## Properties

### applied-rate

    “applied-rate” gdouble

Applied rate to use in TIME SEGMENT

Flags : Read / Write

Default value : 1

### initial-timestamp

    “initial-timestamp” guint64

Initial Buffer Timestamp (if time-segment TRUE)

Flags : Read / Write

Default value : 18446744073709551615

### location

    “location” gchararray

Location of the file to read

Flags : Read / Write

Default value : NULL

### rate

    “rate” gdouble

Rate to use in TIME SEGMENT

Flags : Read / Write

Default value : 1

### start-time

    “start-time” gint64

Initial Start Time (if time-segment TRUE)

Flags : Read / Write

Default value : 0

### stream-time

    “stream-time” gint64

Initial Stream Time (if time-segment TRUE)

Flags : Read / Write

Default value : 0

### time-segment

    “time-segment” gboolean

Emit TIME SEGMENTS

Flags : Read / Write

Default value : false

The results of the search are