IMFSample 인터페이스(mfobjects.h)
미디어 데이터의 컨테이너 개체인 미디어 샘플을 나타냅니다. 비디오의 경우 샘플에는 일반적으로 하나의 비디오 프레임이 포함됩니다. 오디오 데이터의 경우 샘플에는 일반적으로 단일 오디오 샘플이 아닌 여러 오디오 샘플이 포함됩니다.
미디어 샘플에는 버퍼가 0개 이상 포함되어 있습니다. 각 버퍼는 메모리 블록을 관리하며 IMFMediaBuffer 인터페이스로 표시됩니다. 샘플에는 여러 버퍼가 있을 수 있습니다. 버퍼는 순서가 지정된 목록에 유지되고 인덱스 값으로 액세스됩니다. 버퍼가 없는 빈 샘플을 갖는 것도 유효합니다.
상속
IMFSample 인터페이스는 IMFAttributes에서 상속됩니다. IMFSample 에는 다음과 같은 유형의 멤버도 있습니다.
메서드
IMFSample 인터페이스에는 이러한 메서드가 있습니다.
IMFSample::AddBuffer 샘플의 버퍼 목록 끝에 버퍼를 추가합니다. |
IMFSample::ConvertToContiguousBuffer 여러 버퍼가 있는 샘플을 단일 버퍼가 있는 샘플로 변환합니다. |
IMFSample::CopyToBuffer 샘플 데이터를 버퍼에 복사합니다. 이 메서드는 샘플의 모든 버퍼에서 유효한 데이터를 순서대로 연결합니다. |
IMFSample::GetBufferByIndex 인덱스별로 샘플에서 버퍼를 가져옵니다. |
IMFSample::GetBufferCount 샘플의 버퍼 수를 검색합니다. |
IMFSample::GetSampleDuration 샘플의 기간을 검색합니다. |
IMFSample::GetSampleFlags 샘플과 연결된 플래그를 검색합니다. 현재는 플래그가 정의되어 있지 않습니다. |
IMFSample::GetSampleTime 샘플의 프레젠테이션 시간을 검색합니다. |
IMFSample::GetTotalLength 샘플의 모든 버퍼에서 유효한 데이터의 총 길이를 검색합니다. 길이는 IMFMediaBuffer::GetCurrentLength 메서드에서 검색한 값의 합계로 계산됩니다. |
IMFSample::RemoveAllBuffers 샘플에서 모든 버퍼를 제거합니다. |
IMFSample::RemoveBufferByIndex 샘플에서 지정된 인덱스의 버퍼를 제거합니다. |
IMFSample::SetSampleDuration 샘플의 기간을 설정합니다. |
IMFSample::SetSampleFlags 샘플과 연결된 플래그를 설정합니다. 현재는 플래그가 정의되어 있지 않습니다. |
IMFSample::SetSampleTime 샘플의 프레젠테이션 시간을 설정합니다. |
설명
새 미디어 샘플을 만들려면 MFCreateSample을 호출합니다.
참고
IMFSample에서 IMFAttributes 인터페이스에서 상속된 CopyAllItems를 호출하면 샘플 시간, 기간 및 플래그가 대상 샘플에 복사되지 않습니다. 이러한 값을 새 샘플에 수동으로 복사해야 합니다.
- WINDOWS XP SP2(서비스 팩 2) 이상
- KB900325(Windows XP Media Center Edition 2005) 및 KB925766(Windows XP Media Center Edition용 2006년 10월 업데이트 롤업)이 설치된 Windows XP Media Center Edition 2005.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | mfobjects.h(Mfidl.h 포함) |