DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CMediaSample [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
CMediaSample 클래스는,IMediaSample2 인터페이스를 지원 하는 미디어 샘플을 정의한다. 미디어 샘플은 메모리 버퍼의 포인터와 프로텍트 멤버 변수에 저장 되고 있는 몇개의 프로퍼티를 갖는다.
미디어 샘플은 CBaseAllocator 클래스로부터 파생하는 할당자에 의해 생성 된다. CMediaSample 생성자은 버퍼 사이즈와 함께 할당자 버퍼의 포인터를 받는다. 다른 프로퍼티는 보통 IMediaSample 인터페이스 메서드를 통해 설정 또는 취득된다.
미디어 샘플의 라이프 사이클은 대부분의 COM 개체의 라이프 사이클과는 다르다.
요건
헤더: Amfilter.h 로 선언해, Streams.h 를 인클루드 한다.
라이브러리: Strmbase.lib (리테일 빌드) 또는 Strmbasd.lib (디버그 빌드).
프로텍트 멤버 변수 | |
m_dwFlags | 샘플 프로퍼티 플래그. |
m_dwTypeSpecificFlags | 타입 고유의 플래그. |
m_pBuffer | 미디어 데이터를 저장 하는 메모리 버퍼의 포인터. |
m_lActual | 버퍼내의 유효한 데이터의 길이 (바이트 단위). |
m_cbBuffer | 버퍼의 사이즈 (바이트 단위). |
m_pAllocator | 샘플을 생성 한 할당자의 포인터. |
m_pNext | 할당자의 샘플 리스트에 있는 다음 샘플의 포인터. |
m_Start | 샘플 시작 타임. |
m_End | 샘플 종료 타임. |
m_MediaStart | 미디어 시작 타임. |
m_MediaEnd | 미디어 종료 타임. |
m_pMediaType | 미디어 타입이 그 데이터 스트림의 전의 샘플로부터 변경되고 있다면, 미디어 타입의 포인터. |
m_dwStreamId | 스트림 식별자. |
퍼블릭 멤버 변수 | |
m_cRef | 참조 카운트. |
퍼블릭 메서드 | |
CMediaSample | 생성자 메서드. |
~CMediaSample | 소멸자 메서드. 가상. |
SetPointer | 메모리 버퍼의 포인터를 설정한다. |
IMediaSample 메서드 | |
GetPointer | 버퍼의 read/쓰기 포인터를 얻어온다. |
GetSize | 버퍼의 사이즈를 얻어온다. |
GetTime | 샘플이 시작 및 종료해야 할 스트림 타임을 얻어온다. |
SetTime | 샘플이 시작 및 종료하는 스트림 타임을 설정한다. |
IsSyncPoint | 샘플의 시작이 동기 포인트인지 아닌지를 조사한다. |
SetSyncPoint | 샘플의 시작이 동기 포인트인지 아닌지를 지정한다. |
IsPreroll | 샘플이 프리롤 샘플인지 아닌지를 조사한다. |
SetPreroll | 샘플이 프리롤 샘플인지 아닌지를 지정한다. |
GetActualDataLength | 버퍼내의 유효한 데이터의 길이를 얻어온다. |
SetActualDataLength | 버퍼내의 유효한 데이터의 길이를 설정한다. |
GetMediaType | 미디어 타입이 전의 샘플과 다른 경우, 미디어 타입을 얻어온다. |
SetMediaType | 샘플의 미디어 타입을 설정한다. |
IsDiscontinuity | 이 샘플이 데이터 스트림내에서 브레이크를 표시할지 어떨지를 확인한다. |
SetDiscontinuity | 이 샘플이 데이터 스트림내에서 브레이크를 표시할지 어떨지를 지정한다. |
GetMediaTime | 이 샘플의 미디어 타임을 얻어온다. |
SetMediaTime | 이 샘플의 미디어 타임을 설정한다. |
IMediaSample2 메서드 | |
GetProperties | 샘플의 프로퍼티를 얻어온다. |
SetProperties | 샘플의 프로퍼티를 설정한다. |