Skip to content

Audio Settings High Level Test Specification Document

Acronyms, Terms and Abbreviations

  • HAL - Hardware Abstraction Layer
  • API - Application Programming Interface
  • L2 - Level 2 Testing
  • L3 - Level 3 Testing
  • NA - Not Applicable
  • Y - Yes
  • DS - Device Settings
  • Caller - Any user of the interface via the APIs
  • CB - Call-back function (suffix)
  • ARC - Audio Return Channel
  • eARC - Enhanced Audio Return Channel
  • SAD - Short Audio Descriptor
  • SPDIF - Sony/Philips Digital Interface
  • HDMI - High-Definition Multimedia Interface
  • LE - Loudness Equivalence
  • DRC - Dynamic Range Control
  • MI - Media Intelligent
  • MS12 - MultiStream 12
  • PCM - Pulse Code Modulation
  • AC3 - Audio Codec 3
  • EAC3 - Enhanced AC3
  • WMA - Windows Media Audio
  • AAC - Advanced Audio coding
  • DD - DOLBY Digital
  • DDPLUS - DOLBY Digital Plus
  • DAP - Digital Audio Processing

Introduction

This document provides an overview of the testing requirements for the Audio Settings module. It outlines the scope of testing, objectives, testing levels and approaches, specific test requirements, and expected deliverables.

Module Description

The Audio device setting interface provides control to enable or disable Audio Output ports like TV Internal Speakers, ARC/eARC, Headphones, SPDIF and allows caller to configure or retrieve various audio parameters like MS12 DAP Capabilities, MS12 audio profile, stereo mode, audio gain, audio delay, fader control, primary language and secondary language.

Testing Scope

# Test Functionality Description
01 Test Audio Port Test for audio port configuration
02 Test MS12 DAP Capabilities Test for MS12 DAP capabilities like compression, dialogue enhancement, volume mode, intelligent equalizer, bass enhancer Surround decode, DRC mode, Surround Virtualizer, MI Steering, Graphic equalizer, LE configuration
03 Test MS12 Capabilities Test for MS12 capabilities
04 Test ARC Support Sink Device Test for ARC Ports
05 Test Stereo Mode Support Test for Stereo mode configurations
06 Test Audio Gain and Mute Test for audio gain level configurations and mute functionality
07 Test Audio Delay Test for audio delay configuration
08 Test Atmos Mode Test for audio atmos capabilities
09 Test Audio Format Test for Audio Formats
10 Test Associated Audio Mixing Test for Associated Audio Mixing
11 Test Primary/Secondary Language Test for primary/secondary language configuration
12 Test Audio Mixer Levels Test for Primary and secondary Audio mixer levels

Emulator Requirements

Boot configuration: Various Audio ports, audio formats, Stereo modes and Ms12 features supported by device

Audio Format Requirements for Playback

Test Audio Port

Description HAL APIs L2 L3 Source Sink Control plane requirements
Loop through supported audio ports, Enable/disable audio ports and retrieve status for verification dsGetAudioPort(), dsEnableAudioPort(), dsIsAudioPortEnabled() Y NA Y Y NA
Loop through supported audio ports, Enable/disable audio ports and verify using external analyzer with stream playback dsGetAudioPort(), dsEnableAudioPort() NA Y Y Y Y
Loop through supported audio ports, get the handle for dsAUDIOPORT_TYPE_HEADPHONE port, check the connection status. Connection status should be false dsGetAudioPort(), dsAudioOutIsConnected() Y NA NA Y NA
Loop through supported audio ports, get the handle for dsAUDIOPORT_TYPE_HEADPHONE port, check the connection status by connecting/disconnecting the port connections. dsGetAudioPort(), dsAudioOutIsConnected() NA Y NA Y Y
Loop through supported audio ports, get the handle for dsAUDIOPORT_TYPE_HEADPHONE port, Check the connection status with call-back function by connecting/disconnecting the port connection dsGetAudioPort(), dsAudioOutRegisterConnectCB() NA Y NA Y Y

Test Startup Requirement - Test Audio Port

Playback of stream is required for the L3 testcases. Audio Format Requirements for Playback

Emulator Requirements - Test Audio Port

Emulator Requirements

Control Plane Requirements - Test Audio Port

  • Control the external analyzer
  • Control the port connections

Test MS12 DAP Capabilities

