Agora C++ API Reference for All Platforms
Loading...
Searching...
No Matches
NGIAgoraVideoDeviceManager.h
1//
2// Agora SDK
3//
4// Copyright (c) 2025 Agora.io. All rights reserved.
5//
6
7#pragma once // NOLINT(build/header_guard)
8
9
10#include "AgoraBase.h"
11#include "AgoraRefPtr.h"
12#include <api/cpp/aosl_ares_class.h>
13
14namespace agora {
15namespace rtc {
16
20static const int kVdmMaxDeviceSize = 260;
21
26public:
35
37 memset(deviceId, 0, sizeof(deviceId));
38 memset(deviceName, 0, sizeof(deviceName));
39 }
40};
41
46{
47public:
49
60 virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState) = 0;
61
62};
63
64
69 public:
70
82 virtual int registerObserver(IVideoDeviceManagerObserver* observer, void(*safeDeleter)(IVideoDeviceManagerObserver*) = NULL, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
83
92
98 virtual int getNumberOfDevices() = 0;
99
106 virtual int getNumberOfCapabilities(const char* deviceId) = 0;
107
108
117 virtual int getCapability(const char* deviceId, const uint32_t capabilityIndex, VideoFormat& capability) = 0;
118
127 virtual int getDeviceInfo(int index, VideoDeviceInfo& deviceInfo) = 0;
128
129
130protected:
132};
133
134} //namespace rtc
135} // namespace agora
Definition AgoraRefPtr.h:31
Definition NGIAgoraVideoDeviceManager.h:68
virtual int getNumberOfCapabilities(const char *deviceId)=0
virtual int unregisterObserver(IVideoDeviceManagerObserver *observer)=0
virtual int getDeviceInfo(int index, VideoDeviceInfo &deviceInfo)=0
~INGVideoDeviceManager()
Definition NGIAgoraVideoDeviceManager.h:131
virtual int getCapability(const char *deviceId, const uint32_t capabilityIndex, VideoFormat &capability)=0
virtual int registerObserver(IVideoDeviceManagerObserver *observer, void(*safeDeleter)(IVideoDeviceManagerObserver *)=NULL, aosl_ref_t ares=AOSL_REF_INVALID)=0
Definition NGIAgoraVideoDeviceManager.h:46
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)=0
virtual ~IVideoDeviceManagerObserver()
Definition NGIAgoraVideoDeviceManager.h:48
Definition NGIAgoraVideoDeviceManager.h:25
VideoDeviceInfo()
Definition NGIAgoraVideoDeviceManager.h:36
char deviceId[kVdmMaxDeviceSize]
Definition NGIAgoraVideoDeviceManager.h:30
char deviceName[kVdmMaxDeviceSize]
Definition NGIAgoraVideoDeviceManager.h:34
Definition channel_capability_i.h:14
Definition AgoraExtensions.h:5
static const int kVdmMaxDeviceSize
Definition NGIAgoraVideoDeviceManager.h:20
Definition AgoraAtomicOps.h:21
The format of the video frame.
Definition AgoraBase.h:3160