DirectShow Animated Header -- DVD Time Stamp Rate Change Property Set DirectShow Animated Header -- DVD Time Stamp Rate Change Property Set* Microsoft DirectShow SDK
*Index  *Topic Contents
*Previous Topic: Pin Property Set
*Next Topic: Event Notification Codes

DVD Time Stamp Rate Change Property Set


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:

Graph illustrating time stamp remapping

Variable definitions for the time stamp conversion graph:
x = input time stamp
y = output time stamp
xi = current x-axis intercept
xs = start time of the current rate
xi2 = x-axis intercept for new rate
xs2 = start time of the new rate
r = current rate
r2 = new rate

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:

Specifiying 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.

AM_RATE_ExactRateChange
Use the AM_ExactRateChange structure to change rate.
AM_RATE_MaxFullDataRate
Use the AM_MaxFullDataRate long value to process at maximum rate.
AM_RATE_SimpleRateChange
Use the AM_SimpleRateChange structure to change rate.
AM_RATE_Step
Indicates the number of frames to step over.

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.


AM_ExactRateChange

DVD Time Stamp Rate Change Property Set

Changes the rate of DVD playback based on the new rate and the time at which the output time stamps are zero.

typedef struct {
	REFERENCE_TIME  OutputZeroTime;
	LONG		Rate;
} AM_ExactRateChange;
Members
OutputZeroTime
Time at which the output time stamps are zero.
Rate
New rate of playback.
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.


AM_SimpleRateChange

DVD Time Stamp Rate Change Property Set

Changes the rate of DVD playback, based on starting time and the new rate.

typedef struct {REFERENCE_TIME	StartTime;
	LONG		Rate;
} AM_SimpleRateChange;
Members
StartTime
Time at which the new rate will take effect.
Rate
New rate of playback.
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.

© 1998 Microsoft Corporation. All rights reserved. Terms of Use.

*Top of Page