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 메서드를 호출하여 확장 헤더의 크기를 검색합니다. 확장 헤더 크기를 지정하지 않으면 KsProcessMediaSamples 는 IKsDataTypeHandler 인터페이스에 대한 포인터를 삭제합니다. 확장 헤더 크기를 지정하면 KsProcessMediaSamples 는 미디어 샘플 처리가 완료될 때까지 IKsDataTypeHandler 인터페이스에 대한 포인터를 보유합니다. 그런 다음 KsProcessMediaSamples 메서드는 적절한 헤더 크기로 스트림 헤더를 할당합니다. 각 미디어 샘플에 대해 KsProcessMediaSamples 는 헤더를 초기화하고, 데이터 포인터를 복사하고, 타임스탬프를 설정하는 등의 작업을 합니다. 그런 다음 각 샘플이 샘플 목록에 추가됩니다. 쓰기 작업인 경우 참조 횟수를 증가시켜 샘플이 유지됩니다.
IMediaSample에 대한 자세한 내용은 Microsoft Windows SDK 설명서를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | ksproxy.h(Ksproxy.h 포함) |