MediaSocketList

primo::avblocks::MediaSocketList

class MediaSocketList

MediaSocketList represents the inputs or outputs of a Transcoder.

It contains one or more media sockets (MediaSocket objects). The collection is modifiable and indexable. It exists only in the context of a Transcoder and cannot be created separately from it, nor detached.

Public Functions

virtual bool_t add(MediaSocket *item) = 0

Adds a socket to the collection.

Parameters:

item – [in] A pointer to a MediaSocket object that should be added to the collection. It is allowed to add a NULL value to the collection. Internally the MediaSocket object is retained (if not NULL), so it is safe to release it after this method returns.

Returns:

TRUE if the specified item is added to the collection, otherwise FALSE.

virtual bool_t remove(int32_t itemIndex) = 0

Removes a socket from the collection.

When a MediaSocket object is removed from the collection it is also released.

Parameters:

itemIndex – [in] The index of the socket that should be removed from the collection. Indexing starts from 0.

Returns:

TRUE if the specified item is removed from the collection, otherwise FALSE.

virtual bool_t clear() = 0

Removes all sockets from the collection.

When removed from the collection each MediaSocket object is released.

Returns:

TRUE if the collection is cleared, otherwise FALSE.

virtual int32_t count() const = 0

Returns the number of sockets in the collection.

Returns:

number of items in the collection.

virtual MediaSocket *at(int32_t itemIndex) const = 0

Returns a media socket specified by index.

The caller is not required to release the returned object.

Parameters:

itemIndex – [in] The index of the socket to be returned. Indexing starts from 0.

Returns:

A pointer to the MediaSocket object specified by itemIndex. Can be NULL.

virtual bool_t setAt(int32_t itemIndex, MediaSocket *item) = 0

Sets a new socket at the specified index.

Parameters:
  • itemIndex – [in] The index in the collection where the new item shall be set. This must be a valid index in the collection. Indexing starts from 0.

  • item – [in] A pointer to the MediaSocket object that shall be set. It is allowed to set a NULL value to the collection. Internally the new socket is retained (if not NULL), so it is safe to release it after this method returns. The old socket is released (if not NULL).

Returns:

TRUE The item is set, FALSE otherwise.

virtual bool_t insert(int32_t itemIndex, MediaSocket *item) = 0

Inserts a socket at the specified index.

Parameters:
  • itemIndex – [in] The index in the collection where the new item shall be inserted. This must be a valid index in the collection. Indexing starts from 0. After the new item is inserted in the collection its index is the value of the itemIndex param.

  • item – [in] A pointer to the MediaSocket object that shall be inserted. It is allowed to insert a NULL value in the collection. Internally the new socket is retained (if not NULL), so it is safe to release it after this method returns.

Returns:

TRUE The item is set, FALSE otherwise.

virtual bool_t immutable() const = 0

Returns whether the object is immutable.

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

Remark

An immutable object can be modified by the AVBlocks library.

Remark

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

Returns:

TRUE if the object is immutable, FALSE otherwise.