DirectShow DirectShow 레퍼런스 인터페이스 ISampleGrabber SetMediaType   [목차열람] [주소복사] [슬롯비우기]
ISampleGrabber::SetMediaType
 
Microsoft DirectX 9.0

ISampleGrabber::SetMediaType

SetMediaType 메서드는, 샘플 grabber의 입력 핀 위에의 접속에 사용하는 미디어 타입을 지정한다.

구문

HRESULT SetMediaType(
  const AM_MEDIA_TYPE *pType
);

파라미터

pType

필요한 미디어 타입을 지정하는 AM_MEDIA_TYPE 구조체의 포인터. 구조체의 멤버를 모두 설정할 필요는 없다. 더 자세한 정보는, 「주의」를 참조할것.

반환값

S_OK 를 돌려준다.

주의

디폴트에서는, 샘플 grabber에 우선 미디어 타입은 없다. 샘플 grabber를 올바른 필터에 확실히 접속하려면 , 필터 그래프를 생성 하기 전에 이 메서드를 호출한다.

이 메서드는, 필터가 받아들이는 미디어 타입의 범위를 제한한다. 필터가 접속 하면,pType 로 지정된 미디어 타입을 비교하려고 한다. 그 경우, 필터는 메이저 타입, 서브 타입, 포맷 타입의 각 GUID 를 이 순서로 비교한다. 이러한 각 GUID 에 대해,pType 가 값 GUID_NULL 의 경우, 샘플 grabber는 더 이상 체크하지 않고 미디어 타입을 받아들인다. pType 가 그 이외의 값의 경우, 샘플 grabber는 그 값과 접속 타입의 GUID 를 비교한다. 2 개의 GUID 가 완전하게 일치하지 않는 한, 샘플 grabber는 접속을 거부한다.

예 1 :

메이저 타입이 MEDIATYPE_Video 와 동일하면, 샘플 grabber는 임의의 비디오 타입을 받아들인다. 서브 타입은 체크되지 않는다.

예 2 :

이번은, 샘플 grabber는 서브 타입을 체크해, RGB 24 비디오만 받아들인다.

제한 :설정하는 타입과는 관계없이, 샘플 grabber 필터는 탑 다운 방향 (부의 biHeight)의 비디오 타입, 또는 FORMAT_VideoInfo2 의 포맷 타입의 비디오 타입은 모두 거부한다. 이 경우,SetMediaType 메서드가 성공해도, 필터는 접속되지 않는다.

참조

↑TOP