오디오 필터

KS 필터는 커널 개체이며 커널 개체 핸들로 식별됩니다. 다음 그림에서 가운데의 큰 상자는 오디오 디바이스를 나타내는 KS 필터입니다. 데이터 스트림은 왼쪽에서 필터로 흐르고, 처리를 위해 몇 개의 노드를 통과하고, 오른쪽에 있는 필터를 종료합니다. 필터는 필터 팩터리에 의해 만들어지며 필터 아래쪽에 파선 가장자리가 있는 상자로 표시됩니다.

데이터 스트림 흐름이 있는 오디오 디바이스를 나타내는 두 개의 노드가 있는 KS 필터를 보여 주는 다이어그램

그림에서 필터에 두 개의 핀이 인스턴스화됩니다. 왼쪽의 핀은 데이터 싱크이고 오른쪽의 핀은 데이터 원본입니다. 데이터는 싱크 핀을 통해 필터로 흐르고 원본 핀을 통해 필터 밖으로 흐릅니다.

규칙에 따라 KS에서 원본 및 싱크라는 용어의 사용은 버퍼 중심(또는 일반적으로 연결 중심)입니다. 한 필터의 원본 핀이 다른 필터의 싱크 핀에 연결되는 지점에서 데이터 버퍼가 자주 필요합니다. 버퍼는 데이터가 원본 핀에서 도착하여 싱크 핀으로 나가는 속도의 불규칙성을 부드럽게 합니다. 물론 모든 연결에 버퍼링이 필요한 것은 아닙니다. 동일한 어댑터 카드 두 디바이스 간에 버퍼리스 연결이 발생할 수 있습니다. 예를 들어 싱크와 원본 데이터 속도가 더 쉽게 일치합니다.)

반면, SRC 및 DST(원본 및 대상) 믹서 라인에 대한 믹서 API의 용어는 디바이스 중심입니다.

  • 스트림은 SRC 믹서 라인을 통해 믹서 디바이스에 들어갑니다.

  • 스트림은 DST 믹서 라인을 통해 믹서 디바이스를 종료합니다.

즉, SRC 믹서 선은 KS 필터의 데이터 싱크 핀에 매핑되고 DST 믹서 선은 데이터 원본 핀에 매핑됩니다. 자세한 내용은 커널 스트리밍 토폴로지를 오디오 믹서 API 변환으로 참조하세요.

간단히 하기 위해 그림에서는 핀 인스턴스를 만드는 필터의 핀 팩터리를 생략합니다.

핀 및 필터는 데이터 싱크 및 데이터 원본일 뿐만 아니라 IRP 싱크 및 IRP 원본일 수도 있습니다. 핀과 필터는 IRP를 받을 수 있을 뿐만 아니라 IRP도 보낼 수 있습니다. 그림의 세 개의 어두운 화살표는 IRP를 나타냅니다. 그림의 왼쪽에 있는 핀은 IRP 싱크입니다. 오른쪽의 핀은 IRP 원본입니다. 그림에는 필터 개체 자체로 전송되는 IRP도 표시됩니다.