ZegoLiveRoom
Classes | Enumerations | Functions | Variables
ZEGO::EXTERNAL_RENDER Namespace Reference

Classes

class  IZegoVideoDecodeCallback
 
class  IZegoVideoRenderCallback
 

Enumerations

enum  VideoRenderType {
  VIDEO_RENDER_TYPE_NONE = 0 , VIDEO_RENDER_TYPE_RGB = 1 , VIDEO_RENDER_TYPE_YUV = 2 , VIDEO_RENDER_TYPE_ANY = 3 ,
  VIDEO_RENDER_TYPE_EXTERNAL_INTERNAL_RGB = 4 , VIDEO_RENDER_TYPE_EXTERNAL_INTERNAL_YUV = 5 , VIDEO_RENDER_TYPE_EXTERNAL_SURFACE_TEXTURE = 6
}
 

Functions

ZEGOAVKIT_API void SetVideoRenderType (VideoRenderType type)
 
ZEGOAVKIT_API void SetVideoRenderCallback (IZegoVideoRenderCallback *callback)
 
ZEGOAVKIT_API void SetVideoDecodeCallback (IZegoVideoDecodeCallback *callback)
 
ZEGOAVKIT_API bool EnableVideoRender (bool bEnable, const char *pszStreamID)
 
ZEGOAVKIT_API bool EnableVideoRender (bool bEnable, int nPlayChannel)
 
ZEGOAVKIT_API bool EnableVideoPreview (bool bEnable, AV::PublishChannelIndex nPublishChannel=AV::PUBLISH_CHN_MAIN)
 

Variables

ZEGOAVKIT_API const char * kZegoVideoDataMainPublishingStream
 
ZEGOAVKIT_API const char * kZegoVideoDataAuxPublishingStream
 
ZEGOAVKIT_API const char * kZegoVideoDataThirdPublishingStream
 
ZEGOAVKIT_API const char * kZegoVideoDataFourthPublishingStream
 

Enumeration Type Documentation

◆ VideoRenderType

Enumerator
VIDEO_RENDER_TYPE_NONE 

默认值, 不开外部渲染

VIDEO_RENDER_TYPE_RGB 

默认 BGRA32(Android 为 RGBA32), 仅外部渲染,内部不渲染

VIDEO_RENDER_TYPE_YUV 

默认 I420。仅外部渲染,内部不渲染

VIDEO_RENDER_TYPE_ANY 

由返回参数指定类型。仅外部渲染,内部不渲染

VIDEO_RENDER_TYPE_EXTERNAL_INTERNAL_RGB 

外部渲染同时内部渲染,且数据格式为 RGB。默认 BGRA32(Android 为 RGBA32)

VIDEO_RENDER_TYPE_EXTERNAL_INTERNAL_YUV 

外部渲染同时内部渲染,且数据格式为 YUV。默认 I420

VIDEO_RENDER_TYPE_EXTERNAL_SURFACE_TEXTURE 

仅外部渲染,数据类型为 SurfaceTexture。数据在系统的onFrameAvailable回调

Function Documentation

◆ EnableVideoPreview()

ZEGOAVKIT_API bool ZEGO::EXTERNAL_RENDER::EnableVideoPreview ( bool  bEnable,
AV::PublishChannelIndex  nPublishChannel = AV::PUBLISH_CHN_MAIN 
)

设置是否需要 SDK 将推流预览的数据抛出。当置为 true 时,SDK 通过 SetVideoRenderCallback 设置的接口将预览数据返回给 App

Parameters
bEnabletrue 开启, false 不开启,默认为不开启
nPublishChannel推流通道,默认为主通道
Note
在启动预览(StartPreview)前调用有效

◆ EnableVideoRender() [1/2]

ZEGOAVKIT_API bool ZEGO::EXTERNAL_RENDER::EnableVideoRender ( bool  bEnable,
const char *  pszStreamID 
)

设置是否开启/关闭外部视频渲染(拉流)

Parameters
pszStreamID播放流ID
bEnabletrue 开启, false 不开启,默认为不开启
Note
只有当 VideoRenderType 设置为非 VIDEO_RENDER_TYPE_NONE 时,该接口才有效
在拉流(startPlayingStream)之后调用有效

◆ EnableVideoRender() [2/2]

ZEGOAVKIT_API bool ZEGO::EXTERNAL_RENDER::EnableVideoRender ( bool  bEnable,
int  nPlayChannel 
)

设置是否开启/关闭外部视频渲染(拉流)

Parameters
nPlayChannel播放通道
bEnabletrue 开启, false 不开启,默认为不开启
Note
只有当 VideoRenderType 设置为非 VIDEO_RENDER_TYPE_NONE 时,该接口才有效
在拉流(startPlayingStream)之后调用有效

◆ SetVideoDecodeCallback()

ZEGOAVKIT_API void ZEGO::EXTERNAL_RENDER::SetVideoDecodeCallback ( IZegoVideoDecodeCallback callback)

设置外部视频解码回调。当调用该 API 设置了回调后,App 通过此回调接收 SDK 原始码流。

Parameters
callback外部解码回调
Note
启动拉流/预览前设置,中途不要随便置空;
当设置了此回调后,内部渲染与外部渲染都将无效,必须由 App 自己实现解码渲染。

◆ SetVideoRenderCallback()

ZEGOAVKIT_API void ZEGO::EXTERNAL_RENDER::SetVideoRenderCallback ( IZegoVideoRenderCallback callback)

设置外部视频渲染回调。App 通过此回调接收 SDK 提供的待渲染视频数据

Parameters
callback外部渲染回调
Note
启动拉流/预览前设置,确保所有拉流及预览已经停止 或 反初始化 SDK 之后才能置空,否则可能出现空指针异常

◆ SetVideoRenderType()

ZEGOAVKIT_API void ZEGO::EXTERNAL_RENDER::SetVideoRenderType ( VideoRenderType  type)

设置当开启外部视频渲染时要求 SDK 提供的渲染方式(仅外部渲染或者内部外部同时渲染)及数据格式

Parameters
type指定 SDK 提供的渲染方式及数据格式
Note
在启动推/拉流 及 预览 前设置有效

Variable Documentation

◆ kZegoVideoDataAuxPublishingStream

ZEGOAVKIT_API const char* ZEGO::EXTERNAL_RENDER::kZegoVideoDataAuxPublishingStream
extern

◆ kZegoVideoDataFourthPublishingStream

ZEGOAVKIT_API const char* ZEGO::EXTERNAL_RENDER::kZegoVideoDataFourthPublishingStream
extern

◆ kZegoVideoDataMainPublishingStream

ZEGOAVKIT_API const char* ZEGO::EXTERNAL_RENDER::kZegoVideoDataMainPublishingStream
extern

◆ kZegoVideoDataThirdPublishingStream

ZEGOAVKIT_API const char* ZEGO::EXTERNAL_RENDER::kZegoVideoDataThirdPublishingStream
extern