Lists the possible values of the additional MediaEvents that can be notified by the filter.
typedef enum
{
LMDVRSink_EC_ERROR_RECORDING_TO_FILE,
} LMDVRSink_EVENT_NOTIFICATIONS;
Writing to file specified in StartBackupToFile failed.
Specifies the current DVR status.
typedef enum
{
DVRStatus_Writing = 0,
DVRStatus_Paused = 1,
DVRStatus_Stopped = 2
} DVRStatusConstants;
Lists the valid values for the ApiLevel parameter that can be passed to the ResetToDefaultsEx method.
typedef enum
{
LMDVRSink_APILEVEL_1 = 0
} LMDVRSink_APILEVEL;
Type | Name | Description |
---|---|---|
long | FolderCount | Gets or sets the number of buffer folder locations. Use this to determine the number of DVR buffer folder locations on the system. |
BSTR | FolderName( long nFolderIndex) | Gets or sets the name of the fully qualified folder path for the specified buffer location. Use this to determine the full pathname of the specified DVR buffer folder location. |
BSTR | BaseName | Gets or sets the name of the base file name of the buffer list file and recording chunk files. Use this to determine the file name of the DVR buffer files. |
VARIANT_BOOL | IsGrowing | (Read only) Indicates whether the DVR buffer is still growing. If VARIANT_TRUE, the file is still growing and the final duration is unknown. If VARIANT_FALSE, the buffer is not being updated anymore. |
Gets the availability information for data for the current playback range.
A pointer to a double type that receives the first offset of available video.
A pointer to a double type that receives the last offset of available video.
Total size of all video data available.
Return | Description |
---|---|
S_OK | Successful. |
E_UNEXPECTED | Unexpected invalid file handle. |
LTMM_E_DVR_NO_RECORDINGS | No .LRC recording files exist. |
LTMM_E_DVR_CORRUPT_STUB_FILE | Corrupted .LBL file. |
Sets the number of buffer (.LRC) files and the allowed size per buffer file for the specified buffer location.
The index of the desired buffer location.
The maximum number of .LRC files allowed to be created in this location.
The maximum file size (in bytes) of each individual .LRC file.
Return | Description |
---|---|
S_OK | Successful. |
E_UNEXPECTED | Unexpected invalid file handle. |
DISP_E_BADINDEX | Index supplied is outside the range of currently valid indexes. |
E_INVALIDARG | Either the number of files or file size specified is not valid. |
Sets the number of buffer (.LRC) files and the allowed size per buffer file for the specified buffer location.
The index of the desired buffer location.
Flag specifying how to calculate the total size. Possible values are:
DVRGetTotalSize_Actual = 0x0000
DVRGetTotalSize_Allowed = 0x0001
Total number of files included in the buffer size calculation.
The total calculated buffer file size.
Return | Description |
---|---|
S_OK | Successful. |
E_UNEXPECTED | Unexpected invalid file handle. |
DISP_E_BADINDEX | Index supplied is outside the range of currently valid indexes. |
Copies the buffered recording data to the specified fully qualified file pathname.
Fully qualified pathname of destination file.
Starting offset of data to copy.
Ending offset of data to copy.
Return | Description |
---|---|
S_OK | Successful. |
E_UNEXPECTED | Starting offset not found. |
DISP_E_BADINDEX | Index supplied is outside the range of currently valid indexes. |
LTMM_E_DVR_NO_RECORDINGS | No .LRC recording files exist. |
E_INVALIDARG | Either the number of files or file size specified is not valid. |
Gets the DVRSink status, buffer files location and buffer file index, and total current recording size.
A pointer to an enumeration type that will receive the current DVR status.
A pointer to a long type that will receive the current location index.
A pointer to a long type that will receive the current recording index. This index is the number of the current LRC file.
A pointer to double type that will receive the current recording size in bytes.
Return | Description |
---|---|
S_OK | Successful. |
S_FALSE | Otherwise. |
Note: This method is now deprecated. Use CreateEvents2 instead.
Creates the Windows Event objects used to signal data write and recording list changed events.
A unique identifier for this event registration.
The process id of the event subscriber.
A handle to the write event.
A handle to the list changed event.
Return | Description |
---|---|
S_OK | Successful. |
E_OUTOFMEMORY | Memory allocation error was encountered. |
Creates the Windows Event objects used to signal the Data Was Written, the Recording List Changed, and the Offset Reached events.
A unique identifier for this event registration.
The process id of the event subscriber.
A handle to the write event.
A handle to the list changed event.
A handle to the offset reached event.
This method is used internally by the LEAD DVR Source Filter.
The Offset Reached event is designed to work together with the SetOffsetToReach method.
Return | Description |
---|---|
S_OK | Successful. |
E_OUTOFMEMORY | Memory allocation error was encountered. |
Frees the windows event objects used by to signal data write and recording list changed events.
A unique identifier for this event registration.
Return | Description |
---|---|
S_OK | Successful. |
S_FALSE | Otherwise. |
Resets the DVRSink interface object to the default settings for the API level specified.
The desired API Level for reset. Possible value is: LMDVRSink_APILEVEL_1.
Return | Description |
---|---|
S_OK | Successful. |
S_FALSE | Otherwise. |
Gets the buffer information associated with the buffer file index specified.
The index of the buffer file for which to get information.
A pointer to a string type that will receive the filename of the related buffer recording file.
A pointer to a double type that will receive the used file size of this recording chunk file.
A pointer to a double type that will receive the physical file size of this recording chunk file.
A pointer to a long type that will receive the index in the play order (the first index might not be 0, but all files should have sequential and incrementing indexes after the first index value).
A pointer to a long type that will receive a DVRBufferFlagConstant setting. Possible values are:
DVRBuffer_Empty = 0x0001
DVRBuffer_Writing = 0x0002
DVRBuffer_Finished = 0x0004
Return | Description |
---|---|
S_OK | Successful. |
E_INVALIDARG | Buffer index supplied is outside the range of currently valid indexes. |
LTMM_E_DVR_NO_RECORDINGS | No .LRC recording files exist. |
E_OUTOFMEMORY | A memory allocation error occurred. Either the number of files or file size specified is not valid. |
Instructs the DVR sink object to set the offset reached event once it has written data past a certain offset.
The identifier passed to CreateEvents2 when the Offset Reached event was created.
The offset to reach (in bytes). The Offset Reached event will be set when the DVR sink has written data past this offset. Must be > 0.
This method is used internally by the DVR source object.
For example, if an application wants to read N bytes from offset X, then it will do the following:
Return | Description |
---|---|
S_OK | Successful. |
E_INVALIDARG | The registration identifier is invalid or the offset is invalid. |
Changes the DVRSink attributes.
Return | Description |
---|---|
S_OK | Successful. |
S_FALSE | Otherwise. |
Sets the DVRSink attributes.
A BOOL value type specifying whether to cancel or apply the pending attribute changes. Possible values are:
Value | Meaning |
---|---|
VARIANT_TRUE | Discard changes and reset the attributes to their previous settings. |
VARIANT_FALSE | Set the attributes. |
Return | Description |
---|---|
S_OK | Successful. |
S_FALSE | Otherwise. |
Starts writing the DVR recording data to the specified fully qualified backup filename.
Fully qualified pathname of destination backup file.
Reserved for future use. Set value to 0.
Return | Description |
---|---|
S_OK | Successful. |
E_UNEXPECTED | Unexpected invalid file handle. |
Stops writing the DVR recording data to the backup file.
Return | Description |
---|---|
S_OK | Successful. |
E_UNEXPECTED | Unexpected invalid file handle. |
Takes the user-supplied byte range and scans for transport fragment boundaries.
Specifies the byte offset at which to begin scanning for transport fragments.
Specifies the byte offset at which to stop scanning for transport fragments.
A pointer to a double variable, storing the offset of the start of the first transport fragment found.
A pointer to a double variable, storing the offset of the end of the last transport fragment.
Use this method along with 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).
Return | Description |
---|---|
S_OK | Successful. |
S_FALSE | No transport fragment is found: pAlignedStartOffset and pAlignedEndOffset are set equal to startOffset, and indicate an empty search. |
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.
Specifies the byte offset at which to begin scanning for transport fragments.
Specifies the byte offset at which to stop scanning for transport fragments.
Specifies the minimum time (in seconds) of the fragments to find.
A pointer to a double variable, storing the offset of the start of the first transport fragment found.
A pointer to a double variable, storing the offset of the end of the last transport fragment.
A pointer to a double variable, storing the time (in seconds) of the transport fragments found.
Use this method along with 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).
Return | Description |
---|---|
S_OK | Successful. |
S_FALSE | No transport fragment is found: pAlignedStartOffset and pAlignedEndOffset are set equal to startOffset, and indicate an empty search. |