Products | Support | Send comments on this topic. | Email a link to this topic. | Back to Getting Started | Help Version 18.0.10.24
LEADTOOLS Multimedia API Help

ILMDVRSink::SetOffsetToReach Example for C++

Show in webframe

This example shows how you can wait for the DVR sink to write data past a certain offset. This is useful if you want to wait for the data to become available before reading it. The error checking has been omitted for clarity.

void WaitForData(ILMDVRSink* pSink, __int64 startOffset, long nBytes)
{
   long registrationId = (long)GetTickCount(); // set this to a unique value in your application
   OLE_HANDLE dataWrittenEvent;
   OLE_HANDLE listChangedEvent;
   OLE_HANDLE offsetReachedEvent;
   // create the offset reached event
   pSink->CreateEvents2(registrationId, GetCurrentProcessId(), &dataWrittenEvent, &listChangedEvent, &offsetReachedEvent);
   // instruct the sink to set the offset reached event once it reached nBytes past offset startOffset
   pSink->SetOffsetToReach(registrationId, (double)(startOffset + nBytes));
   // wait for the event to be set
   WaitForSingleObject((HANDLE)offsetReachedEvent, INFINITE);
   // free the events
   pSink->FreeEvents(registrationId);
}
Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.