Basic Sources

The basic source module contains elements that uses common techniques for receiving media streams.

Loadable Module Properties

Module Name Streamer Basic Source Elements
File Name libbasicsourceelements.so
Class Count7

Element Quick Index

Multicast Source, File Source, DVB-T Source. TCP Source, UDP Source, Local UNIX Stream Source. Local UNIX Datagram Source.

Multicast Source element at beginning of pipeline (the other source elements connected in the same fashion).

Multicast Source Element

The Multicast Source Element receives media streams from the network by joining multicast groups in accordance to Internet Group Management Protocol version 2 (RFC 2236).

Class Properties

Name Multicast Source Descriptor
Version1
Interface Name IElementDescriptor
BindingC++

Element Descriptor

NameMulticast Source
TypeSource
Priority500
Output FormatsRaw

URL Schemes

This element accepts URL strings on the form:

[igmp://]<address>:<port>

where <address> is an IPv4 multicast group address in standard dot notation, and <port> is the IPv4 port. The element accepts all multicast group addresses in the range 224.0.0.0 to 239.255.255.255. Note that depending on local conditions some addresses in this range must not be used. Please see RFC 3171 and related documents for more information.

Examples:

igmp://224.5.16.1:111111
224.1.1.1:10000

Metadata

Since the element is a source element all metadata is produced by the element itself.

Key Input Output
_ConnectionTypeProducedCommitted
_StreamUrlProducedCommitted
_PlaybackModeProducedCommitted

User Operations

Because of the live broadcast property of multicast transmitted media streams, the multicast source element supports only a limited range of user operations. The element only receives the media stream from the network and cannot control the data flow in any way. The element supports the Open, Play and Close cycle of operations only.

Theory of Operation

When the element is issued the Open command, it joins the multicast group specified by the URL, and on Close the element leaves that group. The element begins reading data from the group when it receives the Play command.

File Source Element

The File Source Element reads the media stream from a file in the file system. The file may be stored locally or remotely on the network. From this element's point of view, the location itself is not relevant, instead the important property is that it is treated like a regular file in the file system.

Class Properties

Name File Source Descriptor
Version1
Interface Name IElementDescriptor
BindingC++

Element Descriptor

NameFile Source
TypeSource
Priority500
Output FormatsRaw

URL Schemes

This element accepts URL strings on the form:

file://<path>

Where <path> is a regular path in the file system. Note that the <path> should start with a slash (so that you get three slashes in a row after file:) which makes it an absolute path and the risk of mistakes is greatly reduced.

Examples:

file:///presentation.mp3
file:///remote/share/movie.mpg

Metadata

Since the element is a source element all metadata is produced by the element itself.

Key Input Output
_ConnectionTypeProducedCommitted
_StreamUrlProducedCommitted
_PlaybackModeProducedCommitted

User Operations

The file source element supports all user operations except Rewind. When fast forwarding, the element reads the file as quickly as it can, which usually means the speed is bounded by the network when the file is stored remotely. In any way, the fast forwarding speed is not fixed and may vary due to external factors.

Theory of Operation

The operation of the file source element is similar to the operation of the multicast source element, with the evident difference that the file element opens a file in the file system whereas the multicast element joins a multicast group. Also, fast forwarding is supported by the file source element, since it has some limited control of the read speed bounded by system and network load.

DVB-T Source Element

For internal use only. This element should be moved to a seperate loadable module.

TCP Source Element

The TCP Source Element receives media streams from the network by using plain TCP socket communication.

Class Properties

Name TCP Source Descriptor
Version1
Interface Name IElementDescriptor
BindingC++

Element Descriptor

NameTCP Source
TypeSource
Priority500
Output FormatsRaw

URL Schemes

This element accepts URL strings on the form:

[tcp://]<address>:<port>

where <address> is an host address in standard dot notation, and <port> is the IPv4 port.

Examples:

tcp://192.168.5.252:12345

Metadata

Since the element is a source element all metadata is produced by the element itself.

Key Input Output
_ConnectionTypeProducedCommitted
_StreamUrlProducedCommitted
_PlaybackModeProducedCommitted

User Operations

The element supports the Open, Pause and Close cycle of operations only.

Theory of Operation

When the element is issued the Open command, it opens a TCP connection to the address and port specified by the URL, and on Close the element closes the connection.

UDP Source Element

The UDP Source Element receives media streams from the network by using plain UDP socket communication.

Class Properties

Name UDP Source Descriptor
Version1
Interface Name IElementDescriptor
BindingC++

Element Descriptor

NameUDP Source
TypeSource
Priority500
Output FormatsRaw

URL Schemes

This element accepts URL strings on the form:

[udp://]<address>:<port>

where <address> is an host address in standard dot notation, and <port> is the IPv4 port.

Examples:

udp://192.168.5.252:12345

Metadata

Since the element is a source element all metadata is produced by the element itself.

Key Input Output
_ConnectionTypeProducedCommitted
_StreamUrlProducedCommitted
_PlaybackModeProducedCommitted

User Operations

The element supports the Open, Pause and Close cycle of operations only.

Theory of Operation

When the element is issued the Open command, it starts listening for data coming from the address and port specified by the URL, and on Close the element stops listening.

Local Stream Source Element

The Local Stream Source Element receives media streams from a local UNIX stream socket.

Class Properties

Name Local Stream Source Descriptor
Version1
Interface Name IElementDescriptor
BindingC++

Element Descriptor

NameLocal Stream Source
TypeSource
Priority500
Output FormatsRaw

URL Schemes

This element accepts URL strings on the form:

[lstrm://]<path>

where <path> is the absolute path to a local UNIX stream socket.

Examples:

lstrm:///tmp/03sx0445

Metadata

Since the element is a source element all metadata is produced by the element itself.

Key Input Output
_ConnectionTypeProducedCommitted
_StreamUrlProducedCommitted
_PlaybackModeProducedCommitted

User Operations

The element supports the Open, Pause and Close cycle of operations only.

Theory of Operation

When the element is issued the Open command, it opens a connection to a local UNIX stream socket specified by the path, and on Close the element closes the connection.

Local Datagram Source Element

The Local Datagram Source Element receives media streams from a local UNIX datagram socket.

Class Properties

Name Local Datagram Source Descriptor
Version1
Interface Name IElementDescriptor
BindingC++

Element Descriptor

NameLocal Datagram Source
TypeSource
Priority500
Output FormatsRaw

URL Schemes

This element accepts URL strings on the form:

[ldgram://]<path>

where <path> is the absolute path to a local UNIX datagram socket.

Examples:

ldgram:///tmp/03sx0445

Metadata

Since the element is a source element all metadata is produced by the element itself.

Key Input Output
_ConnectionTypeProducedCommitted
_StreamUrlProducedCommitted
_PlaybackModeProducedCommitted

User Operations

The element supports the Open, Pause and Close cycle of operations only.

Theory of Operation

When the element is issued the Open command, it listens for data on a local UNIX datagram socket specified by the path, and on Close the element stops listening.