IMFASFMultiplexer::P rocessSample 메서드(wmcontainer.h)
입력 샘플을 멀티플렉서에 전달합니다.
구문
HRESULT ProcessSample(
[in] WORD wStreamNumber,
[in] IMFSample *pISample,
[in] LONGLONG hnsTimestampAdjust
);
매개 변수
[in] wStreamNumber
샘플이 속한 스트림의 스트림 번호입니다.
[in] pISample
입력 샘플의 IMFSample 인터페이스에 대한 포인터입니다. 입력 샘플에는 ASF 데이터 패킷으로 변환할 미디어 데이터가 포함되어 있습니다. 가능하면 이 샘플의 타임스탬프는 정확해야 합니다.
[in] hnsTimestampAdjust
샘플의 타임스탬프를 적용할 조정입니다. 이 매개 변수는 호출자가 pISample에서 샘플 시간을 이동하려는 경우에 사용됩니다. 타임스탬프를 앞으로 푸시해야 하는 경우 이 값은 양수이고 타임스탬프를 다시 푸시해야 하는 경우 음수여야 합니다. 이 타임스탬프는 pISample의 샘플 시간에 추가되며 결과 시간은 원래 샘플 시간 대신 멀티플렉서에서 사용됩니다. 조정이 필요하지 않은 경우 이 값을 0으로 설정합니다.
반환 값
이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.
반환 코드 | Description |
---|---|
|
메서드가 성공했습니다. |
|
멀티플렉서에서 검색할 패킷이 너무 많습니다. IMFASFMultiplexer::GetNextPacket을 호출하여 패킷을 가져옵니다. |
|
처리된 샘플은 ASF ContentInfo 개체의 스트림에 대해 지정된 대역폭 제한을 위반합니다. 이 오류가 생성되면 샘플이 삭제됩니다. |
|
wStreamNumber에 전달된 값이 잘못되었습니다. |
|
입력 미디어 샘플의 프레젠테이션 시간은 전송 시간보다 1초 이전입니다. |
설명
애플리케이션은 ProcessSample에 샘플을 전달하고 ASF 멀티플렉서는 ASF 패킷에 배치할 준비가 될 때까지 내부적으로 큐에 넣습니다. IMFASFMultiplexer::GetNextPacket을 호출하여 ASF 데이터 패킷을 가져옵니다.
ProcessSample을 호출할 때마다 루프에서 GetNextPacket을 호출하여 사용 가능한 모든 데이터 패킷을 가져옵니다. 코드 예제는 새 ASF 데이터 패킷 생성을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wmcontainer.h |
라이브러리 | Mfuuid.lib |