ILMDVRSink::GetFragmentAlignment Example for C++

HRESULT GetDVRAvailableFragments(ILMDVRSink* pDVR, double* pdFragmentStartPos, double* pdFragmentEndPos) 
{ 
   double dStartPos; 
   double dEndPos; 
   double dTotal; 
   // find available range of bytes 
   HRESULT hr = pDVR->GetAvailabilityInfo(&dStartPos, &dEndPos, &dTotal); 
   if (FAILED(hr)) 
      return hr; 
   // align the offset with transport fragment boundaries 
   return pDVR->GetFragmentAlignment(dStartPos, dEndPos, pdFragmentStartPos, pdFragmentEndPos); 
} 
 
HRESULT SaveDVRFragments(ILMDVRSink* pDVR, LPCWSTR pszFile) 
{ 
   HRESULT hr; 
   double dStartPos; 
   double dEndPos; 
   // Get fragment aligned boundaries for all available data  
   hr = GetDVRAvailableFragments(pDVR, &dStartPos, &dEndPos); 
   if (FAILED(hr)) 
      return hr; 
   // Save the fragments to a file 
   return pDVR->CopyBufferToFile(CComBSTR(pszFile), dStartPos, dEndPos); 
} 
Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Multimedia C API Help