AVIExporter::AVIExporter(std::string outputFileName, int frameRate) : outputFileName(outputFileName), fileIdx(0), frameRate(frameRate) { if (!ChooseCodec(NULL, &videoOptions)) throw ExporterException(outputFileName); open(); void *bitmapBuffer = malloc(rowstride * display.height + sizeof(BITMAPINFOHEADER)); bitmap = (BITMAPINFOHEADER*)bitmapBuffer; ZeroMemory(bitmap, sizeof(BITMAPINFOHEADER)); bitmap->biWidth = display.width; bitmap->biHeight = display.height; bitmap->biBitCount = 24; bitmap->biPlanes = 1; bitmap->biSize = sizeof(BITMAPINFOHEADER); bitmap->biCompression = BI_RGB; bitmap->biSizeImage = rowstride * display.height; }
XnStatus XnStreamDeviceStreamHolder::Init(const XnActualPropertiesHash* pProps) { XnStatus nRetVal = XN_STATUS_OK; XN_VALIDATE_ADD_PROPERTIES(GetStream(), &m_Compression); nRetVal = XnDeviceModuleHolder::Init(pProps); XN_IS_STATUS_OK(nRetVal); // create codec nRetVal = m_CodecProperties.Set(&m_Compression, &m_Compression); XN_IS_STATUS_OK(nRetVal); XnCallbackHandle hDummy; nRetVal = m_Compression.OnChangeEvent().Register(CodecPropertyChangedCallback, this, hDummy); XN_IS_STATUS_OK(nRetVal); nRetVal = ChooseCodec(); XN_IS_STATUS_OK(nRetVal); return (XN_STATUS_OK); }