Using the IZoomSDKRenderer* videoHelper to record multiple participants

Hi,
I’ve tried to declare 2 instances of IZoomSDKRenderer but it always generates only one yuv file.

here is the code, I started with explicitly declaring 2 IZoomSDKRenderer pointers:

uint32_t countUsers = getCountUsers();
IUserInfo *mySelfObj = getMyself();
std::string usersMap = "";
std::cout << "Attempt record " << countUsers << " users " << std::endl;

for(int i=0;i<countUsers;i++){
	std::cout << "User " << i << ": " << getUserObj(i) << " " << getUserObj(i)->GetUserID() << std::endl;
	if (mySelfObj->GetUserID() == getUserObj(i)->GetUserID()){
		std::cout << "This is me (the bot): " << i << std::endl;
	}else{

		std::cout << "attemptToStartRawRecording : subscribing" << std::endl;
		if(i == 0){
			std::cout << "TEST1 " << std::to_string(getUserObj(i)->GetUserID()) << std::endl;
			
			SDKError err = createRenderer(&videoHelperTest1, videoSource1);
			if (err != SDKERR_SUCCESS) {
				std::cout << "Error occurred" << std::endl;
				// Handle error
			}
			videoHelperTest1->setRawDataResolution(ZoomSDKResolution_720P);
			videoHelperTest1->subscribe(getUserObj(i)->GetUserID(), RAW_DATA_TYPE_VIDEO);
		}else{

			std::cout << "TEST2 " << std::to_string(getUserObj(i)->GetUserID()) << std::endl;
		
			SDKError err = createRenderer(&videoHelperTest2, videoSource2);
			if (err != SDKERR_SUCCESS) {
				std::cout << "Error occurred" << std::endl;
				// Handle error
			}
			videoHelperTest2->setRawDataResolution(ZoomSDKResolution_720P);
			videoHelperTest2->subscribe(getUserObj(i)->GetUserID(), RAW_DATA_TYPE_VIDEO);
		}

	}
}

Initizated in the beginning:


ZoomSDKRenderer* videoSource1 = new ZoomSDKRenderer();
ZoomSDKRenderer* videoSource2 = new ZoomSDKRenderer();
IZoomSDKRenderer* videoHelperTest1;
IZoomSDKRenderer* videoHelperTest2;

And I’m identifying the stream participant by int number = data->GetSourceID(); like this:

void ZoomSDKRenderer::onRawDataFrameReceived(YUVRawDataI420* data)
{
	std::cout << "sourceID." << data->GetSourceID() << std::endl;
}

This is always prints the same single UserId of one participant instead of getting fired for both the participants. (2 real participants and the bot is in the meeting).

Used this page: Overview | Meeting SDK | Linux

@chunsiong.zoom Do you have any idea why is it happening?

UPDATE:
I saw your comment here: Cannot obtain data for more than 5 people using raw data - #2 by chunsiong.zoom Is there any way to get more then 4 participants raw data?