다음을 통해 공유


WDM 오디오 드라이버 소개

KS(커널 스트리밍) 서비스는 오디오 및 다른 유형의 연속 미디어에 대한 데이터 스트림의 커널 모드 처리를 지원합니다. 개념적으로 스트림은 일부 처리 노드가 포함된 데이터 경로를 따라 흐르면서 처리를 거칩니다. 관련 노드 집합이 함께 그룹화되어 KS 필터를 형성합니다. 이 필터는 스트림 처리 기능의 독립적인 블록을 나타냅니다. 여러 필터를 함께 계단식으로 배열하여 필터 그래프를 구성하여 더 복잡한 함수를 모듈식으로 생성할 수 있습니다.

일반적인 오디오 어댑터 카드 스피커 세트를 통해 웨이브 스트림을 재생하고, 마이크에서 웨이브 스트림으로 오디오 신호를 변환하고, MIDI 스트림에서 사운드를 합성하기 위한 오디오 디바이스를 포함할 수 있습니다. 어댑터 드라이버는 운영 체제에 노출되는 KS 필터에서 이러한 각 오디오 디바이스를 래핑할 수 있습니다. 운영 체제는 필터를 다른 필터에 연결하여 애플리케이션 프로그램을 대신하여 오디오 스트림을 처리하는 필터 그래프를 형성합니다.

KS 필터는 핀을 통해 함께 연결 됩니다. 오디오 필터의 핀은 오디오 잭으로 생각할 수 있습니다. 클라이언트가 데이터 스트림을 해당 필터로 또는 외부로 라우팅해야 하는 경우 클라이언트는 필터에 대한 입력 또는 출력 핀을 인스턴스화합니다. 일부 컨텍스트에서는 스트림 이라는 용어를 서로 바꿔 사용할 수 있습니다.

업스트림 필터의 출력 핀은 다운스트림 필터의 입력 핀에 연결됩니다. 출력 핀의 데이터 스트림에는 입력 핀이 허용할 수 있는 데이터 형식이 있어야 합니다. 데이터 버퍼링은 일반적으로 출력 핀이 데이터를 생성하고 입력 핀이 데이터를 사용하는 속도의 순간적인 불일치를 원활하게 하기 위해 필요합니다.

KS 필터는 몇 가지 관련 스트림 처리 함수를 캡슐화하는 커널 모드 드라이버 개체로 구현됩니다. 이 기능은 소프트웨어 또는 하드웨어에서 구현할 수 있습니다. 이 모델에서 오디오 어댑터는 하드웨어 디바이스의 컬렉션으로 볼 수 있으며 어댑터 드라이버는 이러한 각 디바이스를 개별 필터로 오디오 시스템에 노출합니다.

어댑터 드라이버는 필터 팩터 리 컬렉션을 오디오 시스템에 노출합니다. 각 필터 팩터리는 특정 형식의 필터를 인스턴스화할 수 있습니다.

  • 어댑터에 기능에서 유사하거나 동일한 디바이스가 하나 이상 포함된 경우 드라이버는 해당 디바이스에 대한 필터를 동일한 필터 팩터리로 그룹화합니다.

  • 어댑터에 여러 가지 유형의 디바이스가 포함된 경우 해당 디바이스는 여러 필터 팩터리를 통해 표시됩니다.

KS 필터는 핀 팩터 리 컬렉션을 오디오 시스템에 노출합니다. 각 핀 팩터리는 특정 유형의 핀을 인스턴스화할 수 있습니다. 필터가 기능에서 유사하거나 동일한 하나 이상의 핀을 제공할 수 있는 경우 필터는 해당 핀을 동일한 핀 팩터리에 그룹화합니다. 예를 들어 오디오 혼합을 수행하는 필터에는 단일 출력 핀을 인스턴스화할 수 있는 하나의 핀 팩터리와 여러 입력 핀을 인스턴스화할 수 있는 두 번째 핀 팩터리가 있을 수 있습니다.

KS 서비스는 Windows 드라이버 모델을 기반으로 합니다. KS 필터라는 용어는 또 다른 WDM 개념인 필터 드라이버라는 용어와 구분되어야 합니다. 필터 드라이버는 WDM 드라이버 스택에 있으며 스택을 통해 전파되는 I/O 요청 패킷(IRP)을 가로채고 수정할 수 있습니다. 상위 및 하위 수준 필터 드라이버는 각각 함수 드라이버 위와 아래에 있습니다. 이 섹션에서 필터 라는 용어는 달리 명시되지 않는 한 필터 드라이버가 아닌 KS 필터를 참조합니다. 필터 드라이버에 대한 자세한 내용은 WDM 드라이버 유형을 참조하세요.

이 섹션에서는 다음 항목을 다룹니다.

WDM 오디오 드라이버의 기본 함수

공급업체 오디오 드라이버 옵션

WDM 오디오 용어

샘플 오디오 드라이버

KsStudio 유틸리티

WDM 오디오 아키텍처의 새로운 기능에 대한 업데이트 및 정보는 오디오 기술 웹 사이트를 참조하세요.