cn.tee3.avd_SDK-Objectc  2.1.0
AVDVideo.h
浏览该文件的文档.
1 //
2 // AVDVideo.h
3 // avd_sdk
4 //
5 // Created by skin on 15-7-21.
6 // Copyright (c) 2015年 t3ee. All rights reserved.
7 //
8 
9 #ifndef avd_sdk_AVDVideo_h
10 #define avd_sdk_AVDVideo_h
11 
12 #import "AVDModule.h"
13 #import "AVDDevice.h"
14 #import "AVDCamera.h"
15 #import "AVDVideoRenderer.h"
16 #import "AVDFakeVideoCapturer.h"
17 #import "CoreVideo/CVPixelBuffer.h"
18 
19 @class AVDRoom;
20 
26 @protocol AVDVideoDelegate<NSObject>
27 
28 @required
30 
36 - (void) onCameraStatusNotify:(enum AVDDeviceStatus)status deviceId:(AVDDeviceId)fromId;
37 
38 @optional
46 - (void) onCameraDataNotify:(NSInteger)level description:(NSString*)description deviceId:(AVDDeviceId)fromId;
55 - (void) onPublishCameraNotify:(AVDCamera*)camera;
64 - (void) onUnpublishCameraNotify:(AVDCamera*)camera;
65 
67 
74 - (void) onSubscribeResult:(AVDResult)result deviceId:(AVDDeviceId)fromId;
82 - (void) onUnsubscribeResult:(AVDResult)result deviceId:(AVDDeviceId)fromId;
91 - (void) onPublishLocalResult:(AVDResult)result deviceId:(AVDDeviceId)fromId;
100 - (void) onUnpublishLocalResult:(AVDResult)result deviceId:(AVDDeviceId)fromId;
101 
102 @end
103 
104 
110 @interface AVDVideo : AVDModule
111 
112 @property (nonatomic,weak) id <AVDVideoDelegate>delegate;
118 @property (nonatomic,retain,readonly) NSMutableArray* publishedCameras;
122 @property (nonatomic,retain,readonly) NSMutableArray* subscribedCameras;
123 
129 + (AVDVideo* ) getVideo:(AVDRoom*)room;
130 
131 //
139 - (AVDResult) previewLocalCamera:(id<AVDVideoRenderer>)render;
158 - (AVDResult) publishLocalCameraWithCamera:(AVDCamera*)camera;
174 
177 - (BOOL) ispublishLocalCamera;
178 
188 - (AVDResult) previewLocalCamera:(enum AVDCameraType)type render:(id<AVDVideoRenderer>)render;
201 - (AVDResult) previewLocalCamera:(AVDCamera*)fakeDevice capturer:(AVDFakeVideoCapturer*)capturer render:(id<AVDVideoRenderer>)render;
226 - (AVDResult) publishLocalCamera:(AVDCamera*)fakeDevice capturer:(AVDFakeVideoCapturer*)capturer;
235 - (AVDResult) switchToLocalCameraWithType:(enum AVDCameraType)toType;
249 - (AVDResult) updateCameraData:(AVDDeviceId)deviceId level:(NSInteger)level description:(NSString*)description;
256 - (AVDCamera*) getCamera:(enum AVDCameraType)type;
263 - (AVDCamera*) getCameraWithId:(AVDDeviceId)deviceId;
264 
266 
273 - (AVDResult) subscribe:(AVDDeviceId)deviceId;
274 - (AVDResult) subscribe:(AVDDeviceId)deviceId quality:(enum AVDStreamType)stream;
282 - (AVDResult) unsubscribe:(AVDDeviceId)deviceId;
283 
286 - (BOOL) isCameraPublished:(AVDDeviceId)fromId;
289 - (BOOL) isCameraSubscribed:(AVDDeviceId)fromId;
291 
295 - (AVDResult) remotecmdPublishCamera:(AVDCamera*)device;
300 - (AVDResult) remotecmdUnpublishCamera:(AVDDeviceId)deviceId;
301 
303 
313 - (AVDResult) attachRenderWithDeviceId:(AVDDeviceId)deviceId render:(id<AVDVideoRenderer>)render;
320 - (AVDResult) detachRenderWithDeviceId:(AVDDeviceId)deviceId;
326 - (AVDResult) detachRenderWithRender:(id<AVDVideoRenderer>)render;
327 
332 - (AVDCamera *) getCameraByUserId:(AVDUserId)userId;
333 
335 
344 - (AVDResult) setMixerDateRender:(id<AVDVideoRenderer>)render;
348 - (AVDResult) setMixerDateListener:(id<AVDVideoRendererCallBacks>)cb;
355 - (AVDResult) setMixerMainVideo:(AVDDeviceId)deviceId;
364 - (AVDResult) setMixerVideoSize:(NSUInteger)width height:(NSUInteger)height background:(NSString*)background;
376 - (AVDResult) addMixerOverlayVideo:(AVDDeviceId)deviceId zorder:(NSUInteger)zorder x:(CGFloat)x y:(CGFloat)y w:(CGFloat)w h:(CGFloat)h;
388 - (AVDResult) addMixerOverlayVideoPixel:(AVDDeviceId)deviceId zorder:(NSUInteger)zorder x:(NSUInteger)x y:(NSUInteger)y w:(NSUInteger)w h:(NSUInteger)h;
399 - (AVDResult) updateMixerOverlayVideo:(AVDDeviceId)deviceId zorder:(NSUInteger)zorder x:(CGFloat)x y:(CGFloat)y w:(CGFloat)w h:(CGFloat)h;
410 - (AVDResult) updateMixerOverlayVideoPixel:(AVDDeviceId)deviceId zorder:(NSUInteger)zorder x:(NSUInteger)x y:(NSUInteger)y w:(NSUInteger)w h:(NSUInteger)h;
416 - (AVDResult) removeMixerOverlayVideo:(AVDDeviceId)deviceId;
422 
423 
425 
434 - (AVDResult) setVideoBitrate:(AVDDeviceId)deviceId min:(NSInteger)minBitrateBps max:(NSInteger)maxBitrateBps;
435 
436 // setting video param
437 
438 #ifndef DOXYGEN_SHOULD_SKIP_THIS
439 // Disallow init and don't add to documentation
440 - (id)init __attribute__((
441  unavailable("init is not a supported initializer for this class.")));
442 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
443 
444 
445 + (AVDResult) nv12ConvertPixelBuffer:(CVPixelBufferRef)pixelBuffer toData:(NSMutableData*)data;
446 
447 @end
448 
449 #endif
AVDDeviceStatus
设备状态.
Definition: AVDDevice.h:14
AVDResult switchToLocalCamera()
切换特定类型摄像头视频源
(unavailable("init is not a supported initializer for this class." __attribute__()
NSString * AVDDeviceId
Definition: AVDCommon.h:17
AVDResult clearMixerVideos()
清理掉所有的混屏视频,包括主视频;如果需要再次开启合屏,需要重新设置主视频和Overlay视频。 ...
Definition: AVDModule.h:24
NSMutableArray * publishedCameras
已共享摄像头信息列表
Definition: AVDVideo.h:118
房间中视频模块接口.
Definition: AVDVideo.h:110
NSInteger AVDResult
Definition: AVDCommon.h:14
Definition: AVDVideoRenderer.h:27
视频流导入接口.
Definition: AVDFakeVideoCapturer.h:49
Definition: AVDVideoRenderer.h:48
AVDCameraType
摄像头类型.
Definition: AVDCamera.h:15
BOOL ispublishLocalCamera()
判断是否已经打开本地摄像头
AVDResult unpreviewLocalCamera()
取消预览缺省摄像头视频
NSString * AVDUserId
Definition: AVDCommon.h:15
id< AVDVideoDelegate > delegate
视频模块回调接口代理
Definition: AVDVideo.h:112
初始状态
Definition: AVDRoomInfo.h:37
视频摄像头信息结构.
Definition: AVDCamera.h:27
房间中视频模块回调接口.
Definition: AVDVideo.h:26
AVDResult publishLocalCamera()
发布缺省摄像头视频
AVDDeviceId getLocalDefaultCameraId()
enum AVDCameraType getCurrentCameraType()
获取当前使用的摄像头类型
房间接口类
Definition: AVDRoom.h:173
AVDStreamType
视频主辅流类型.
Definition: AVDPublishVideoOptions.h:16
NSMutableArray * subscribedCameras
已订阅摄像头信息列表
Definition: AVDVideo.h:122
AVDResult unpublishLocalCamera()
取消发布缺省摄像头视频