Metadata

primo::codecs::Metadata

class Metadata : public primo::Reference

Metadata describes meta information that is part of an audio or video file.

It can hold various textual information and images.

See also

Library::createMetaAttribute

See also

Library::createMetaPicture

See also

Library::createMetadata

Public Functions

virtual Metadata *clone() const = 0

Creates a deep copy of this object.

Remark

When cloned an immutable object becomes mutable.

Returns:

A new Metadata object. The caller is responsible for releasing the new object when it is not needed anymore.

Returns:

NULL if there is not enough memory and the object cannot be cloned.

virtual MetaAttributeList *attributes() const = 0

Returns a modifiable collection with all the attributes in the Metadata object.

The returned collection exists only in the context of the Metadata object.

See also

Library::createMetaAttribute

Returns:

A collection of MetaAttribute objects. The default value is an empty collection which can be modified but it cannot be replaced.

virtual MetaPictureList *pictures() const = 0

Returns a modifiable collection with all the pictures in the Metadata object.

The returned collection exists only in the context of the Metadata object.

See also

Library::createMetaPicture

See also

MetaPictureList

Returns:

A collection of MetaPicture objects. The default value is an empty collection which can be modified but it cannot be replaced.

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.

Remark

When cloned an immutable object becomes mutable.

Returns:

TRUE if the object is immutable, FALSE otherwise.