Microsoft DirectX 9.0

IAMTimecodeReader::GetTCRMode

The GetTCRMode method retrieves the timecode reader's properties.

Syntax

HRESULT GetTCRMode(
  long Param,
  long *pValue
);

Parameters

Param

[in] Timecode reader property to get (either ED_TCR_SOURCE or ED_TCR_NOTIFY_ENABLE).

pValue

[out] Pointer to the value of the requested timecode reader property. If Param is set to ED_TCR_NOTIFY_ENABLE, then this parameter will return OATRUE—meaning that notifications are enabled—or OAFALSE. If Param is set to ED_TCR_SOURCE, then this value must be one of the following.

Value Description
ED_TCR_CT Control track
ED_TCR_LTC Linear timecode
ED_TCR_VITC Vertical interval timecode
ED_TCR_LAST_VALUE Last read value

Return Values

Returns an HRESULT value that depends on the implementation of the interface.

Remarks

Linear timecode is recorded on an analog audio track as a bi-phase mark -encoded signal. Each timecode frame is one video frame time in duration.

Vertical timecode is usually stored in two lines of a video signal's vertical interval, somewhere between lines 11 and 20.

Control track is a once-per-frame signal recorded on a special track on a tape. The head and drive servo mechanisms use it to keep everything locked. It is also used to drive the counter on machines without timecode capability, and can optionally be used on machines equipped with a timecode reader.

Note that ED_TCR_LAST_VALUE is used when implementing timecode notification because the application does not want to initiate another timecode request to the external device. This method is not recommended for frame-accurate applications because of multithreading issues.

See Also