ZegoLiveRoom
Classes | Typedefs | Enumerations | Variables
AVE Namespace Reference

Classes

class  AudioCaptureCallback
 
struct  AudioCaptureFormat
 
struct  AudioFrame
 
class  Camera
 
struct  ExtAudioProcSet
 
class  IAudioConverter
 
class  IAudioDataInOutput
 
class  IAudioEffectPlayer
 
class  IMediaPlayer
 
struct  ROIRect
 
class  SupportsAudioCapture
 
class  SupportsVideoCapture
 
class  VideoBufferPool
 
class  VideoCaptureCallback
 
class  VideoCaptureCVPixelBufferCallback
 
class  VideoCaptureDevice
 
class  VideoCaptureDeviceBase
 
class  VideoCaptureEncodedFrameCallback
 
class  VideoCaptureFactory
 
class  VideoCaptureSurfaceTextureCallback
 
class  VideoCaptureTextureCallback
 
struct  VideoCodecConfig
 
struct  VideoDataFormat
 
class  VideoFilter
 
class  VideoFilterCallback
 
class  VideoFilterFactory
 
class  VideoFilterMemCallback
 

Typedefs

typedef void(* OnAudioProcCallback) (const AudioFrame &inFrame, AudioFrame &outFrame)
 
typedef struct ExtAudioProcSet ExtPrepSet
 
typedef OnAudioProcCallback OnPrepCallback
 
typedef struct ExtAudioProcSet ExtPostpSet
 
typedef void(* OnPostpCallback) (const char *streamId, const AudioFrame &inFrame, AudioFrame &outFrame)
 
typedef void(* OnAudioPcmDataCallback) (void *callbackContext, int channelIndex, const AudioFrame &outFrame)
 
typedef OnAudioPcmDataCallback OnAlignedAudioAuxCallback
 
typedef VideoDataFormat VideoCaptureFormat
 

Enumerations

enum  AudioBufferType { BufferTypeAudioApp = 0 , BufferTypeAudioMic }
 
enum  FrameType {
  TYPE_PCM = 0x1001 , TYPE_PCM_TS_10MS = 0x1002 , TYPE_PCM_10MS = 0x1003 , TYPE_AAC_STREAM = 0x100A ,
  TYPE_OPUS_STREAM = 0x100B
}
 
enum  { VCAP_ERROR_NOERROR = 0 , VCAP_ERROR_GENERIC_ERROR = -1 , VCAP_ERROR_NOMEMORY = -2 , VCAP_ERROR_INVALID_ACTIVE_D3D11_DEVICE = -1024 }
 
enum  VideoFillMode { FILL_MODE_BLACKBAR , FILL_MODE_CROP , FILL_MODE_STRETCH }
 
enum  VideoFlipMode { FLIP_MODE_NONE = 0 , FLIP_MODE_X = 1 << 0 , FLIP_MODE_Y = 1 << 1 }
 
enum  VideoCodecType {
  CODEC_TYPE_AVC_AVCC = 0 , CODEC_TYPE_AVC_ANNEXB = 1 , CODEC_TYPE_VP8 = 2 , CODEC_TYPE_HEVC_AVCC = 3 ,
  CODEC_TYPE_HEVC_ANNEXB = 4
}
 
enum  VideoPixelBufferType {
  PIXEL_BUFFER_TYPE_UNKNOWN = 0 , PIXEL_BUFFER_TYPE_MEM = 1 << 0 , PIXEL_BUFFER_TYPE_CV_PIXEL_BUFFER = 1 << 1 , PIXEL_BUFFER_TYPE_SURFACE_TEXTURE = 1 << 2 ,
  PIXEL_BUFFER_TYPE_GL_TEXTURE_2D = 1 << 3 , PIXEL_BUFFER_TYPE_ENCODED_FRAME = 1 << 4 , PIXEL_BUFFER_TYPE_I422_MEM_FOR_HIGH422 = 1 << 5 , PIXEL_BUFFER_TYPE_GL_TEXTURE_EXTERNAL_OES = 1 << 6 ,
  PIXEL_BUFFER_TYPE_D3D9_TEXTURE = 1 << 7 , PIXEL_BUFFER_TYPE_D3D11_TEXTURE = 1 << 8 , PIXEL_BUFFER_TYPE_D3D12_TEXTURE = 1 << 9
}
 
