@chunsiong.zoom I found solve of my issue in this post. The problem was in ZoomSDKResolution. I used ZoomSDKResolution_720P
instead of ZoomSDKResolution_360P
or another one. After I change this param all work good!
If someone have problem with connecting to multiply participant, you need to create loop within you create render for each user
void createRender(uint32_t userId, bool isVideo, bool isAudio) {
if (isVideo) {
ZoomSDKRenderer* videoSource = new ZoomSDKRenderer();
IZoomSDKRenderer* videoHelper;
SDKError err = createRenderer(&videoHelper, videoSource); // Zamenit' nullptr na vash delegat, yesli neobkhodimo
if (err != SDKERR_SUCCESS) {
std::cout << "Error occurred creating videoHelper" << std::endl;
return;
} else {
videoHelper->setRawDataResolution(ZoomSDKResolution_360P);
videoHelper->subscribe(userId, RAW_DATA_TYPE_VIDEO);
std::cout << "Subscribe on user with id "<<videoHelper->getUserId()<<std::endl;
}
}
if (isAudio) {
audioHelper = GetAudioRawdataHelper();
if (audioHelper) {
SDKError err = audioHelper->subscribe(audio_source);
if (err != SDKERR_SUCCESS) {
std::cout << "Error occurred subscribing to audio : " << err << std::endl;
}
} else {
std::cout << "Error getting audioHelper" << std::endl;
}
}
}
void CheckAndStartRawRecording(bool isVideo, bool isAudio) {
m_pRecordController = m_pMeetingService->GetMeetingRecordingController();
SDKError err2 = m_pRecordController->CanStartRawRecording();
if (err2 == SDKERR_SUCCESS) {
SDKError err1 = m_pRecordController->StartRawRecording();
if (err1 != SDKERR_SUCCESS) {
std::cout << "Error occurred starting raw recording" << std::endl;
return;
}
int count = getParticipantCount();
for (int i = 0; i < count; i++) {
std::string name = getUserName(i);
if (name != "EmotionIQ Bot") {
uint32_t userId = getUserID(i);
createRender(userId, isVideo, isAudio);
}
}
} else {
std::cout << "Cannot start raw recording: no permissions yet, need host, co-host, or recording privilege" << std::endl;
}
}