Description HAL APIs L2 L3 Source Sink Control plane requirements
Retrieve the supported MS12 DAP capabilities of the device and verify them with the configuration YAML file. If it is a sink device, retrieve the value from the 'Sink_AudioSettings.yaml' file using the path "Ports/1/MS12_Capabilities" supported by the SPEAKER port. If it is a source device, retrieve the value from the 'Source_AudioSettings.yaml' file using the path "Ports/2/MS12_Capabilities" supported by the HDMI port. dsGetAudioPort(), dsGetMS12Capabilities() Y NA Y Y NA
Loop through supported audio ports, Set various compression levels for supported ports and retrieve compression levels for verification dsGetAudioPort(), dsSetAudioCompression(), dsGetAudioCompression() Y NA Y Y NA
Test various compression levels with stream playback. Loop through supported audio ports, Set various compression levels for supported ports and verify with external analyzer dsGetAudioPort(), dsSetAudioCompression() NA Y Y Y Y
Loop through supported audio ports, Set Dialog Enhancement for supported ports and retrieve Dialog Enhancement for verification dsGetAudioPort(), dsSetDialogEnhancement(), dsGetDialogEnhancement() Y NA Y Y NA
Test Dialog Enhancement for supported ports with stream playback. Loop through supported audio ports, Set Dialog Enhancement for supported ports and verify with external analyzer dsGetAudioPort(), dsSetDialogEnhancement() NA Y Y Y Y
Loop through supported audio ports, Set DOLBY Volume Mode for supported ports and retrieve DOLBY Volume Mode for verification dsGetAudioPort(), dsSetDolbyVolumeMode(), dsGetDolbyVolumeMode() Y NA Y Y NA
Test DOLBY Volume Mode for supported ports with stream playback. Loop through supported audio ports, Set DOLBY Volume Mode for supported ports and verify with external analyzer dsGetAudioPort(), dsSetDolbyVolumeMode() NA Y Y Y Y
Loop through supported audio ports, Set Intelligent Equalizer Mode for supported ports and retrieve Intelligent Equalizer Mode for verification dsGetAudioPort(), dsSetIntelligentEqualizerMode(), dsGetIntelligentEqualizerMode() Y NA Y Y NA
Test Intelligent Equalizer Mode with stream playback. Loop through supported audio ports, Set Intelligent Equalizer Mode for supported ports and verify with external analyzer dsGetAudioPort(), dsSetIntelligentEqualizerMode() NA Y Y Y Y
Loop through supported audio ports, Set Volume leveller for supported ports and retrieve Volume leveller for verification dsGetAudioPort(), dsSetVolumeLeveller(), dsGetVolumeLeveller() Y NA Y Y NA
Test Volume leveller for supported ports with stream playback. Loop through supported audio ports, Set Volume leveller for supported ports and verify with external analyzer dsGetAudioPort(), dsSetVolumeLeveller() NA Y Y Y Y
Loop through supported audio ports, Set Bass Enhancer for supported ports and retrieve Bass Enhancer for verification dsGetAudioPort(), dsSetBassEnhancer(), dsGetBassEnhancer() Y NA Y Y NA
Test Bass Enhancer for supported ports with stream playback. Loop through supported audio ports, Set Bass Enhancer for supported ports and verify with external analyzer dsGetAudioPort(), dsSetBassEnhancer() NA Y Y Y Y
Loop through supported audio ports, Enable Surround Decoder for supported ports and retrieve Surround Decoder status for verification dsGetAudioPort(), dsEnableSurroundDecoder(), dsIsSurroundDecoderEnabled() Y NA Y Y NA
Test Surround Decoder for supported ports with stream playback. Loop through supported audio ports, Set Bass Enhancer for supported ports and verify with external analyzer dsGetAudioPort(), dsEnableSurroundDecoder() NA Y Y Y Y
Loop through supported audio ports, Set DRC Mode for supported ports and retrieve DRC Mode for verification dsGetAudioPort(), dsSetDRCMode(), dsGetDRCMode() Y NA Y Y NA
Test DRC Mode for supported ports with stream playback. Loop through supported audio ports, Set DRC Mode for supported ports and verify with external analyzer dsGetAudioPort(), dsSetDRCMode() NA Y Y Y Y
Loop through supported audio ports, Set Surround Virtualizer for supported ports and retrieve Surround Virtualizer for verification dsGetAudioPort(), dsSetSurroundVirtualizer(), dsGetSurroundVirtualizer() Y NA Y Y NA
Test Surround Virtualizer for supported ports with stream playback. Loop through supported audio ports, Set Surround Virtualizer for supported ports and verify with external analyzer dsGetAudioPort(), dsSetSurroundVirtualizer() NA Y Y Y Y
Loop through supported audio ports, Set MI Steering for supported ports and retrieve MI Steering for verification dsGetAudioPort(), dsSetMISteering(), dsGetMISteering() Y NA Y Y NA
Test MI Steering for supported ports with stream playback. Loop through supported audio ports, Set MI Steering for supported ports and verify with external analyzer dsGetAudioPort(), dsSetMISteering() NA Y Y Y Y
Loop through supported audio ports, Set Graphic Equalizer for supported ports and retrieve Graphic Equalizer for verification dsGetAudioPort(), dsSetGraphicEqualizerMode(), dsGetGraphicEqualizerMode() Y NA Y Y NA
Test Graphic Equalizer for supported ports with stream playback. Loop through supported audio ports, Set Graphic Equalizer for supported ports and verify with external analyzer dsGetAudioPort(), dsSetGraphicEqualizerMode() NA Y Y Y Y
Loop through supported audio ports, Enable/disable audio loudness equivalence and retrieve audio loudness equivalence status for verification dsGetAudioPort(), dsEnableLEConfig(), dsGetLEConfig() Y NA Y Y NA
Test audio loudness equivalence for supported ports with stream playback. Loop through supported audio ports, Enable/Disable audio loudness equivalence for supported ports and verify with external analyzer dsGetAudioPort(), dsEnableLEConfig() NA Y Y Y Y