enum  VideoBufferType {
  BUFFER_TYPE_UNKNOWN = 0 , BUFFER_TYPE_MEM = 1 << 0 , BUFFER_TYPE_ASYNC_PIXEL_BUFFER = 1 << 1 , BUFFER_TYPE_SYNC_PIXEL_BUFFER = 1 << 2 ,
  BUFFER_TYPE_SURFACE_TEXTURE = 1 << 3 , BUFFER_TYPE_HYBRID_MEM_GL_TEXTURE_2D = 1 << 4 , BUFFER_TYPE_SYNC_GL_TEXTURE_2D = 1 << 5 , BUFFER_TYPE_ASYNC_I420_MEM = 1 << 6 ,
  BUFFER_TYPE_ASYNC_I420_PIXEL_BUFFER = 1 << 7 , BUFFER_TYPE_ASYNC_NV12_PIXEL_BUFFER = 1 << 8 , BUFFER_TYPE_ASYNC_CM_SAMPLE_BUFFER = 1 << 9 , BUFFER_TYPE_SYNC_CM_SAMPLE_BUFFER = 1 << 10 ,
  BUFFER_TYPE_SYNC_BGRA32_MEM = 1 << 11 , BUFFER_TYPE_SYNC_I420_MEM = 1 << 12 , BUFFER_TYPE_SYNC_NV12_PIXEL_BUFFER = 1 << 13
}
 
enum  VideoBufferDestination { BUFFER_TO_PREVIEW = 0 , BUFFER_TO_ENCODE = 1 , BUFFER_TO_BOTH = 2 }
 
enum  VideoPixelFormat {
  PIXEL_FORMAT_UNKNOWN = 0 , PIXEL_FORMAT_I420 = 1 , PIXEL_FORMAT_NV12 = 2 , PIXEL_FORMAT_NV21 = 3 ,
  PIXEL_FORMAT_BGRA32 = 4 , PIXEL_FORMAT_RGBA32 = 5 , PIXEL_FORMAT_ARGB32 = 6 , PIXEL_FORMAT_ABGR32 = 7 ,
  PIXEL_FORMAT_I422 = 8 , PIXEL_FORMAT_AVC_AVCC = 9 , PIXEL_FORMAT_AVC_ANNEXB = 10 , PIXEL_FORMAT_YUY2 = 11 ,
  PIXEL_FORMAT_UYVY = 12 , PIXEL_FORMAT_BGR24 = 13 , PIXEL_FORMAT_RGB24 = 14
}
 

Variables

const int MAX_SAMPLES_IN_FRAME = 3200
 

Typedef Documentation

◆ ExtPostpSet

◆ ExtPrepSet

◆ OnAlignedAudioAuxCallback

对齐后的混音音频数据回调

Parameters
callbackContext上下文
channelIndex通道号,不需要关注,混音仅对主通道生效
outFrame对齐后的混音音频数据
Attention
请不要在当前线程做耗时操作
如果想要从此回调中获取媒体播放器的音频混音数据,需要调用 [enableAux] 或媒体播放器类型为 Aux

◆ OnAudioPcmDataCallback

typedef void(* AVE::OnAudioPcmDataCallback) (void *callbackContext, int channelIndex, const AudioFrame &outFrame)

音频数据回调

Parameters
callbackContext上下文
channelIndex通道号
outFrame音频数据

◆ OnAudioProcCallback

typedef void(* AVE::OnAudioProcCallback)(const AudioFrame &inFrame, AudioFrame &outFrame)

音频处理回调函数定义

Parameters
inFrame待处理音频数据
outFrame处理后的音频数据,其中buffer 所指向的内存由 SDK 负责申请和销毁,用户处理后回写的数据的采样率不超过48K
Attention
请确保在当前线程完成,且不要做耗时操作

◆ OnPostpCallback

typedef void(* AVE::OnPostpCallback)(const char *streamId, const AudioFrame &inFrame, AudioFrame &outFrame)

音频后处理回调函数定义

Parameters
streamId流 ID, 当 streamId 为空串时,表明这是混音后的音频数据
inFrame待处理音频数据
outFrame处理后的音频数据,其中 buffer 所指向的内存由 SDK 负责申请和销毁,用户处理后回写的数据的采样率不超过48K
Attention
请确保在当前线程完成,且不要做耗时操作

