plugin::injector_passthrough

🚀

SDK Beta

This interface is a part of the Beta program.

Module: Default Media Injector Plugin

The interface for the Default Passthrough Media Injector.

#include <injector.h>

Inherits from dolbyio::comms::plugin::injector, dolbyio::comms::media_source_interface, dolbyio::comms::video_source, dolbyio::comms::audio_source

Public Functions

Name
~injector_passthrough()
Destructor for passthrough injector.
injector_passthrough(media_injection_status_cb && status_cb)
Constructor for the passthrough injector.
virtual boolinject_video_frame(std::unique_ptr< video_frame > && frame) override
Inject a raw video frame into the conference. The video frame must contain YUV pixels.
virtual boolinject_audio_frame(std::unique_ptr< audio_frame > && frame) override
Inject an audio frame into the conference. The audio frame must contain 10ms of PCM data.

Additional inherited members

Public Types inherited from dolbyio::comms::plugin::injector

Name
using std::function< void(const media_injection_status &)>media_injection_status_cb

Public Functions inherited from dolbyio::comms::plugin::injector

Name
~injector()
The destructor of the injector.
injector(media_injection_status_cb && status_cb)
Constructor for the injector base abstract class.

Public Functions inherited from dolbyio::comms::media_source_interface

Name
virtual video_source *video() =0
Gets the video source interface. Override this method to provide access to the Video Source implementation.
virtual audio_source *audio() =0
Gets the audio source interface. Override this method to provide access to the Audio Source implementation.

Public Functions inherited from dolbyio::comms::video_source

Name
virtual voidregister_video_frame_rtc_source(rtc_video_source * source) =0
Connects the rtc_video_source to the video source, in essence creating the video injection pipeline. This method will be called by the media_engine when a Video Track is attached to the active Peer Connection.
virtual voidderegister_video_frame_rtc_source() =0
Disconnects the RTC Video Source from the Video Source, in essence destructing the video pipeline. This method is called by the media_engine whenever a Video Track is to be detached from the active Peer Connection.

Public Functions inherited from dolbyio::comms::audio_source

Name
virtual voidregister_audio_frame_rtc_source(rtc_audio_source * source) =0
Connects the RTC Audio Source to the audio source, in essence creating the audio injection pipeline. This method will be called by the media_engine when an Audio Track is attached to the active Peer Connection.
virtual voidderegister_audio_frame_rtc_source() =0
Disconnects the RTC Audio Source from the Audio Source, in essence destructing the audio pipeline. This method is called by the media_engine whenever an Audio Track is to be detached from the active Peer Connection.
class dolbyio::comms::plugin::injector_passthrough;

Public Functions Documentation

function ~injector_passthrough

~injector_passthrough()

Destructor for passthrough injector.

function injector_passthrough

injector_passthrough(
    media_injection_status_cb && status_cb
)

Constructor for the passthrough injector.

Parameters:

  • status_cb Status callback function object, which the application should provide. The injector invokes the function object for any status changes it encounters and provides the media_injection_status object as a parameter. This callback is invoked on either of the injector's media injection thread, or possibly on the injection sources thread. Either way the application should ensure this callback is thread-safe.

function inject_video_frame

virtual bool inject_video_frame(
    std::unique_ptr< video_frame > && frame
) override

Inject a raw video frame into the conference. The video frame must contain YUV pixels.

Parameters:

  • frame The video frame.

Returns:

  • true On successful push of frame.
  • false On failure to push frame.

Reimplements: dolbyio::comms::plugin::injector::inject_video_frame

This method directly passes the frames to Webrtc. The application is responsible for delivering frames at a proper rate.

function inject_audio_frame

virtual bool inject_audio_frame(
    std::unique_ptr< audio_frame > && frame
) override

Inject an audio frame into the conference. The audio frame must contain 10ms of PCM data.

Parameters:

  • frame Audio frame containing raw PCM data.

Returns:

  • true On successful push of frame.
  • false On failure to push frame.

Reimplements: dolbyio::comms::plugin::injector::inject_audio_frame

This method directly passes the frames to Webrtc. The application is responsible for providing frames in steady 10ms intervals.



Did this page help you?