DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CMediaSample   [목차열람] [주소복사] [슬롯비우기]
CMediaSample 클래스
 
Microsoft DirectX 9.0

CMediaSample 클래스

CMediaSample 클래스의 계층

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 샘플의 프로퍼티를 설정한다.

↑TOP