HRESULT SaveTimedDVRFragments(ILMDVRSink* pDVR, double dTimeThreshold, LPCWSTR pszFilePrefix){HRESULT hr;double dStartPos;double dEndPos;double dTotal;double dFragmentStartPos;double dFragmentEndPos = 0;WCHAR szPath[MAX_PATH];for (UINT fragment = 0; ; fragment++){// find available range of byteshr = pDVR->GetAvailabilityInfo(&dStartPos, &dEndPos, &dTotal);if (FAILED(hr))return hr;// if this is not the first fragment, then start where we left offif (fragment > 0)dStartPos = dFragmentEndPos;// Get aligned boundaries for next timed fragmenthr = pDVR->GetTimedFragmentAlignment(dStartPos, dEndPos, dTimeThreshold, &dFragmentStartPos, &dFragmentEndPos, NULL);if (FAILED(hr))return hr;// if nothing more is available, then exit the loopif (hr != S_OK)break;// generate an output path for this fragmentswprintf_s(szPath, _countof(szPath), L"%s%u.ts", pszFilePrefix, fragment);// save the fragments to a filehr = pDVR->CopyBufferToFile(CComBSTR(szPath), dFragmentStartPos, dFragmentEndPos);if (FAILED(hr))return hr;}return S_OK;}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
