9 #pragma once // NOLINT(build/header_guard)
11 #include "AgoraBase.h"
13 #ifndef OPTIONAL_ENUM_CLASS
14 #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)
15 #define OPTIONAL_ENUM_CLASS enum class
17 #define OPTIONAL_ENUM_CLASS enum
29 OPTIONAL_ENUM_CLASS Format {
47 RawPixelBuffer::Format format;
55 : data_y(NULL), stride_y(0), data_u(NULL), stride_u(0), data_v(NULL), stride_v(0) {}
65 OPTIONAL_ENUM_CLASS TextureType {
69 OPTIONAL_ENUM_CLASS EglContextType {
74 TextureType texture_type;
75 EglContextType context_type;
80 float transform_matrix[16];
83 RawPixelBuffer::Format raw_data_format;
85 int64_t raw_data_size;
94 OPTIONAL_ENUM_CLASS Type {
112 int64_t timestamp_ms;
119 OPTIONAL_ENUM_CLASS VideoFrameMetaDataType {
129 OPTIONAL_ENUM_CLASS VideoFrameGravityRotation {
130 kGravityRotation_Unknown = -1,
131 kGravityRotation_0 = 0,
132 kGravityRotation_90 = 90,
133 kGravityRotation_180 = 180,
134 kGravityRotation_270 = 270
142 typedef int32_t VideoSourceType;
204 const VideoFrameData& data,
const VideoFrameMetaDataType* metatypes = NULL,
int count = 0) = 0;