DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CTransformFilter Transform [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
Transform 메서드는, 입력 샘플을 변환해 출력 샘플을 생성 한다.
구문
virtual HRESULT Transform(
IMediaSample *pIn,
IMediaSample *pOut
);
파라미터
pIn
입력 샘플의 IMediaSample 인터페이스의 포인터.
pOut
출력 샘플의 IMediaSample 인터페이스의 포인터.
반환값
base class는 E_UNEXPECTED 를 돌려준다.
상속 클래스는, 성공 또는 실패를 나타내는 HRESULT 값을 돌려준다. 다음의 몇개의 값을 돌려준다.
값 | 설명 |
S_FALSE | 이 샘플을 출력하지 않는다. |
S_OK | 성공. |
주의
출력 데이터를 생성 하려면 이 메서드를 오버라이드(override) 하는 것. 입력 데이터를 pIn 파라미터로 지정된 샘플로부터 읽어들여, 새로운 데이터를 pOut 파라미터로 지정된 샘플에 기입한다.
필터는 이 메서드를 호출하기 전에, 입력 샘플로부터 출력 샘플에 프로퍼티를 복사 한다. Transform 메서드는 2 개의 샘플간에 다른 프로퍼티를 설정해야 한다. 거기에는 IMediaSample 메서드를 사용하는지, 또는 (만약 이용 가능하면) IMediaSample2 인터페이스를 사용한다.
(예를 들어, 품질 컨트롤을 지원 하기 위해서) 필터가 이 샘플을 출력해야 하는 것이 아닌 경우, 이 메서드는 S_FALSE 를 돌려주어야 하는 것이다.
참조