IMFASFSplitter::P arseData 메서드(wmcontainer.h)

처리를 위해 ASF(패킷화된 고급 시스템 형식) 데이터를 ASF 분할기로 보냅니다.

구문

HRESULT ParseData(
  [in] IMFMediaBuffer *pIBuffer,
  [in] DWORD          cbBufferOffset,
  [in] DWORD          cbLength
);

매개 변수

[in] pIBuffer

구문 분석할 데이터를 포함하는 버퍼 개체의 IMFMediaBuffer 인터페이스에 대한 포인터입니다.

[in] cbBufferOffset

분할자 구문 분석을 시작해야 하는 데이터 버퍼의 오프셋입니다. 이 값은 일반적으로 0으로 설정됩니다.

[in] cbLength

구문 분석할 데이터의 길이(바이트)입니다. 이 값은 cbBufferOffset에 지정된 오프셋에서 측정됩니다. 버퍼의 끝까지 처리하려면 0으로 설정합니다.

반환 값

이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

반환 코드 Description
S_OK
메서드가 성공했습니다.
E_INVALIDARG
pIBuffer 매개 변수는 NULL입니다.

cbBufferOffset의 지정된 오프셋 값이 버퍼의 길이보다 큽니다.

cbBufferOffsetcbLength의 총 값이 버퍼의 길이보다 큽니다.

MF_E_NOT_INITIALIZED
IMFASFSplitter::Initialize 메서드가 호출되지 않았거나 호출에 실패했습니다.
MF_E_NOTACCEPTING
현재 분할자에서 더 많은 입력을 처리할 수 없습니다.

설명

이 메서드를 사용하여 데이터를 구문 분석한 후에 는 IMFASFSplitter::GetNextSample 을 호출하여 구문 분석된 미디어 샘플을 검색해야 합니다.

ASF 데이터에 가변 크기의 패킷이 포함된 경우 버퍼의 MFASFSPLITTER_PACKET_BOUNDARY 특성을 설정하여 샘플 경계를 나타내야 하며 버퍼는 여러 패킷에 걸쳐 있지 않습니다.

메서드가 ME_E_NOTACCEPTING 반환하는 경우 GetNextSample 을 호출하여 출력 샘플을 얻거나 IMFASFSplitter::Flush 를 호출하여 분할기를 지웁니다.

분할은 입력 버퍼에 대한 참조 수를 보유할 수 있습니다. 따라서 이 메서드를 호출한 후 버퍼의 유효한 데이터를 기록하지 마세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wmcontainer.h
라이브러리 Mfuuid.lib

추가 정보

ASF 분할기

IMFASFSplitter