ASF 스플리터 개체는 ASF(Advanced Systems Format) 파일의 ASF 데이터 개체를 구문 분석하는 WMContainer 레이어 개체입니다. ASF 분할자 개체의 새 인스턴스를 만들려면 MFCreateASFSplitter 함수를 호출합니다. 이 함수는 빈 분할자 개체를 나타내는 IMFASFSplitter 인터페이스에 대한 포인터를 반환합니다.
분할자가 구문 분석을 시작하려면 먼저 애플리케이션이 ASF 헤더 개체의 정보를 사용하여 분할자를 초기화해야 합니다. 분할자를 초기화하려면 IMFASFSplitter::Initialize 메서드를 호출합니다. 이 메서드는 ASF 파일의 헤더 정보를 포함한 ASF ContentInfo 개체를 가리키는 포인터를 사용하여 해당 정보를 구문 분석합니다. 애플리케이션은 미디어 파일의 특성을 애플리케이션에 알 수 있도록 분할자로 전달하기 전에 ContentInfo 개체를 초기화해야 합니다. 분할자의 Initialize 메서드는 스트림 번호와 같은 ContentInfo 개체에서 스트림 정보를 추출하므로 분할자는 데이터 패킷을 구문 분석할 수 있습니다.
예시
다음 코드 예제에서는 분할자를 만들고 기존 ContentInfo 개체를 사용하여 초기화하는 방법을 보여줍니다.
// Create and initialize the ASF splitter.
HRESULT CreateASFSplitter (IMFASFContentInfo* pContentInfo,
IMFASFSplitter** ppSplitter)
{
IMFASFSplitter *pSplitter = NULL;
// Create the splitter object.
HRESULT hr = MFCreateASFSplitter(&pSplitter);
// Initialize the splitter to work with specific ASF data.
if (SUCCEEDED(hr))
{
hr = pSplitter->Initialize(pContentInfo);
}
if (SUCCEEDED(hr))
{
// Return the object to the caller.
*ppSplitter = pSplitter;
(*ppSplitter)->AddRef();
}
SafeRelease(&pSplitter);
return hr;
}
메모
이 예제에서는 SafeRelease 함수를 사용하여 인터페이스 포인터를 해제합니다.
관련 항목