Library Datatypes

OcaLibVolStandardTypeID

enum OcaLibVolStandardTypeID : uint8_t

Enum that describes type of data in a standard library volume.

enumerator None = 0

Empty library

enumerator ParamSet = 1

ParamSet library

enumerator Patch = 2

Patch library

enumerator Program = 3

A program that may be run by an OcaTask

OcaLibVolType

struct OcaLibVolType

Globally unique identifier of a library type.

OcaOrganizationID Authority

Unique identifier of organization that has authority over this library volume type. A zero value indicates a standard library volume type defined by the AES70 standard.

OcaUint32 ID

ID of library volume type defined by given Authority. Value is unique within the given Authority. If Authority=0, the values of this property are given by enum OcaLibVolStandardID.

OCP.1 Encoding

Field

Basic type

Byte length

Authority.Value

OcaBlobFixedLen<3>

3

ID

OcaUint32

4

OcaLibraryIdentifier

struct OcaLibraryIdentifier

Full identifier (type + object number) of Library (i.e. of an OcaLibrary instance)

OcaLibVolType Type

Type of the library (= type of its volumes)

OcaONo ONo

Object number of library.

OCP.1 Encoding

Field

Basic type

Byte length

Type.Authority.Value

OcaBlobFixedLen<3>

3

Type.ID

OcaUint32

4

ONo.ONo

OcaUint32

4

OcaLibVolID

using OcaLibVolID = OcaUint32

Unique identifier of a library volume within its library.

OcaLibVolIdentifier

struct OcaLibVolIdentifier

Unique identifier of a library volume within the device.

OcaONo Library

Library that holds the LibVol in question.

OcaLibVolID ID

ID of LibVol within the given library.

OCP.1 Encoding

Field

Basic type

Byte length

Library.ONo

OcaUint32

4

ID.Value

OcaUint32

4

OcaLibAccess

enum OcaLibAccess : uint8_t

Library volume access modes

enumerator None = 0

The noble savage: Can’t read, can’t write.

enumerator ReadOnly = 1

Look but don’t touch.

enumerator ReadExpand = 2

Read and add, but no replacement or deletion.

enumerator Full = 3

All operations allowed.

OcaLibVolMetadata

struct OcaLibVolMetadata

Descriptor of a library volume. See 03 OcaLibrary for explanation.

OcaString Name

Name of library volume

OcaLibVolType VolType

Type of library volume

OcaLibAccess Access

Access mode of library volume - readonly or readwrite.

OcaUint32 Version

Version number of library volume.

OcaString Creator

Name of creator of library volume.

OcaTimePTP UpDate

Latest update timestamp.

OCP.1 Encoding

Field

Basic type

Byte length

Name.Len

OcaUint16

2

Name.Value

string

variable

VolType.Authority.Value

OcaBlobFixedLen<3>

3

VolType.ID

OcaUint32

4

Access

OcaEnumItem

1

Version

OcaUint32

4

Creator.Len

OcaUint16

2

Creator.Value

string

variable

UpDate

OcaTimePTP

variable

OcaLibVol

struct OcaLibVol

Library volume. template. Template parameter is datatype of the volume. See 03 OcaLibrary for explanation.

OcaLibVolMetadata Metadata

Descriptor of library volume

OcaBlob Data

Contents of library volume. Type depends on template parameter.

OCP.1 Encoding

Field

Basic type

Byte length

Metadata.Name.Len

OcaUint16

2

Metadata.Name.Value

string

variable

Metadata.VolType.Authority.Value

OcaBlobFixedLen<3>

3

Metadata.VolType.ID

OcaUint32

4

Metadata.Access

OcaEnumItem

1

Metadata.Version

OcaUint32

4

Metadata.Creator.Len

OcaUint16

2

Metadata.Creator.Value

string

variable

Metadata.UpDate

OcaTimePTP

variable

Data.DataSize

OcaUint16

2

Data.Data

OcaUint8

1 * Count

OcaLibVolData_ParamSet

struct OcaLibVolData_ParamSet

Library volume data for a Parset (short for Parameter Set) volume. A Parset is a collection of operating parameter settings that can be applied to a block. Each Parset is associated with a specific block type, but not with a specific instance of that type. A Parset may be applied to any block instance of the associated type. A block’s type is a the object number of its factory or, for factory-defined blocks, a unique identifier set at time of manufacture.

OcaONo TargetBlockType

Block type to which this paramset applies. A block’s type is a the object number of its factory or, for factory-defined blocks, a unique identifier set at time of manufacture

OcaBlob ParData

ParamSet payload

OCP.1 Encoding

Field

Basic type

Byte length

TargetBlockType.ONo

OcaUint32

4

ParData.DataSize

OcaUint16

2

ParData.Data

OcaUint8

1 * Count

OcaLibParamSetAssignment

struct OcaLibParamSetAssignment

A ParamSet assigment is the description of a binding of a ParamSet to a block instance.

OcaLibVolIdentifier ParamSetIdentifier

Identifier of the library volume that holds the paramset.

OcaONo TargetBlockONo

Object number of the block to which the paramset assignment applies.

OCP.1 Encoding

Field

Basic type

Byte length

ParamSetIdentifier.Library.ONo

OcaUint32

4

ParamSetIdentifier.ID.Value

OcaUint32

4

TargetBlockONo.ONo

OcaUint32

4

OcaLibVolData_Patch

using OcaLibVolData_Patch = OcaList<OcaLibParamSetAssignment>

Library volume data for a Patch volume. A Patch a collection of ParamSet assignments. A ParamSet assigment is the description of a binding of a ParamSet to a block instance. To “apply” a Patch is to apply all of its assignments. To apply an assignment is to set all of its ParamSet’s parameter values into its block.

OcaLibVolData_Program

using OcaLibVolData_Program = OcaBlob

Library volume data for a Program volume. A Program is an executable program or script that may be run by an OcaTask.