Balckagic SDK の使用を開始しようとしています。そして、デバイス「DeckLink SDI」のフレームを取得するのに苦労しました
void get_video(IDeckLink* decklink){
HRESULT result;
IDeckLinkInput* decklinkinput = NULL;
BSTR name = NULL;
IDeckLinkDisplayModeIterator* displayModeIterator = NULL;
IDeckLinkInputCallback* theCallback = NULL;
IDeckLinkVideoInputFrame* decklinkInputVideoframe =NULL;
IDeckLinkDisplayMode* displayMode = NULL;
IDeckLinkVideoInputFrame* inputVideoFrame;
IDeckLinkAudioInputPacket* inputAudioPacket;
IBMDStreamingDeviceInput* capture;
IDeckLinkVideoFrame* deckLinkVideoFrame = NULL;
unsigned long avaibleFrames = NULL;
result = decklink->QueryInterface(IID_IDeckLinkInput,(void**) &decklinkinput);
result = decklinkinput->GetDisplayModeIterator(&displayModeIterator);
result = decklinkinput->SetCallback(theCallback);
result = decklinkinput->EnableVideoInput(BMDDisplayMode::bmdModeHD1080i50,BMDPixelFormat::bmdFormat8BitYUV,bmdVideoInputEnableFormatDetection);
result = decklinkinput->DisableAudioInput();
result = decklinkinput->StartStreams();
decklinkinput->GetAvailableVideoFrameCount(&avaibleFrames);
cout<<"Number of avaible frames " << avaibleFrames<<endl;
result = decklinkinput->SetCallback(theCallback);
theCallback->VideoInputFrameArrived(inputVideoFrame, inputAudioPacket);
result = decklinkinput->StopStreams();
}
構文エラーはありません。フレームの数は0です。フレームを保存する方法がわかりません。助けてくれてありがとう。