다음을 통해 공유


IKsInterfaceHandler::KsProcessMediaSamples 메서드(ksproxy.h)

KsProcessMediaSamples 메서드는 미디어 샘플을 처리합니다.

구문

HRESULT KsProcessMediaSamples(
  [in]      IKsDataTypeHandler *KsDataTypeHandler,
  [in]      IMediaSample       **SampleList,
  [in, out] PLONG              SampleCount,
  [in]      KSIOOPERATION      IoOperation,
  [out]     PKSSTREAM_SEGMENT  *StreamSegment
);

매개 변수

[in] KsDataTypeHandler

SampleList에 나열된 미디어 형식을 처리하는 데이터 형식 처리기의 IKsDataTypeHandler 인터페이스에 대한 포인터입니다. 이 데이터 형식 처리기에는 스트리밍되는 미디어 형식에 대한 특정 정보가 있습니다.

[in] SampleList

처리할 미디어 샘플 목록에 대한 IMediaSample 인터페이스에 대한 포인터 배열이 포함된 버퍼에 대한 포인터입니다.

[in, out] SampleCount

처음에 SampleList 목록에서 샘플 수를 포함하고 반환 시 처리된 실제 샘플 수를 수신하는 변수에 대한 포인터입니다.

[in] IoOperation

I/O 작업의 형식을 지정하는 값입니다. 이 값은 KSIOOPERATION 열거형 형식의 다음 값 중 하나일 수 있습니다.

Description
KsIoOperation_Write 스트리밍할 데이터를 씁니다.
KsIoOperation_Read 스트림에서 데이터를 읽습니다.

[out] StreamSegment

커널 모드 핀으로 전송되는 스트림 세그먼트에 대한 헤더 정보가 포함된 KSSTREAM_SEGMENT 구조체에 대한 포인터를 수신하는 버퍼에 대한 포인터입니다.

반환 값

성공하면 NOERROR를 반환합니다. 그렇지 않으면 은 오류 코드를 반환합니다.

설명

KsProcessMediaSamples 메서드는 이전에 할당된 필터 핀에서 또는 이전에 할당된 필터 핀으로 샘플을 이동합니다. 스트림 세그먼트의 각 미디어 샘플을 나타내도록 스트림 헤더가 초기화됩니다. 그런 다음 입력 및 출력(I/O)이 수행되고 대기 항목 수가 증가하며 프록시 I/O 스레드가 완료될 때까지 대기합니다.

KsProcessMediaSamples 메서드는 수신된 IKsDataTypeHandler 인터페이스의 KsQueryExtendedSize 메서드를 호출하여 확장 헤더의 크기를 검색합니다. 확장 헤더 크기를 지정하지 않으면 KsProcessMediaSamplesIKsDataTypeHandler 인터페이스에 대한 포인터를 삭제합니다. 확장 헤더 크기를 지정하면 KsProcessMediaSamples 는 미디어 샘플 처리가 완료될 때까지 IKsDataTypeHandler 인터페이스에 대한 포인터를 보유합니다. 그런 다음 KsProcessMediaSamples 메서드는 적절한 헤더 크기로 스트림 헤더를 할당합니다. 각 미디어 샘플에 대해 KsProcessMediaSamples 는 헤더를 초기화하고, 데이터 포인터를 복사하고, 타임스탬프를 설정하는 등의 작업을 합니다. 그런 다음 각 샘플이 샘플 목록에 추가됩니다. 쓰기 작업인 경우 참조 횟수를 증가시켜 샘플이 유지됩니다.

IMediaSample에 대한 자세한 내용은 Microsoft Windows SDK 설명서를 참조하세요.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 ksproxy.h(Ksproxy.h 포함)

추가 정보

IKsDataTypeHandler

IKsDataTypeHandler::KsQueryExtendedSize

KSSTREAM_SEGMENT