다음을 통해 공유


미디어 샘플(Microsoft Media Foundation)

미디어 샘플은 0개 이상의 버퍼의 순서가 지정된 목록을 포함하는 개체입니다. 미디어 샘플은 IMFSample 인터페이스를 노출합니다. 한 샘플에 포함된 데이터의 양은 샘플을 만드는 구성 요소와 버퍼의 데이터 형식에 따라 달라집니다. 압축되지 않은 비디오의 경우 샘플은 일반적으로 단일 비디오 프레임을 보유합니다. 압축되지 않은 오디오의 경우 데이터의 양은 다를 수 있지만 일반적으로 오디오 프레임은 두 샘플에 걸쳐 있지 않습니다. 압축된 데이터의 경우 이러한 지침이 적용되지 않을 수 있습니다.

단일 샘플은 효율성상의 이유로 여러 버퍼를 포함할 수 있습니다. 예를 들어 ASF 파일에서 비디오 프레임은 종종 여러 ASF 패킷 간에 분산됩니다. 미디어 원본은 패킷을 여러 버퍼로 읽을 수 있습니다. 원본은 각 조각을 하나의 버퍼로 복사하는 대신 모든 버퍼를 하나의 샘플에 넣습니다. 그런 다음 다운스트림 구성 요소는 더 작은 버퍼를 하나의 연속 버퍼에 복사할지 여부를 결정할 수 있습니다. 일반적으로 파이프라인 구성 요소를 작성하는 경우 샘플에 둘 이상의 버퍼가 포함될 수 있다고 가정해야 합니다.

이 섹션에는 다음 항목이 포함되어 있습니다.

주제 묘사
미디어 샘플 작업하기 미디어 샘플의 일반적인 동작에 대해 설명합니다.
비디오 샘플 압축되지 않은 비디오 프레임을 보관하도록 설계된 IMFSample 특수 구현에 대해 설명합니다.

 

미디어 버퍼

Media Foundation 기본 형식