Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
This method retrieves the maximum latency on a specified input stream.
Syntax
HRESULT GetInputMaxLatency( DWORD dwInputStreamIndex, REFERENCE_TIME* prtMaxLatency ); |
Parameters
- dwInputStreamIndex
-
Zero-based index of an input stream on the DMO.
- prtMaxLatency
-
[out] Pointer to a variable that receives the maximum latency.
Return Value
Returns an HRESULTvalue. Possible values include the following.
Value | Description |
---|---|
S_OK |
Success |
Invalid stream index |
|
E_FAIL |
Failure |
E_NOTIMPL |
Not implemented. Assume zero latency. |
Remarks
The latency is the difference between a time stamp on the input stream and the corresponding time stamp on the output stream. The maximum latency is the largest possible difference in the time stamps. For a DMO, determine the maximum latency as follows:
- Process input buffers until the DMO can produce output.
- Process as many output buffers as possible.
- The maximum latency is the largest delta between input time
stamps and output time stamps, taken as an absolute value.
Under this definition, latency does not include the time that it takes to process samples. Nor does it include any latency introduced by the size of the input buffer.
For the special case where a DMO processes exactly one sample at a time, the maximum latency is simply the difference in time stamps.
Latency is defined only when samples have time stamps and the time stamps increase or decrease monotonically. Maximum latency might depend on the media types for the input and output streams.
Requirements
Header | dmo.h |
Library | Dmoguid.lib |
Windows Embedded CE | Windows CE .NET 4.1 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |