## gnomevfssrc gnomevfssrc — Read from any GnomeVFS-supported file |

## Synopsis

    struct              GstGnomeVFSSrc;

## Object Hierarchy

      GObject
       +----GstObject
             +----GstElement
                   +----GstBaseSrc
                         +----GstGnomeVFSSrc

## Implemented Interfaces

GstGnomeVFSSrc implements GstURIHandler.

## Properties

      "handle"                   GnomeVFSHandle*       : Read / Write
      "iradio-genre"             gchar*                : Read
      "iradio-mode"              gboolean              : Read / Write
      "iradio-name"              gchar*                : Read
      "iradio-title"             gchar*                : Read
      "iradio-url"               gchar*                : Read
      "location"                 gchar*                : Read / Write
      "random-access"            gboolean              : Read / Write

## Description

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 GnomeVFS library. Common protocols are 'file', 'http', 'ftp', or 'smb'.

In case the "iradio-mode" property is set and the location is a http resource, gnomevfssrc will send special icecast http headers to the server to request additional icecast metainformation. If the server is not an icecast server, it will display the same behaviour as if the "iradio-mode" property was not set. However, if the server is in fact an icecast server, gnomevfssrc will output data with a media type of application/x-icy, in which case you will need to use the GstICYDemux element as follow-up element to extract the icecast meta data and to determine the underlying media type.

### Example launch lines

    1
    gst-launch -v gnomevfssrc 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 gnomevfssrc, we could just as well have used the filesrc element here.

    1
    gst-launch -v gnomevfssrc 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.

    1
    gst-launch -v gnomevfssrc location=http://music.foobar.com/demo.mp3 ! mad ! audioconvert ! audioresample ! alsasink

The above pipeline will read and decode and play an mp3 file from a web server using the http protocol.

## Synopsis

### Element Information

plugin | gnomevfs
author | Bastien Nocera <hadess@hadess.net>, GStreamer maintainers <gstreamer-devel@lists.sourceforge.net>
class | Source/File

### Element Pads

name | src
direction | source
presence | always
details | ANY

## Details

### struct GstGnomeVFSSrc

    struct GstGnomeVFSSrc;

Opaque data structure.

## Property Details

### The `"handle"` property

      "handle"                   GnomeVFSHandle*       : Read / Write

Handle for GnomeVFS.

### The `"iradio-genre"` property

      "iradio-genre"             gchar*                : Read

Genre of the stream.

Default value: NULL

### The `"iradio-mode"` property

      "iradio-mode"              gboolean              : Read / Write

Enable internet radio mode (extraction of shoutcast/icecast metadata).

Default value: FALSE

### The `"iradio-name"` property

      "iradio-name"              gchar*                : Read

Name of the stream.

Default value: NULL

### The `"iradio-title"` property

      "iradio-title"             gchar*                : Read

Name of currently playing song.

Default value: NULL

### The `"iradio-url"` property

      "iradio-url"               gchar*                : Read

Homepage URL for radio stream.

Default value: NULL

### The `"location"` property

      "location"                 gchar*                : Read / Write

Location of the file to read.

Default value: NULL

### The `"random-access"` property

      "random-access"            gboolean              : Read / Write

Enable random file access.

Default value: FALSE

## See Also

GstFileSrc, GstGnomeVFSSink