# giosrc

This plugin reads data from a local or remote location specified by an URI. This location can be specified using any protocol supported by the GIO library or it's VFS backends. Common protocols are 'file', 'http', 'ftp', or 'smb'.

If an URI or GFile is not mounted giosrc will post a message of type GST_MESSAGE_ELEMENT with name "not-mounted" on the bus. The message also contains the GFile and the corresponding URI. Applications can use the "not-mounted" message to mount the GFile by calling g_file_mount_enclosing_volume and then restart the pipeline after the mounting has succeeded. Note that right after the "not-mounted" message a normal error message is posted on the bus which should be ignored if "not-mounted" is handled by the application, for example by calling gst_bus_set_flushing(bus, TRUE) after the "not-mounted" message was received and gst_bus_set_flushing(bus, FALSE) after the mounting was successful.

## Example launch lines

     gst-launch-1.0 -v giosrc location=file:///home/joe/foo.xyz ! fakesink

The above pipeline will simply read a local file and do nothing with the data read. Instead of giosrc, we could just as well have used the filesrc element here.

     gst-launch-1.0 -v giosrc location=smb://othercomputer/foo.xyz ! filesink location=/home/joe/foo.xyz

The above pipeline will copy a file from a remote host to the local file system using the Samba protocol.

     gst-launch-1.0 -v giosrc location=smb://othercomputer/demo.mp3 ! decodebin ! audioconvert ! audioresample ! autoaudiosink

The above pipeline will read and decode and play an mp3 file from a SAMBA server.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseSrc
                        ╰──GstGioBaseSrc
                            ╰──giosrc

## Implemented interfaces

    GstURIHandler

## Factory details

Authors: – René Stadler , Sebastian Dröge

Classification: – `Source/File`

Rank – secondary

Plugin – gio

Package – GStreamer Base Plug-ins

## Pad Templates

### `src`

    ANY

Presence – always

Direction – src

Object type – GstPad

## Properties

### file

    “file” GFile *

GFile to read from.

Flags : Read / Write

### location

    “location” gchararray

URI location to read from

Flags : Read / Write

Default value : NULL

The results of the search are