Include
#include "ILMDVRSink.h"
Syntax
| Language | Syntax |
|---|---|
| C Syntax | HRESULT ILMDVRSink_GetTimedFragmentAlignment(pILMDVRSink, startOffset, endOffset, timeThreshold, pAlignedStartOffset, pAlignedEndOffset, pAlignedDuration) |
| C++ Syntax | HRESULT GetTimedFragmentAlignment(startOffset, endOffset, timeThreshold, pAlignedStartOffset, pAlignedEndOffset, pAlignedDuration) |
| Data Type | Description |
|---|---|
| ILMDVRSink *pILMDVRSink; | pointer to an interface |
| [in]double startOffset; | starting byte offset |
| [in]double endOffset; | ending byte offset |
| [in]double timeThreshold; | minimum time of the fragments to find |
| [out]double *pAlignedStartOffset; | pointer storing offset of first transport fragment |
| [out]double *pAlignedEndOffset; | pointer storing the time of the transport fragments found |
Summary
Takes the user-supplied byte range and scans for transport fragment boundaries.
Parameters
| Parameter | Description |
|---|---|
| pILMDVRSink; | A pointer to an ILMDVRSink interface. |
| startOffset; | Specifies the byte offset at which to begin scanning for transport fragments. |
| endOffset; | Specifies the byte offset at which to stop scanning for transport fragments. |
| timeThreshold; | Specifies the minimum time (in seconds) of the fragments to find. |
| pAlignedStartOffset; | A pointer to a double variable, storing the offset of the start of the first transport fragment found. |
| pAlignedEndOffset; | A pointer to a double variable, storing the offset of the end of the last transport fragment. |
| pAlignedDuration; | A pointer to a double variable, storing the time (in seconds), of the transport fragments found. |
Remarks
Takes the user-supplied byte range and scans for transport fragment boundaries. It will only return the minimum number of fragments that meet or exceed the timeThreshold.
Use this function along with ILMDVRSink::CopyBufferToFile to save a completely intact MPEG transport fragment.
Set up the MPEG multiplexer used for recording to DVR by calling put_OutputType(Mpg2MxT_OutputType_HLS). Doing so guarantees that fragment boundaries start with synchronization frames. Specify the boundary time interval by calling put_ResyncInterval(intervalTime).
Returns
| Value | Meaning |
|---|---|
| S_OK | No error. |
| S_FALSE | No transport fragment found: pAlignedStartOffset and pAlignedEndOffset are set equal to startOffset, and indicate an empty search. |
Required DLLs and Libraries
LMDVRSink
For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.
Win32, x64
Example
For a C++ example, refer to ILMDVRSink::GetTimedFragmentAlignment Example For C++
ILMDVRSink::GetAvailabilityInfo
ILMDVRSink::CopyBufferToFile
ILMDVRSink::GetBufferInfo
Multimedia Function Groups
DVR Function Groups
Introduction to the LEADTOOLS MPEG-2 Transport Module
DVR Component FAQs
LEAD DVR Sink Filter
Accessing the DVR Sink Object
How to Use the DVR Sink Object to Control Capture Buffer Settings (C++)
How to Set DVR Buffer Locations on Multiple Physical Disks (C++)
How to Copy Buffered DVR Data to a New File
Example
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
