ASF 분할자 개체 만들기
ASF 분할자 개체는 ASF(Advanced Systems Format) 파일의 ASF 데이터 개체를 구문 분석하는 WMContainer 계층 개체입니다. ASF 분할자 개체의 새 instance 만들려면 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 함수를 사용하여 인터페이스 포인터를 해제합니다.
관련 항목