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.
-
virtual audio_sink *audio() = 0