The DVD Time Stamp Rate Change property set enables you to change DVD playback rate. DVD playback rates are changed by modifying time stamps between input and output pins on two filters.
Time stamp remapping is a linear relationship given by the equation y = r(x - xi), where y is the new time stamp, r is the rate (or slope), x is the original time stamp, and xi is the x-intercept. This can be represented graphically where the time stamps input to the filter are shown along the x-axis and the output time stamps are shown along the y-axis:
Variable definitions for the time stamp conversion graph:
The decoder filter handles DVD rate changes, by reading the original time stamp on the media sample (x). The remaining variables, r and xi, must either be supplied or internally calculated to determine the new time stamp for the sample. The Time Stamp Rate Change property set supports two mechanisms for setting these parameters:
Specifying the AM_RATE_SimpleRateChange property is the easiest way to change the rate, but requires the filter to do some additional calculation.
The AM_RATE_MaxFullDataRate property enables an upstream filter to query for the maximum rate at which it can process the data. It uses the AM_MaxFullDataRate data type, which is a LONG value.
Finally, the AM_RATE_Step property enables the filter to step forward one sample at a time. It uses the AM_Step data type, which is a DWORD value.
The following information presents the necessary constants and data types to use for this property set in calls to IKsPropertySet methods. It provides values for the GUID (guidPropSet), property ID (dwPropID), and property data type (pPropData) parameters.
Property Set GUID: AM_TS_RATE_CHANGE
Property ID | Data type used by the specified property |
---|---|
AM_RATE_ExactRateChange | AM_ExactRateChange |
AM_RATE_MaxFullDataRate | AM_MaxFullDataRate |
AM_RATE_SimpleRateChange | AM_SimpleRateChange |
AM_RATE_Step | AM_Step |
The following list provides the Time Stamp Rate Change property set IDs and descriptions.
Use the IKsPropertySet interface to set, retrieve, and query for support of these properties.
This property set uses the following data types.
Data type | Description |
---|---|
AM_ExactRateChange | Changes the rate of DVD playback based on the new rate and the time at which the output time stamps are zero. |
AM_SimpleRateChange | Changes the rate of DVD playback, based on starting time and the new rate. |
Changes the rate of DVD playback based on the new rate and the time at which the output time stamps are zero.
Syntax
typedef struct { REFERENCE_TIME OutputZeroTime; LONG Rate; } AM_ExactRateChange;
Members
Remarks
The OutputZeroTime member variable represents the x-intercept in the graph shown in the DVD Time Stamp Rate Change Property Set section.
The AM_RATE_ExactRateChange property uses this structure.
Changes the rate of DVD playback, based on starting time and the new rate.
Syntax
typedef struct {REFERENCE_TIME StartTime; LONG Rate; } AM_SimpleRateChange;
Members
Remarks
Specify values for Rate member that are multiples of the normal rate, such as 2 for double time or .5 for half time.
The AM_RATE_SimpleRateChange property uses this structure.
Top of Page
© 2000 Microsoft and/or its suppliers. All rights reserved. Terms of Use.