Test Startup Requirement - Test MS12 DAP Capabilities

Playback of stream is required for the L3 testcases. Audio Format Requirements for Playback

Emulator Requirements - Test MS12 DAP Capabilities

Emulator Requirements

Control Plane Requirements - Test MS12 DAP Capabilities

  • Control the external analyzer
  • Control the port connections

Test MS12 Capabilities

Description HAL APIs L2 L3 Source Sink Control plane requirements
Loop through the supported audio ports and check whether the port supports MS12 decode using the configuration YAML file. For a sink device, retrieve the value from the 'Sink_AudioSettings.yaml' file using the path "Ports/1/IsMS12Decode" supported by the SPEAKER port. For a source device, retrieve the value from the 'Source_AudioSettings.yaml' file using the path "Ports/2/IsMS12Decode" supported by the HDMI port. dsGetAudioPort(), dsIsAudioMS12Decode() Y NA Y Y NA
Loop through the supported audio ports and check whether the port supports MS11 decode using the configuration YAML file. For a sink device, retrieve the value from the 'Sink_AudioSettings.yaml' file using the path "Ports/1/IsMS11Decode" supported by the SPEAKER port. For a source device, retrieve the value from the 'Source_AudioSettings.yaml' file using the path "Ports/2/IsMS11Decode" supported by the HDMI port. dsGetAudioPort(), dsIsAudioMSDecode() Y NA Y Y NA
Get the supported MS12 audio profiles and verify them with the configuration YAML file. For a sink device, retrieve the value from the 'Sink_AudioSettings.yaml' file using the path "Ports/1/MS12_AudioProfiles" supported by the SPEAKER port. For source devices, it is not supported. dsGetAudioPort(), dsGetMS12AudioProfileList() Y NA NA Y NA
Get Supported MS12 Audio profiles, Loop through supported audio ports, set various audio profiles for supported ports and retrieve audio profile for verification dsGetAudioPort(), dsGetMS12AudioProfileList(), dsSetMS12AudioProfile(), dsGetMS12AudioProfile() Y NA NA Y NA

Test Startup Requirement - Test MS12 Capabilities

NA

Emulator Requirements - Test MS12 Capabilities

Emulator Requirements

Control Plane Requirements - Test MS12 Capabilities

NA

Test ARC Support Sink Device

Description HAL APIs L2 L3 Source Sink Control plane requirements
Get the ARC port handle by looping through the supported audio ports, get the ARC type of the connected device, and verify it with the configuration YAML file. For a sink device, retrieve the value from the 'Sink_AudioSettings.yaml' file using the path "Ports/2/Arc_Types" as the sink device supports Arc_Types only on the HDMI_ARC port. It does not support for source device. dsGetAudioPort(), dsGetSupportedARCTypes() NA Y NA Y Y
Get the ARC port handle by looping through supported audio ports, enable the ARC Port and check if the audio routed to ARC port using external analyzers dsGetAudioPort(), dsAudioEnableARC() NA Y NA Y Y
Get the ARC port handle by looping through supported audio ports, enable the ARC Port, Set SAD for ARC port and verify using external analyzers dsGetAudioPort(), dsAudioEnableARC(), dsAudioSetSAD() NA Y NA Y Y

