정지 중 오디오 리소스 관리

시스템 안정성과 RAM 일시중단 (S2R) 또는 디스크 일시중단 (S2D)과 같은 저전력 상태로 전환하는 기능을 보장하려면 전원 전환 중에 오디오 리소스를 적절하게 관리하는 것이 중요합니다.

시스템에서 일시중단을 시작할 때 앱이 오디오 입력 또는 출력 스트림을 항상 해제하지는 않을 수 있습니다. 활성 오디오 스트림은 오디오 하위 시스템과 기본 하드웨어가 유휴 상태가 되는 것을 방지하여 시스템 온 칩 (SoC)이 깊은 수면으로 전환되는 것을 차단할 수 있습니다. 이로 인해 일시중단 시도가 실패하고 전력 소비가 증가합니다.

OEM은 일시중단 전환 중에 활성 오디오 스트림을 처리하기 위해 오디오 하드웨어 추상화 계층 (HAL) 구현 내에 강력한 대체 메커니즘을 구현해야 합니다. 이는 앱 동작과 관계없이 플랫폼 안정성에 필수적입니다.

앱은 오디오 리소스를 올바르게 관리해야 하지만 시스템은 기본적인 전원 상태 전환을 위해 이에 의존할 수 없습니다. 오디오 HAL은 시스템이 일시중단 상태로 전환할 수 있도록 리소스 비활성화를 적용하는 데 적합한 계층입니다. 강력한 전원 관리를 위해 이 방법을 사용하는 것이 좋습니다.

전원 관리 구현

오디오 HAL에서 강력한 전원 관리를 구현하려면 다음 단계를 따르세요.

  1. 시스템 전원 상태 변경, 특히 일시중단으로의 전환을 감지합니다.

  2. 시스템이 일시중단을 준비할 때 오디오 스트림(입력 및 출력 모두)이 아직 활성 상태인 경우 개입합니다.

    • 하드웨어 출력 스트림을 해제하고 오디오 프레임워크에서 수신되는 데이터를 삭제합니다.
    • 하드웨어 입력 스트림을 해제하고 무음 오디오를 프레임워크로 보냅니다.

    이 HAL 수준 작업은 앱이 오디오 리소스를 해제하지 않은 경우에도 오디오 하드웨어가 유휴 상태가 되어 시스템이 일시중단될 수 있도록 합니다.

  3. 시스템이 일시중단에서 재개되면 오디오 하위 시스템을 활성 상태로 복원합니다. 여기에는 이전에 음소거된 출력 스트림의 음소거 해제와 입력 스트림의 재활성화가 포함되어 앱이 오디오 재생 및 캡처를 계속할 수 있습니다.

앱에 미치는 영향

일시중단 중에 오디오 리소스의 HAL 수준 관리는 다음과 같은 방식으로 앱에 영향을 미칩니다.

  • 투명한 일시중단: 마이크를 사용하는 앱의 경우 시스템 일시중단(S2D 또는 S2R로 전환)이 투명합니다.
  • 전환 중 음소거된 오디오: 일시중단 전환이 시작된 후 활성 스트림이 HAL에서 음소거됩니다. 앱은 계속 실행되지만 일시중단 중에 음소거된 오디오만 수신합니다.
  • 자동 재개: 시스템 재개 시 앱은 리소스 재확보 또는 복구 작업 없이 자동으로 실제 오디오 데이터를 다시 수신하거나 전송하기 시작합니다.