AVBlocks for .NET  3.0
Audio and Video Software Development Kit
MediaSocket Class Reference

An input or output point of the Transcoder. More...

Inheritance diagram for MediaSocket:

Public Member Functions

virtual object Clone ()
 Creates a deep copy of this object.
 

Static Public Member Functions

static MediaSocket FromMediaInfo (MediaInfo mediaInfo)
 Creates a media socket from a MediaInfo object.
 
static MediaSocket FromPreset (string preset)
 Creates a media socket from an AVBlocks Preset.
 

Properties

string File [get, set]
 The file associated with the media socket.
 
bool Immutable [get]
 Returns whether the object is immutable.
 
Metadata Metadata [get, set]
 The socket metadata.
 
ParameterList Params [get, set]
 A collection of socket parameters.
 
MediaPinList Pins [get]
 A modifiable collection with all the pins (elementary streams) that are defined for this socket.
 
System.IO.Stream Stream [get, set]
 The user stream associated with the media socket.
 
StreamSubType StreamSubType [get, set]
 Specifies explicitly the subtype of the associated MediaSocket.File or MediaSocket.Stream.
 
StreamType StreamType [get, set]
 Specifies explicitly the format of the associated MediaSocket.File or MediaSocket.Stream.
 
double TimePosition [get, set]
 Specifies the position within file / stream (in seconds).
 

Detailed Description

An input or output point of the Transcoder.

A MediaSocket object describes either a container (WAV, AVI, MP4, etc.) with one or more streams or simply an elementary stream (MP3, M2V, etc.)

When MediaSocket describes a container the child collection of media pins can contain one or more items (for each contained stream). The socket stream type designates the container type.

When MediaSocket describes an elementary stream the child collection of media pins contains a single item which is the elementary stream itself. The socket stream type is the same as the pin stream type.

Member Function Documentation

◆ Clone()

virtual object Clone ( )
virtual

Creates a deep copy of this object.

Returns
A new MediaSocket object
Exceptions
System.OutOfMemoryExceptionThe object cannot be cloned because there's not enough memory.

References Metadata.Clone(), and MediaSocket.Metadata.

◆ FromMediaInfo()

static MediaSocket FromMediaInfo ( MediaInfo  mediaInfo)
static

Creates a media socket from a MediaInfo object.

Parameters
mediaInfoA MediaInfo object with audio/video information. The object may or may not be loaded before calling this function.
This object is not needed after the method returns.
Returns
A new MediaSocket object or null.
The MediaSocket object contains the information supplied by the mediaInfo parameter.
When MediaSocket.FromMediaInfo fails, it returns null. In that case use the MediaInfo.Error property to get error information.

This method is meant to help in setting correctly the inputs of a Transcoder.
The intended usage is as follows:

  1. Use MediaInfo to load information for a file or user stream.

  2. Create a media socket from the MediaInfo object (MediaSocket.FromMediaInfo(mediaInfo)).

  3. Add the newly created socket to the inputs of a Transcoder (Transcoder.Inputs.Add(socket)).

References PinConnection.Auto, StreamInfo.Clone(), MediaInfo.IsReady, MediaInfo.Open(), MediaInfo.Outputs, and MediaSocket.Pins.

◆ FromPreset()

static MediaSocket FromPreset ( string  preset)
static

Creates a media socket from an AVBlocks Preset.

Parameters
presetA constant from the Preset enum.
Returns
A new MediaSocket object which is configured for the specified preset .

This method is meant to help in setting correctly the outputs of the Transcoder.
. The intended usage is as follows:

  1. Create a media socket from a Preset (MediaSocket.FromPreset(preset)).

  2. Add the newly created socket to the outputs of the Transcoder (Transcoder.Outputs.Add(socket)).

Property Documentation

◆ File

string File
getset

The file associated with the media socket.

The default value is null.

◆ Immutable

bool Immutable
get

Returns whether the object is immutable.

An immmutable object cannot be modified and all modifying methods fail to produce a result.

An immutable object can be modified by the AVBlocks library.

Object immutability spreads to all nested objects. Therefore it is not possible to add/set an immutable object to a mutable object.

When cloned an immutable object becomes mutable.

◆ Metadata

The socket metadata.

Can be null if the socket has no metadata.

Referenced by MediaSocket.Clone().

◆ Params

ParameterList Params
getset

A collection of socket parameters.

These parameters are used when demuxing the input or multiplexing the output defined by this media socket. The default value of this property is an empty list.

See also
Param

Param

See also
ParameterList

Param

◆ Pins

MediaPinList Pins
get

A modifiable collection with all the pins (elementary streams) that are defined for this socket.

The default value of this property is an empty collection which can be modified but it cannot be replaced.

Referenced by MediaSocket.FromMediaInfo().

◆ Stream

System.IO.Stream Stream
getset

The user stream associated with the media socket.

The default value of this property is null.

This is an alternative to the File property. When both a file and a user stream are associated with a socket the Transcoder prefers the user stream.

◆ StreamSubType

Specifies explicitly the subtype of the associated MediaSocket.File or MediaSocket.Stream.

The default value of this property is StreamSubType.Unknown.

◆ StreamType

Specifies explicitly the format of the associated MediaSocket.File or MediaSocket.Stream.

The default value of this property is StreamType.Unknown.

◆ TimePosition

double TimePosition
getset

Specifies the position within file / stream (in seconds).

The transcoder tries to seek to the time position before the transcoding operation starts.

Seeking is not possible while transcoder is open. The Transcoder needs to be closed before setting a new time position with this property.

Returns
Time position (in seconds).