DirectShow DirectShow 레퍼런스 인터페이스 IMediaSample [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
IMediaSample 인터페이스는, 미디어 샘플의 프로퍼티를 설정 및 얻어온다. 미디어 샘플은 COM 개체이며, 미디어 데이터의 블록이 저장 된다. 미디어 샘플은 필터간의 공유 메모리 버퍼의 사용을 지원 한다.
보통, 이 인터페이스의 메서드를, 애플리케이션으로부터 호출할 것은 없다. 필터에서는, 이 인터페이스를 사용해, 샘플의 프로퍼티를 설정해, 다운 스트림 필터에 샘플을 건네준다. 그 다운 스트림 필터에서는, 이 인터페이스를 사용해, 프로퍼티를 취득해, 데이터를 읽어낸다. 필터는, 데이터를 직접 수정하는지, 또는 샘플을 복사 하고 나서 변경해, 다운 스트림에 건네준다.
IMediaSample2 인터페이스는, 이 인터페이스를 계승한다.
IMediaSample 인터페이스는,IUnknown 로부터 계승하는 메서드 이외에 이하의 메서드도 공개한다.
메서드 | 설명 |
GetActualDataLength | 버퍼내의 유효한 데이터의 길이를 얻어온다. |
GetMediaTime | 이 샘플의 미디어 타임을 얻어온다. |
GetMediaType | 미디어 타입이 전의 샘플과 다른 경우는, 미디어 타입을 얻어온다. |
GetPointer | 이 버퍼의 메모리에의 읽기/쓰기 포인터를 얻어온다. |
GetSize | 버퍼의 사이즈를 얻어온다. |
GetTime | 이 샘플이 시작 및 종료해야 할 |
IsDiscontinuity | 이 샘플이 데이터 스트림내의 불연속을 나타낼지 어떨지를 확인한다. |
IsPreroll | 이 샘플이 프리롤 샘플인지 아닌지를 확인한다. |
IsSyncPoint | 이 샘플의 시작이 동기 포인트인지 아닌지를 판단한다. |
SetActualDataLength | 버퍼내의 유효한 데이터의 길이를 설정한다. |
SetDiscontinuity | 이 샘플이 데이터 스트림내의 불연속을 나타낼지 어떨지를 지정한다. |
SetMediaTime | 이 샘플의 미디어 타임을 설정한다. |
SetMediaType | 샘플의 미디어 타입을 설정한다. |
SetPreroll | 이 샘플이 프리롤 샘플인지 아닌지를 지정한다. |
SetSyncPoint | 이 샘플의 시작이 동기 포인트인지 아닌지를 지정한다. |
SetTime | 이 샘플이 시작 및 종료해야 할 스트림 타임을 설정한다. |