Skip to content

OcaStreamConnector#

This document describes the controller implementation of OcaStreamConnector. This class is documented in the AES70 standard as:

DEPRECATED CLASS Replaced by the OcaMediaSinkConnector and OcaMediaSourceConnector datatypes in version 3 of Connection Management (CM3)

Agent class for objects ("connectors") that allow connection of streams to the device. Streams may be single channels or multichannel groups.

A connector is either a source or a sink. Sources are sometimes called "talkers". Sinks are sometimes called "listeners".

Each connector links to zero or more OcaStream data objects. Each OcaStream object represents a signal flow to or from a local connector to a remote connector. The remote connector is usually, but not necessarily, in a different node.

Each connector collects zero or more signal channels. A signal channel is an instance of OcaNetworkSignalChannel.

Each signal channel exposes one media channel of the stream to the interior of the device. A signal channel therefore is a Worker that contains exactly one OcaPort data object.

Each OcaStreamConnector object belongs to a particular instance of OcaStreamNetwork or a subclass of OcaStreamNetwork .

Each OcaStreamConnector is linked to its network through the Owner property. When a controller creates an OcaStreamConnector object dynamically, the controller must store the Object Number of the corresponding OcaStreamNetwork object in the Owner property., Upon receiving the Owner property change, the OcaStreamConnector object must register itself with the given stream network object via some internal means.

This class may be subclassed to support various network types.


Overview#

Class Declaration#

namespace aes70::controller
{
  class OcaStreamConnector : public OcaAgent
  {
  public:
    OcaStreamConnector(std::shared_ptr<connection> connection,
            uin32_t object_number);
    OcaStreamConnector(const OcaStreamConnector &o);

    // Control Methods
    // Calls GetOwnerNetwork and calls on_result or on_failure
    void GetOwnerNetwork(auto on_result, failure_callback on_failure);
    // Calls SetOwnerNetwork and calls on_result or on_failure
    void SetOwnerNetwork(OcaONo Network, auto on_result, failure_callback on_failure);
    // Calls SetOwnerNetwork and does not wait for the response
    void SetOwnerNetwork(OcaONo Network);
    // Calls GetIDAdvertised and calls on_result or on_failure
    void GetIDAdvertised(auto on_result, failure_callback on_failure);
    // Calls SetIDAdvertised and calls on_result or on_failure
    void SetIDAdvertised(OcaStreamConnectorID IDAdvertised, auto on_result, failure_callback on_failure);
    // Calls SetIDAdvertised and does not wait for the response
    void SetIDAdvertised(OcaStreamConnectorID IDAdvertised);
    // Calls GetSourceOrSink and calls on_result or on_failure
    void GetSourceOrSink(auto on_result, failure_callback on_failure);
    // Calls SetSourceOrSink and calls on_result or on_failure
    void SetSourceOrSink(OcaNetworkMediaSourceOrSink SourceOrSink, auto on_result, failure_callback on_failure);
    // Calls SetSourceOrSink and does not wait for the response
    void SetSourceOrSink(OcaNetworkMediaSourceOrSink SourceOrSink);
    // Calls ConnectStream and calls on_result or on_failure
    void ConnectStream(OcaStream Stream, auto on_result, failure_callback on_failure);
    // Calls ConnectStream and does not wait for the response
    void ConnectStream(OcaStream Stream);
    // Calls DisconnectStream and calls on_result or on_failure
    void DisconnectStream(OcaStreamIndex StreamID, auto on_result, failure_callback on_failure);
    // Calls DisconnectStream and does not wait for the response
    void DisconnectStream(OcaStreamIndex StreamID);
    // Calls GetStreams and calls on_result or on_failure
    void GetStreams(auto on_result, failure_callback on_failure);
    // Calls GetPins and calls on_result or on_failure
    void GetPins(auto on_result, failure_callback on_failure);
    // Calls GetStatus and calls on_result or on_failure
    void GetStatus(auto on_result, failure_callback on_failure);

    // Observing Properties
    subscription observeOwnerNetwork(auto callback, failure_callback on_failure);
    subscription observeIDAdvertised(auto callback, failure_callback on_failure);
    subscription observeSourceOrSink(auto callback, failure_callback on_failure);
    subscription observeStreams(auto callback, failure_callback on_failure);
    subscription observePins(auto callback, failure_callback on_failure);
    subscription observeStatus(auto callback, failure_callback on_failure);

    // Property Changed Subscriptions
    subscription OnOwnerNetworkChanged(auto callback, failure_callback on_failure);
    subscription OnIDAdvertisedChanged(auto callback, failure_callback on_failure);
    subscription OnSourceOrSinkChanged(auto callback, failure_callback on_failure);
    subscription OnStreamsChanged(auto callback, failure_callback on_failure);
    subscription OnPinsChanged(auto callback, failure_callback on_failure);
    subscription OnStatusChanged(auto callback, failure_callback on_failure);
  };
}

Methods#

GetOwnerNetwork#

void GetOwnerNetwork(auto on_result, failure_callback on_failure)

Calls the method GetOwnerNetwork in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaONo Network
  • failure_callback on_failure: A callback which is called on error.

SetOwnerNetwork#

void SetOwnerNetwork(OcaONo Network, auto on_result, failure_callback on_failure)

Calls the method SetOwnerNetwork in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaONo Network
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

GetIDAdvertised#

void GetIDAdvertised(auto on_result, failure_callback on_failure)

Calls the method GetIDAdvertised in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaStreamConnectorID IDAdvertised
  • failure_callback on_failure: A callback which is called on error.

SetIDAdvertised#

void SetIDAdvertised(OcaStreamConnectorID IDAdvertised, auto on_result, failure_callback on_failure)

Calls the method SetIDAdvertised in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaStreamConnectorID IDAdvertised
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

GetSourceOrSink#

void GetSourceOrSink(auto on_result, failure_callback on_failure)

Calls the method GetSourceOrSink in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaNetworkMediaSourceOrSink SourceOrSink
  • failure_callback on_failure: A callback which is called on error.

SetSourceOrSink#

void SetSourceOrSink(OcaNetworkMediaSourceOrSink SourceOrSink, auto on_result, failure_callback on_failure)

Calls the method SetSourceOrSink in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaNetworkMediaSourceOrSink SourceOrSink
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

ConnectStream#

void ConnectStream(OcaStream Stream, auto on_result, failure_callback on_failure)

Calls the method ConnectStream in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaStream Stream
  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaStreamIndex Index
  • failure_callback on_failure: A callback which is called on error.

DisconnectStream#

void DisconnectStream(OcaStreamIndex StreamID, auto on_result, failure_callback on_failure)

Calls the method DisconnectStream in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaStreamIndex StreamID
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

GetStreams#

void GetStreams(auto on_result, failure_callback on_failure)

Calls the method GetStreams in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaMap<OcaStreamIndex, OcaStream> Streams
  • failure_callback on_failure: A callback which is called on error.

GetPins#

void GetPins(auto on_result, failure_callback on_failure)

Calls the method GetPins in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaMap<OcaStreamConnectorPinIndex, OcaONo> Pins
  • failure_callback on_failure: A callback which is called on error.

GetStatus#

void GetStatus(auto on_result, failure_callback on_failure)

Calls the method GetStatus in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaStreamConnectorStatus Status
  • failure_callback on_failure: A callback which is called on error.

observeOwnerNetwork#

subscription observeOwnerNetwork(auto callback, failure_callback on_failure)

Fetches the remote property OwnerNetwork and subscribes for modifications. The callback is called with the initial values of OwnerNetwork and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaONo OwnerNetwork
  • failure_callback on_failure: A callback which is called on error.

observeIDAdvertised#

subscription observeIDAdvertised(auto callback, failure_callback on_failure)

Fetches the remote property IDAdvertised and subscribes for modifications. The callback is called with the initial values of IDAdvertised and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaStreamConnectorID IDAdvertised
  • failure_callback on_failure: A callback which is called on error.

observeSourceOrSink#

subscription observeSourceOrSink(auto callback, failure_callback on_failure)

Fetches the remote property SourceOrSink and subscribes for modifications. The callback is called with the initial values of SourceOrSink and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaNetworkMediaSourceOrSink SourceOrSink
  • failure_callback on_failure: A callback which is called on error.

observeStreams#

subscription observeStreams(auto callback, failure_callback on_failure)

Fetches the remote property Streams and subscribes for modifications. The callback is called with the initial values of Streams and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaMap<OcaStreamIndex, OcaStream> Streams
  • failure_callback on_failure: A callback which is called on error.

observePins#

subscription observePins(auto callback, failure_callback on_failure)

Fetches the remote property Pins and subscribes for modifications. The callback is called with the initial values of Pins and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaMap<OcaStreamConnectorPinIndex, OcaONo> Pins
  • failure_callback on_failure: A callback which is called on error.

observeStatus#

subscription observeStatus(auto callback, failure_callback on_failure)

Fetches the remote property Status and subscribes for modifications. The callback is called with the initial values of Status and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaStreamConnectorStatus Status
  • failure_callback on_failure: A callback which is called on error.

OnOwnerNetworkChanged#

subscription OnOwnerNetworkChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaONo OwnerNetwork
  • failure_callback on_failure: A callback which is called on error.

OnIDAdvertisedChanged#

subscription OnIDAdvertisedChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaStreamConnectorID IDAdvertised
  • failure_callback on_failure: A callback which is called on error.

OnSourceOrSinkChanged#

subscription OnSourceOrSinkChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaNetworkMediaSourceOrSink SourceOrSink
  • failure_callback on_failure: A callback which is called on error.

OnStreamsChanged#

subscription OnStreamsChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaMap<OcaStreamIndex, OcaStream> Streams
  • failure_callback on_failure: A callback which is called on error.

OnPinsChanged#

subscription OnPinsChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaMap<OcaStreamConnectorPinIndex, OcaONo> Pins
  • failure_callback on_failure: A callback which is called on error.

OnStatusChanged#

subscription OnStatusChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaStreamConnectorStatus Status
  • failure_callback on_failure: A callback which is called on error.