Microsoft DirectX 8.1 (C++)

IAMTimecodeGenerator Interface

The IAMTimecodeGenerator interface contains properties and methods that specify how an external SMPTE/MIDI timecode generator should supply data to the filter graph and the formats in which timecode should be supplied. You should implement this interface in combination with the IAMExtDevice and IAMExtTransport interfaces to control an external device, such as a VCR. This interface provides methods that enable applications to specify various SMPTE/MIDI timecode modes or formats that an external device should use in the generation of timecode, and methods that verify that the generator is working properly.

SMPTE timecode is a frame addressing system that identifies video and audio sources, makes automatic track synchronization possible, and provides a container for additional data related to the production. SMPTE timecode's main purpose is to provide a machine-readable address for video and audio. It is displayed in hh:mm:ss:ff format and is thoroughly defined in ANSI/SMPTE 12-1986.

For more information on SMPTE timecode see SMPTE Timecode.

For more information on methods that access an external timecode reader, see the IAMTimecodeReader interface.

Implement this interface on an external device filter when you want to control how an external timecode generator produces SMPTE/MIDI timecode information.

Expose the IMediaSeeking interface on your filter to enable applications to convert timecode to Microsoft® DirectShow® reference time (by using IMediaSeeking::ConvertTimeFormat).

Your external device must be able to read timecode and send it to the computer over its control interface. If this is not the case, you must either have a timecode reader card in your computer, or you can write a software decoder that converts VITC embedded in captured video frames or LTC captured as an audio signal into DirectShow timecode samples.

Use this interface when you want to generate SMPTE timecode in an external device.

Hardware Requirements

For hardware requirements, see the IAMExtTransport interface.

In addition to the methods inherited from IUnknown, the IAMTimecodeGenerator interface exposes the following methods.

Method Description
GetTCGMode Retrieves the SMPTE timecode generator properties.
SetTCGMode Sets the SMPTE timecode generator properties.
put_VITCLine Specifies which line(s) to insert the vertical interval timecode information into.
get_VITCLine Retrieves which line(s) the vertical interval timecode information has been inserted into.
SetTimecode Sets the timecode, userbit value, or both.
GetTimecode Retrieves the most recent timecode and/or userbit value available in the stream.