Agora C++ API Reference for All Platforms
Loading...
Searching...
No Matches
NGIAgoraVideoMixerSource.h
1//
2// Agora SDK
3//
4// Copyright (c) 2018 Agora.io. All rights reserved.
5//
6
7#pragma once // NOLINT(build/header_guard)
8
9#include "AgoraBase.h"
10#include "AgoraRefPtr.h"
11#include "IAgoraService.h"
12
13namespace agora {
14namespace rtc {
15
16class IVideoTrack;
17
19 int32_t x;
20 int32_t y;
21 int32_t width;
22 int32_t height;
23 int32_t zOrder; // larger zOrder prioritizes smaller ones
24 float alpha;
25 bool mirror;
26 const char* image_path; // url of the place holder picture
28
30 MixerLayoutConfig(int ox, int oy, int w, int h, int order) : x(ox), y(oy), width(w), height(h), zOrder(order), alpha(1.0), mirror(false), image_path(NULL), rotation(VIDEO_ORIENTATION::VIDEO_ORIENTATION_0) {}
31};
32
39
47public:
56 virtual int addVideoTrack(const char* id, agora_refptr<IVideoTrack> track, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
65 virtual int removeVideoTrack(const char* id, agora_refptr<IVideoTrack> track, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
75 virtual int setStreamLayout(const char* id, const MixerLayoutConfig& config, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
84 virtual int delStreamLayout(const char* id, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
93 virtual int addImageSource(const char* id, const MixerLayoutConfig& config, ImageType type = kPng, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
101 virtual int delImageSource(const char* id, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
105 virtual int clearLayout(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
112 virtual int refresh(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
123 virtual int setBackground(uint32_t width, uint32_t height, int fps, uint32_t color_argb = 0, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
134 virtual int setBackground(uint32_t width, uint32_t height, int fps, const char* url, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
142 virtual int setRotation(uint8_t rotation, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
149 virtual int getAvgMixerDelay() = 0;
157 virtual int setMasterClockSource(const char* id = NULL, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
158};
159
160} //namespace rtc
161} // namespace agora
Definition AgoraRefPtr.h:31
Definition AgoraRefPtr.h:44
Definition NGIAgoraVideoMixerSource.h:46
virtual int clearLayout(aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setBackground(uint32_t width, uint32_t height, int fps, const char *url, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int refresh(aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int delImageSource(const char *id, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int addImageSource(const char *id, const MixerLayoutConfig &config, ImageType type=kPng, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setMasterClockSource(const char *id=NULL, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int getAvgMixerDelay()=0
virtual int delStreamLayout(const char *id, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setRotation(uint8_t rotation, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setStreamLayout(const char *id, const MixerLayoutConfig &config, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int removeVideoTrack(const char *id, agora_refptr< IVideoTrack > track, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int addVideoTrack(const char *id, agora_refptr< IVideoTrack > track, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setBackground(uint32_t width, uint32_t height, int fps, uint32_t color_argb=0, aosl_ref_t ares=AOSL_REF_INVALID)=0
Definition NGIAgoraVideoTrack.h:101
Definition AgoraExtensions.h:5
ImageType
Definition NGIAgoraVideoMixerSource.h:33
@ kUnknownPic
Definition NGIAgoraVideoMixerSource.h:34
@ kPng
Definition NGIAgoraVideoMixerSource.h:35
@ kGif
Definition NGIAgoraVideoMixerSource.h:37
@ kJpeg
Definition NGIAgoraVideoMixerSource.h:36
VIDEO_ORIENTATION
Definition AgoraBase.h:987
@ VIDEO_ORIENTATION_0
Definition AgoraBase.h:991
Definition AgoraAtomicOps.h:21
Definition NGIAgoraVideoMixerSource.h:18
VIDEO_ORIENTATION rotation
Definition NGIAgoraVideoMixerSource.h:27
const char * image_path
Definition NGIAgoraVideoMixerSource.h:26
float alpha
Definition NGIAgoraVideoMixerSource.h:24
int32_t y
Definition NGIAgoraVideoMixerSource.h:20
int32_t x
Definition NGIAgoraVideoMixerSource.h:19
MixerLayoutConfig()
Definition NGIAgoraVideoMixerSource.h:29
int32_t zOrder
Definition NGIAgoraVideoMixerSource.h:23
bool mirror
Definition NGIAgoraVideoMixerSource.h:25
int32_t width
Definition NGIAgoraVideoMixerSource.h:21
MixerLayoutConfig(int ox, int oy, int w, int h, int order)
Definition NGIAgoraVideoMixerSource.h:30
int32_t height
Definition NGIAgoraVideoMixerSource.h:22