facebookarchive / 360-Capture-SDK

A developer focused sample SDK that allows game and virtual Reality devs to be able to easily and quickly integrate 360 photo/video capture capability into their game apps.
https://github.com/facebook/360-Capture-SDK
Other
252 stars 75 forks source link

NV_ENC_ERR_OUT_OF_MEMORY #43

Closed 807183087 closed 6 years ago

807183087 commented 6 years ago

I found when I record once ,the function "NvEncOpenEncodeSessionEx(device, deviceType)" was invoked twice. 1、FBCaptureSystem::getCaptureCapability() -> EncoderMain::initSessionANDdriverCapabilityCheck() -> "status = this->nvEncoder->initNVEncodingSession(); 2、BCaptureSystem::encodeThreadRun() -> EncoderMain::startEncoding -> FBCAPTURE_STATUS NVEncoder::encodeMain -> “status = initNVEncodingSession();” This make two NV session ,but only release one after stop record, is not it? And when I record continuously ,the issue occured with NV_ENC_ERR_OUT_OF_MEMORY.

grancia commented 6 years ago

Hi! The m_pEncodeAPI is created once at init and doesn't create another encoding session unless m_pEncodeAPI is nullptr. And we've tested bunch of times for recording and live streaming on our side and qa team before releasing it, but haven't seen the issue before.

Do you have full log of capture sdk which is located in "%LOCALAPPDATA%\FBCapture\FBCaptureSDK.txt"?

807183087 commented 6 years ago

Thank you for reply. It is my