Test Startup Requirement - Test ARC Support

Playback of stream is required for the L3 testcases. Audio Format Requirements for Playback

Emulator Requirements - Test ARC Support

Emulator Requirements

Control Plane Requirements - Test ARC Support

  • Control the external analyzer
  • Control the port connections

Test Stereo Mode Support

Description HAL APIs L2 L3 Source Sink Control plane requirements
Loop through supported audio ports, Set Stereo mode for supported ports and retrieve Stereo mode for verification dsGetAudioPort(), dsSetStereoMode(), dsGetStereoMode() Y NA Y Y NA
Loop through supported audio ports, Set various stereo modes for all supported ports and verify using the external analyzer dsGetAudioPort(), dsSetStereoMode() NA Y Y Y Y
Loop through supported audio ports, Set Stereo Auto mode for supported ports and retrieve it for verification dsGetAudioPort(), dsSetStereoAuto(), dsGetStereoAuto() Y NA NA Y NA
Loop through supported audio ports, Set Auto Stereo mode for all supported ports and verify using the external analyzer dsGetAudioPort(), dsSetStereoAuto() NA Y NA Y Y

Test Startup Requirement - Test Stereo Mode Support

Playback of stream is required for the L3 testcases. Audio Format Requirements for Playback

Emulator Requirements - Test Stereo Mode Support

Emulator Requirements

Control Plane Requirements - Test Stereo Mode Support

  • Control the external analyzer
  • Control the port connections

Test Audio Gain and Mute

Description HAL APIs L2 L3 Source Sink Control plane requirements
Loop through supported audio ports, Set various Linear Audio Gain Values for supported ports and retrieve Audio Gain for verification dsGetAudioPort(), dsSetAudioGain(), dsGetAudioGain() Y NA NA Y NA
Loop through supported audio ports, Set various Linear Audio Gain Values for all supported ports and verify levels using the external analyzer dsGetAudioPort(), dsSetAudioGain() NA Y NA Y Y
Loop through supported audio ports, Set various Audio Levels for supported ports and retrieve Audio Level for verification dsGetAudioPort(), dsSetAudioLevel(), dsGetAudioLevel() Y NA NA Y NA
Loop through supported audio ports, Set various Audio Level for all supported ports and verify using the external analyzer dsGetAudioPort(), dsSetAudioLevel() NA Y NA Y Y
Loop through supported audio ports, Enable/disable audio mute for supported ports and retrieve Mute status for verification dsGetAudioPort(), dsSetAudioMute(), dsIsAudioMute() Y NA Y Y NA
Loop through supported audio ports, Enable/disable audio mute and verify mute status using external analyzer dsGetAudioPort(), dsSetAudioMute() NA Y Y Y Y

Test Startup Requirement - Test Audio Gain and Mute

Playback of stream is required for the L3 testcases. Audio Format Requirements for Playback

Emulator Requirements - Test Audio Gain and Mute

Emulator Requirements

Control Plane Requirements - Test Audio Gain and Mute

  • Control the external analyzer
  • Control the port connections

Test Audio Delay

Description HAL APIs L2 L3 Source Sink Control plane requirements
Loop through supported audio ports, Set Audio delay for supported ports and retrieve delay for verification dsGetAudioPort(), dsSetAudioDelay(), dsGetAudioDelay() Y NA Y Y NA
Loop through supported audio ports, Set Audio delay for supported ports and measure audio-video delay using external analyzers dsGetAudioPort(), dsSetAudioDelay() NA Y Y Y Y

Test Startup Requirement - Test Audio Delay

Playback of stream is required for the L3 testcases. Audio Format Requirements for Playback

Emulator Requirements - Test Audio Delay

Emulator Requirements

Control Plane Requirements - Test Audio Delay

  • Control the external analyzer
  • Control the port connections

Test Atmos Mode

Description HAL APIs L2 L3 Source Sink Control plane requirements
Loop through supported audio ports, Set Atmos for supported ports and analyze with external device dsAudioPortInit(), dsSetAudioAtmosOutputMode() NA Y Y Y Y
For sink devices, get the ATMOS capabilities of dsAUDIOPORT_TYPE_SPEAKER (internal speaker) and verify them with the configuration YAML file. Retrieve the value from the 'Sink_AudioSettings.yaml' file using the path "Ports/1/ATMOS_Capabilities" as the SPEAKER port number is 1. It is not supported for source device. dsGetAudioPort(), dsGetSinkDeviceAtmosCapability() Y NA NA Y NA
Loop through supported audio ports, Get the ATMOS capabilities of connected devices and verify with configuration file. dsGetAudioPort(), dsGetSinkDeviceAtmosCapability() NA Y Y Y Y
Register Atmos capability call-back, change the Atmos capabilities of connected device, and check whether the call-back is triggered or not dsAudioAtmosCapsChangeRegisterCB () NA Y Y Y Y

