A MediaReceiver contains the logic for receiving, decoding and aligning incoming media sources from the Ingests. The aligned data is then delivered to the Rendering Engine which is also responsible for setting up the MediaReceiver. The MediaReceiver has a builtin multi view generator, which can create output streams containing composited subsets of the incoming video sources. This class is controlled using an ISystemControllerInterface provided when starting it.
#include <MediaReceiver.h>
Name | |
---|---|
struct | NewStreamParameters A struct containing information on the format of an incoming stream. |
struct | Settings Settings for a MediaReceiver. |
Name | |
---|---|
MediaReceiver() Default constructor. | |
~MediaReceiver() Default destructor. | |
bool | start(const std::shared_ptr< ISystemControllerInterface > & controllerInterface, const Settings & settings) Start the MediaReceiver. This method will call connect on the System controller interface and set up the callbacks from the interface to call internal methods. |
void | stop() Stop the MediaReceiver. |
std::function< void(const std::shared_ptr< AlignedData::DataFrame > &)> | getCustomMultiViewSourceInput(uint32_t inputSlot, const std::string & name ="") This method allows the Rendering Engine to provide custom input sources to the Multi-view generator to send video streams that can be added to the multi-views. This could for instance be used for adding a “preview” of the video stream the rendering engine is about to cut to. |
MediaReceiver(MediaReceiver const & ) =delete MediaReceiver is neither copyable nor movable. | |
MediaReceiver(MediaReceiver && ) =delete | |
MediaReceiver & | operator=(MediaReceiver const & ) =delete |
MediaReceiver & | operator=(MediaReceiver && ) =delete |
std::string | getVersion() Get application version. |
std::string | getBuildInfo() Get application build information. |
MediaReceiver()
Default constructor.
~MediaReceiver()
Default destructor.
bool start(
const std::shared_ptr< ISystemControllerInterface > & controllerInterface,
const Settings & settings
)
Start the MediaReceiver. This method will call connect on the System controller interface and set up the callbacks from the interface to call internal methods.
Parameters:
Return: True if the MediaReceiver was started successfully, false otherwise.
void stop()
Stop the MediaReceiver.
std::function< void(const std::shared_ptr< AlignedData::DataFrame > &)> getCustomMultiViewSourceInput(
uint32_t inputSlot,
const std::string & name =""
)
This method allows the Rendering Engine to provide custom input sources to the Multi-view generator to send video streams that can be added to the multi-views. This could for instance be used for adding a “preview” of the video stream the rendering engine is about to cut to.
Parameters:
See: MediaReceiver::Settings::mDecodedFormat.
Return: A function to where the Rendering Engine should send the frames. In case the requested inputSlot is already used by another custom input source, or a stream from an ingest, the returned function will be nullptr.
Precondition: The DataFrames sent to this function must have the same pixel format as this MediaReceiver is configured to deliver to the Rendering Engine,
MediaReceiver(
MediaReceiver const &
) =delete
MediaReceiver is neither copyable nor movable.
MediaReceiver(
MediaReceiver &&
) =delete
MediaReceiver & operator=(
MediaReceiver const &
) =delete
MediaReceiver & operator=(
MediaReceiver &&
) =delete
static std::string getVersion()
Get application version.
Return: a string with the current version, e.g. “1.0.0”
static std::string getBuildInfo()
Get application build information.
Return: a string with the current build information such as git hashes of all direct dependencies
Updated on 2022-06-22 at 16:53:25 +0200