DirectShow DirectShow 레퍼런스 인터페이스 IAMTimecodeReader GetTimecode [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
GetTimecode 메서드는, 스트림내에서 유효한 최신의 타임 코드, 사용자 비트, 플래그값을 얻어온다.
구문
HRESULT GetTimecode(
TIMECODE_SAMPLE *pTimecodeSample
);
파라미터
pTimecodeSample
[out] TIMECODE_SAMPLE 구조체의 포인터.
반환값
인터페이스의 처리에 응한 HRESULT 값을 돌려준다.
주의
이 메서드를 사용하면 타임 코드를 감시해, 중복과 불연속성을 해석할 수 있다.
타임 코드에는,userbits 로 불리는 미정도리의 비트가 포함된다. 애플리케이션은, 이러한 비트를 사용해, 동기 정보나 그 외의 커스텀 정보를 보관한다.
DV 및 MPEG 캠 코다의 처리
MSDV 드라이버는, SMPTE 타임 코드나 절대 트랙 번호 (ATN)의 읽기를 지원 하고 있다. MSTape 드라이버는, 상대 타임 카운터 (RTC)의 읽기를 지원 하고 있다. 이러한 장치의 타임 정보를 읽어내려면 , 이하를 실행한다.
TIMECODE_SAMPLE 구조체의 dwFlags 멤버를, 이하의 값의 어느 쪽인가에 설정한다.
정수 | 설명 |
ED_DEVCAP_TIMECODE_READ | 타임 코드 (DV) |
ED_DEVCAP_ATN_READ | 절대 트랙 번호 (DV) |
ED_DEVCAP_RTC_READ | 상대 타임 카운터 (MPEG 테이프) |
TIMECODE_SAMPLE 구조체의 timecode 멤버는,TIMECODE 구조체이다. 구조체의 dwFrames 멤버를 제로에 초기화한다.
그 외의 구조체 멤버는 모두 무시된다.
메서드가 돌아갔을 때,dwFrames 멤버에는, 이하의 포맷으로 타임 정보가 포함된다.
타임 정보 | 포맷 |
타임 코드 | 시간, 분, 초, 프레임을, BCD (Binary Coded Decimal) 값으로. 0xhhmmssff. |
ATN | 트랙 번호. |
RTC | 시간, 분, 초, 프레임을, BCD 값으로. 0xhhmmssff. 프레임 바이트의 최상정도 비트는 부호 비트이다. 프레임 카운트를 사용할 수 없는 경우는, 나머지의 프레임 비트가 0x7F 로 설정된다. |
또,dwUser 멤버는, 이하의 값의 어느쪽이든을 가지는 blank flag 비트를 장치로부터 받는다.
값 | 설명 |
0x00 | 불연속은 아니다. |
0x01 | 불연속이다. |
참조