◆ OnPrepCallback

◆ VideoCaptureFormat

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
VCAP_ERROR_NOERROR 
VCAP_ERROR_GENERIC_ERROR 
VCAP_ERROR_NOMEMORY 
VCAP_ERROR_INVALID_ACTIVE_D3D11_DEVICE 

◆ AudioBufferType

Enumerator
BufferTypeAudioApp 
BufferTypeAudioMic 

◆ FrameType

Enumerator
TYPE_PCM 
TYPE_PCM_TS_10MS 
TYPE_PCM_10MS 
TYPE_AAC_STREAM 
TYPE_OPUS_STREAM 

◆ VideoBufferDestination

Enumerator
BUFFER_TO_PREVIEW 
BUFFER_TO_ENCODE 
BUFFER_TO_BOTH 

◆ VideoBufferType

Enumerator
BUFFER_TYPE_UNKNOWN 
BUFFER_TYPE_MEM 
BUFFER_TYPE_ASYNC_PIXEL_BUFFER 
BUFFER_TYPE_SYNC_PIXEL_BUFFER 
BUFFER_TYPE_SURFACE_TEXTURE 
BUFFER_TYPE_HYBRID_MEM_GL_TEXTURE_2D 
BUFFER_TYPE_SYNC_GL_TEXTURE_2D 
BUFFER_TYPE_ASYNC_I420_MEM 
BUFFER_TYPE_ASYNC_I420_PIXEL_BUFFER 
BUFFER_TYPE_ASYNC_NV12_PIXEL_BUFFER 
BUFFER_TYPE_ASYNC_CM_SAMPLE_BUFFER 
BUFFER_TYPE_SYNC_CM_SAMPLE_BUFFER 
BUFFER_TYPE_SYNC_BGRA32_MEM 
BUFFER_TYPE_SYNC_I420_MEM 
BUFFER_TYPE_SYNC_NV12_PIXEL_BUFFER 

◆ VideoCodecType

Enumerator
CODEC_TYPE_AVC_AVCC 
CODEC_TYPE_AVC_ANNEXB 
CODEC_TYPE_VP8 
CODEC_TYPE_HEVC_AVCC 
CODEC_TYPE_HEVC_ANNEXB 

◆ VideoFillMode

Enumerator
FILL_MODE_BLACKBAR 
FILL_MODE_CROP 
FILL_MODE_STRETCH 

◆ VideoFlipMode

Enumerator
FLIP_MODE_NONE 
FLIP_MODE_X 
FLIP_MODE_Y 

◆ VideoPixelBufferType

Enumerator
PIXEL_BUFFER_TYPE_UNKNOWN 
PIXEL_BUFFER_TYPE_MEM 
PIXEL_BUFFER_TYPE_CV_PIXEL_BUFFER 
PIXEL_BUFFER_TYPE_SURFACE_TEXTURE 
PIXEL_BUFFER_TYPE_GL_TEXTURE_2D 
PIXEL_BUFFER_TYPE_ENCODED_FRAME 
PIXEL_BUFFER_TYPE_I422_MEM_FOR_HIGH422 
PIXEL_BUFFER_TYPE_GL_TEXTURE_EXTERNAL_OES 
PIXEL_BUFFER_TYPE_D3D9_TEXTURE 
PIXEL_BUFFER_TYPE_D3D11_TEXTURE 
PIXEL_BUFFER_TYPE_D3D12_TEXTURE 

◆ VideoPixelFormat

Enumerator
PIXEL_FORMAT_UNKNOWN 
PIXEL_FORMAT_I420 
PIXEL_FORMAT_NV12 
PIXEL_FORMAT_NV21 
PIXEL_FORMAT_BGRA32 
PIXEL_FORMAT_RGBA32 
PIXEL_FORMAT_ARGB32 
PIXEL_FORMAT_ABGR32 
PIXEL_FORMAT_I422 
PIXEL_FORMAT_AVC_AVCC 
PIXEL_FORMAT_AVC_ANNEXB 
PIXEL_FORMAT_YUY2 
PIXEL_FORMAT_UYVY 
PIXEL_FORMAT_BGR24 
PIXEL_FORMAT_RGB24 

Variable Documentation

◆ MAX_SAMPLES_IN_FRAME

const int AVE::MAX_SAMPLES_IN_FRAME = 3200