Hello!
I’ve been troubleshooting with sending raw video data to the meeting room through meeting SDK recently.
Unfortunately there are no code samples on how to use the sendVideoFrame function on linux
However, after researching on this topic for a while, I decided to override the following class: IZoomSDKVideoSource
The header file
class MyRawDataClass : public IZoomSDKVideoSource
{
// Construction
public:
virtual ~MyRawDataClass(){}
virtual void onInitialize(IZoomSDKVideoSender* sender, IList<VideoSourceCapability >* support_cap_list, VideoSourceCapability& suggest_cap) = 0;
virtual void onPropertyChange(IList<VideoSourceCapability >* support_cap_list, VideoSourceCapability suggest_cap) = 0;
virtual void onStartSend() = 0;
virtual void onStopSend() = 0;
virtual void onUninitialized() = 0;
private:
IZoomSDKVideoSender * m_pSender;
};
The source file
void MyRawDataClass::onInitialize(IZoomSDKVideoSender* sender, IList<VideoSourceCapability >* support_cap_list, VideoSourceCapability& suggest_cap)
{
//when set virtual video source, go here!!!
if (!sender) return;
m_pSender = sender;
//capability
if (!support_cap_list) return;
unsigned int nCount = support_cap_list->GetCount();
for(int i=0; i < nCount; i++)
{
VideoSourceCapability & cap_ = support_cap_list->GetItem(i);
std::printf("onInitialize cap index:%d: frame=%d, height=%d, width=%d \n");
}
}
And I am stuck there don’t know how to initialize my custom class and how to retrieve the m_pSender property so I can use the sendVideoFrame function.
I require your help to tell me what I am doing wrong and how I need to implement the code above so it can work properly.
Thanks for your attention; Your help will be appreciated