Test Startup Requirement - Test Atmos Mode

Playback of stream is required for the L3 testcases. Audio Format Requirements for Playback

Emulator Requirements - Test Atmos Mode

Emulator Requirements

Control Plane Requirements - Test Atmos Mode

  • Control the external analyzer
  • Control the port connections

Test Audio Format

Description HAL APIs L2 L3 Source Sink Control plane requirements
Get the audio format of stream played and verify with external analyzer dsGetAudioFormat() NA Y Y Y NA
Get the audio capabilities of the device and verify with configuration YAML file. If it is a sink device, the value to be retrieved from the 'Sink_AudioSettings.yaml' file with the path of "Audio_Capabilities". For the source devices, the value to be retrieved from the 'Source_AudioSettings.yaml' file with the path of "Audio_Capabilities". dsGetAudioCapabilities() Y NA Y Y NA
Register a call-back, Change the audio format of playback and check whether call-back is triggered or not dsAudioFormatUpdateRegisterCB(), dsGetAudioFormat() NA Y Y Y NA

Test Startup Requirement - Test Audio Format

Playback of stream is required for the L3 testcases. Audio Format Requirements for Playback

Emulator Requirements - Test Audio Format

Emulator Requirements

Control Plane Requirements - Test Audio Format

Test Associated Audio Mixing

Description HAL APIs L2 L3 Source Sink Control plane requirements
Loop through supported audio ports, Enable/disable Associated Audio Mixing for supported ports and retrieve it for verification dsGetAudioPort(), dsSetAssociatedAudioMixing(), dsGetAssociatedAudioMixing() Y NA Y Y NA
Loop through supported audio ports, Enable Associated Audio Mixing for supported ports, Set various Fader Control values for supported ports and retrieve it for verification dsGetAudioPort(), dsSetAssociatedAudioMixing(), dsSetFaderControl(), dsGetFaderControl() Y NA Y Y NA
Loop through supported audio ports, Test Associate Audio mixing and fader control with stream playback and verify with external analyzer dsGetAudioPort(), dsSetAssociatedAudioMixing(), dsSetFaderControl() NA Y Y Y Y

Test Startup Requirement - Associated Audio Mixing Test

Playback of stream is required for the L3 testcases. Audio Format Requirements for Playback

Emulator Requirements - Associated Audio Mixing Test

Emulator Requirements

Control Plane Requirements - Associated Audio Mixing Test

  • Control the external analyzer
  • Control the port connections

Test Primary/Secondary Language

Description HAL APIs L2 L3 Source Sink Control plane requirements
Set Primary Language and retrieve the same for verification dsGetAudioPort(), dsSetPrimaryLanguage(), dsGetPrimaryLanguage() Y NA Y Y NA
Set Primary Language with stream playback and verify with external analyzer dsGetAudioPort(), dsSetPrimaryLanguage() NA Y Y Y Y
Set Secondary Language and retrieve the same for verification dsGetAudioPort(), dsSetSecondaryLanguage(), dsGetSecondaryLanguage() Y NA Y Y NA
Set Primary Language with stream playback and verify with external analyzer dsGetAudioPort(), dsSetSecondaryLanguage() NA Y Y Y Y

Test Startup Requirement - Language Test

Playback of stream is required for the L3 testcases. Audio Format Requirements for Playback

Emulator Requirements - Language Test

Emulator Requirements

Control Plane Requirements - Language Test

  • Control the external analyzer
  • Control the port connections

Test Audio Mixer Levels

Description HAL APIs L2 L3 Source Sink Control plane requirements
Set Audio mixer levels for Primary and system audio with stream playback and verify with external analyzer dsGetAudioPort(), dsSetAudioMixerLevels() NA Y NA Y Y

Test Startup Requirement - Test Audio Mixer Levels

Playback of stream is required for the L3 testcases. Audio Format Requirements for Playback

Emulator Requirements -Test Audio Mixer Levels

Emulator Requirements

Control Plane Requirements - Test Audio Mixer Levels

  • Control the external analyzer
  • Control the port connections