ILMDVRSource

Interface Properties:

Type

Name

Description

long

FolderCount

(Read only) Gets the number of buffer folder locations. Use this to determine the number of DVR buffer folder locations on the system.

BSTR

FolderName( long nFolderIndex)

(Read only) Gets 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.

 

 

Interface Methods:

HRESULT GetAvailabilityInfo(double * pStartOffset, double * pEndOffset, double * pTotalSize)

Parameters

pStartOffset

A pointer to a double type that receives the first offset of available video.

pEndOffset

A pointer to a double type that receives the last offset of available video.

pTotalSize

Total size of all video data available.

Description

Gets the availability information for data for the current playback range.

Return

S_OK if successful, otherwise a return code indicating the reason for failure:

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.

 

HRESULT GetBufferTotalSize(long nFolderIndex, long uFlags, long * pnFiles, double * pnTotalFileSize)

Parameters

nFolderIndex

The index of the desired buffer location.

uFlags

Flag specifying how to calculate the total size.
Values can be:

   DVRGetTotalSize_Actual  = 0x0000

   DVRGetTotalSize_Allowed = 0x0001

 

pnFiles

Total number of files included in the buffer size calculation.

pnTotalFileSize

The total calculated buffer file size.

Description

Sets the number of buffer (.LRC) files and the allowed size per buffer file for the specified buffer location.

Return

S_OK if successful, otherwise a return code indicating the reason for failure:

E_UNEXPECTED = Unexpected invalid file handle

DISP_E_BADINDEX = Index supplied is outside the range of currently valid indexes.

 

HRESULT CopyBufferToFile(BSTR pszTargetFile, double startOffset, double endOffset)

Parameters

pszTargetFile

Fully qualified pathname of destination file.

startOffset

Starting offset of data to copy.

endOffset

Ending offset of data to copy.

Description

Copies the buffered recording data to the specified fully qualified file pathname.

Return

S_OK if successful, otherwise a return code indicating the reason for failure:

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.

 

HRESULT ReadData(double startOffset, long minSize, long maxSize, DWORD dwUserData, BYTE * pData, long * pSizeRead)

Parameters

startOffset

A double value indicating the starting offset for the read operation.

minSize

A long value specifying the minimum size to read.

maxSize

A long value specifying the maximum size to read.

dwUserData

Reserved.

pData

A pointer to a block of memory that will receive the read data.

pSizeRead

A pointer to a long type that will receive the size of the read data.

Description

Reads DVR data from the specified offset.

Return

S_OK if successful, otherwise a return code indicating the reason for failure:

E_UNEXPECTED = Unexpected invalid file handle

LTMM_E_DVR_DISCARDED_DATA = Data has been discarded due to a restart.

LTMM_E_DVR_CORRUPT_STUB_FILE = Corrupted .LBL file.

 

HRESULT ResetToDefaultsEx(LMDVRSink_APILEVEL ApiLevel)

Parameters

ApiLevel

The desired API Level for reset.

Value can be:
    
LMDVRSink_APILEVEL_1

 

Description

Resets the DVRSink interface object to the default settings for the API level specified.

Return

S_OK if successful, S_FALSE otherwise.

 

HRESULT GetBufferInfo(long nBufferIndex, BSTR * pszFileName, double * pnUsefulSize, double * pnFileSize, long * pnPlayIndex, long * pnFlags, BSTR * pszStubFilePathName)

Parameters

nBufferIndex

The index of the buffer file for which to get information.

pszFileName

A pointer to a string type that will receive the filename of the related buffer recording file.

pnUsefulSize

A pointer to a double type that will receive the used file size of this recording chunk file.

pnFileSize

A pointer to a double type that will receive the physical file size of this recording chunk file.

pnPlayIndex

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)

pnFlags

A pointer to a long type that will receive a DVRBufferFlagConstant setting.

Value can be:

   DVRBuffer_Empty  = 0x0001,

   DVRBuffer_Writing = 0x0002,

   DVRBuffer_Finished = 0x0004

 

pszStubFilePathName

A pointer to a string type that will receive the fully qualified path name to the .LBL file.

Description

Gets the buffer information associated with the buffer file index specified.

Return

S_OK if successful, otherwise a return code indicating the reason for failure:

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.

 

Enums

typedef enum
{
   LMDVRSource_APILEVEL_1 = 0,
} LMDVRSource_APILEVEL;