1#ifndef MILLICAST_API_RENDERER_H
2#define MILLICAST_API_RENDERER_H
31 virtual ~Renderer() =
default;
37 virtual void init() = 0;
48class VideoRenderer :
public Renderer {
50 VideoRenderer() =
default;
51 ~VideoRenderer()
override =
default;
59 virtual void on_frame(
const VideoFrame& frame) = 0;
74 AudioRenderer() =
default;
75 virtual ~AudioRenderer() =
default;
82 virtual void on_frame(
const AudioFrame& frame) = 0;
94class DeckLinkRenderer :
public VideoRenderer {
96 DeckLinkRenderer() =
default;
97 ~DeckLinkRenderer()
override =
default;
104 MILLICAST_API virtual void set_source(VideoSource::Ptr device) = 0;
112 MILLICAST_API static std::vector<VideoSource::Ptr> get_decklink_devices();
130class NdiRenderer :
public VideoRenderer {
132 NdiRenderer() =
default;
133 ~NdiRenderer()
override =
default;
152#if defined MILLICAST_SDK_TVOS || defined MILLICAST_SDK_IOS
156 IosVideoRenderer() =
default;
157 virtual ~IosVideoRenderer() =
default;
159 virtual void* get_uiview() = 0;
160 virtual float width() = 0;
161 virtual float height() = 0;
163 static IosVideoRenderer* create();
165 std::function<void(
float,
float)> did_change_video_size;
#define MILLICAST_API
Definition exports.h:51