Microsoft DirectX 9.0 |
The IMediaParamInfo::GetParamInfo method returns an MP_PARAMINFO structure that describes a parameter. This structure contains the following information:
The information for each parameter remains fixed throughout the lifetime of the DMO. Therefore, the client can query for this information once and then cache it.
Time Formats
The client must time stamp the input data, so that the DMO can calculate the corresponding parameter values. By default, time stamps represent units of 100 nanoseconds, also called reference time. This time unit is not convenient for every application, however, so a DMO has an option to support other time formats. Time formats are identified by GUID.
GUID | Description |
GUID_TIME_REFERENCE | Reference time |
GUID_TIME_MUSIC | Parts per quarter note (PPQN) |
GUID_TIME_SAMPLES | Samples per second |
Third parties are encouraged to define their own time formats as needed. However, all DMOs must support reference time. This provides a standard baseline that everyone can use. To determine how many time formats a DMO supports, call the IMediaParamInfo::GetNumTimeFormats method. To enumerate the supported formats, call the IMediaParamInfo::GetSupportedTimeFormat method.
To set the time format, call IMediaParams::SetTimeFormat. This method specifies the time format GUID and the time data, which is the number of units per clock tick. For example, if the time format is samples per second, and the time data is 32, then a time stamp value of 10 corresponds to 320 samples.