Media Sink Interface

#include <dolbyio/comms/media/media_engine.h>

Top level interface which exposes the underlying sink interfaces for receiving and handling audio, raw video and encoded video data. This abstract class just exposes the three possible sink interfaces: raw video, encoded video and audio.

class dolbyio::comms::media_sink_interface

The interface that is a sink for the Conference Service, where audio and video data for a specific conference are stored.

Subclassed by dolbyio::comms::plugin::recorder

Public Functions

virtual audio_sink *audio() = 0

Gets the raw audio sink interface. Override this method to provide access to the Audio Sink implementation.

Note

Recording the audio in the conference is a server-side use-case. Using a media_sink_interface which returns a non-null audio_sink has severe implications for the media pipeline: the DVC codec is disabled, and the DVC-enabled conferences will use Opus; a fake audio device is used for handling conference audio - the real speakers and microphone will not be used. It is not possible to record the conference audio and have the input provided by the real microphone.

Returns:

The pointer to the audio sink.

virtual video_sink_yuv *video_yuv() = 0

Gets the raw video sink interface. Override this method to provide access to the Raw Video Sink custom implementation.

Returns:

The pointer to the YUV video sink.

virtual video_sink_encoded *video_enc() = 0

Gets the encoded video sink interface. Override this method to provide access to the Encoded Video Sink implementation.

Returns:

The pointer to the encoded video sink.