|Microsoft DirectX 9.0|
The GetTCRMode method retrieves the timecode reader's properties.
HRESULT GetTCRMode( long Param, long *pValue );
[in] Timecode reader property to get (either ED_TCR_SOURCE or ED_TCR_NOTIFY_ENABLE).
[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 OATRUEmeaning that notifications are enabledor OAFALSE. If Param is set to ED_TCR_SOURCE, then this value must be one of the following.
|ED_TCR_VITC||Vertical interval timecode|
|ED_TCR_LAST_VALUE||Last read value|
Returns an HRESULT value that depends on the implementation of the interface.
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.