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