> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs-staging.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PAL Defs

**Header:** `inc/PalDefs.h`

## Structures

### `aac_enc_cfg`

**Members**

<ParamField path="aac_enc_mode" type="uint16_t">
  AAC encoder mode.
</ParamField>

<ParamField path="aac_fmt_flag" type="uint16_t">
  AAC format flag.
</ParamField>

### `pal_snd_enc_aac`

**Members**

<ParamField path="aac_bit_rate" type="uint32_t" />

<ParamField path="global_cutoff_freq" type="uint32_t" />

<ParamField path="enc_cfg" type="struct aac_enc_cfg" />

### `pal_snd_dec_aac`

**Members**

<ParamField path="audio_obj_type" type="uint16_t" />

<ParamField path="pce_bits_size" type="uint16_t" />

### `pal_snd_dec_wma`

**Members**

<ParamField path="fmt_tag" type="uint32_t" />

<ParamField path="super_block_align" type="uint32_t" />

<ParamField path="bits_per_sample" type="uint32_t" />

<ParamField path="channelmask" type="uint32_t" />

<ParamField path="encodeopt" type="uint32_t" />

<ParamField path="encodeopt1" type="uint32_t" />

<ParamField path="encodeopt2" type="uint32_t" />

<ParamField path="avg_bit_rate" type="uint32_t" />

### `pal_snd_dec_alac`

**Members**

<ParamField path="frame_length" type="uint32_t" />

<ParamField path="compatible_version" type="uint8_t" />

<ParamField path="bit_depth" type="uint8_t" />

<ParamField path="pb" type="uint8_t" />

<ParamField path="mb" type="uint8_t" />

<ParamField path="kb" type="uint8_t" />

<ParamField path="num_channels" type="uint8_t" />

<ParamField path="max_run" type="uint16_t" />

<ParamField path="max_frame_bytes" type="uint32_t" />

<ParamField path="avg_bit_rate" type="uint32_t" />

<ParamField path="sample_rate" type="uint32_t" />

<ParamField path="channel_layout_tag" type="uint32_t" />

### `pal_snd_dec_ape`

**Members**

<ParamField path="compatible_version" type="uint16_t" />

<ParamField path="compression_level" type="uint16_t" />

<ParamField path="format_flags" type="uint32_t" />

<ParamField path="blocks_per_frame" type="uint32_t" />

<ParamField path="final_frame_blocks" type="uint32_t" />

<ParamField path="total_frames" type="uint32_t" />

<ParamField path="bits_per_sample" type="uint16_t" />

<ParamField path="num_channels" type="uint16_t" />

<ParamField path="sample_rate" type="uint32_t" />

<ParamField path="seek_table_present" type="uint32_t" />

### `pal_snd_dec_flac`

**Members**

<ParamField path="sample_size" type="uint16_t" />

<ParamField path="min_blk_size" type="uint16_t" />

<ParamField path="max_blk_size" type="uint16_t" />

<ParamField path="min_frame_size" type="uint16_t" />

<ParamField path="max_frame_size" type="uint16_t" />

### `pal_snd_dec_vorbis`

**Members**

<ParamField path="bit_stream_fmt" type="uint32_t" />

### `pal_snd_dec_opus`

**Members**

<ParamField path="bitstream_format" type="uint16_t" />

<ParamField path="payload_type" type="uint16_t" />

<ParamField path="version" type="uint8_t" />

<ParamField path="num_channels" type="uint8_t" />

<ParamField path="pre_skip" type="uint16_t" />

<ParamField path="sample_rate" type="uint32_t" />

<ParamField path="output_gain" type="uint16_t" />

<ParamField path="mapping_family" type="uint8_t" />

<ParamField path="stream_count" type="uint8_t" />

<ParamField path="coupled_count" type="uint8_t" />

<ParamField path="channel_map" type="uint8_t" />

### `pal_haptics_payload`

**Members**

<ParamField path="operationMode" type="pal_haptics_mode" />

### `pal_spkr_prot_payload`

**Members**

<ParamField path="spkrHeatupTime" type="uint32_t" />

<ParamField path="operationModeRunTime" type="uint32_t" />

<ParamField path="operationMode" type="pal_spkr_prot_mode" />

### `pal_snd_dec_t`

Audio parameter data.

**Members**

<ParamField path="aac_dec" type="struct pal_snd_dec_aac" />

<ParamField path="wma_dec" type="struct pal_snd_dec_wma" />

<ParamField path="alac_dec" type="struct pal_snd_dec_alac" />

<ParamField path="ape_dec" type="struct pal_snd_dec_ape" />

<ParamField path="flac_dec" type="struct pal_snd_dec_flac" />

<ParamField path="vorbis_dec" type="struct pal_snd_dec_vorbis" />

<ParamField path="opus_dec" type="struct pal_snd_dec_opus" />

### `pal_snd_enc_t`

Audio encoder parameter data.

**Members**

<ParamField path="aac_enc" type="struct pal_snd_enc_aac" />

### `pal_param_payload_s`

Audio parameter data.

**Members**

<ParamField path="payload_size" type="uint32_t" />

<ParamField path="payload" type="uint8_t" />

### `pal_channel_info`

Audio channel info data structure.

**Members**

<ParamField path="channels" type="uint16_t">
  number of channels
</ParamField>

<ParamField path="ch_map" type="uint8_t">
  ch\_map value per channel.
</ParamField>

### `pal_stream_info`

**Members**

<ParamField path="version" type="int64_t" />

<ParamField path="size" type="int64_t">
  version of structure
</ParamField>

<ParamField path="duration_us" type="int64_t">
  size of structure
</ParamField>

<ParamField path="has_video" type="bool">
  duration in microseconds, -1 if unknown
</ParamField>

<ParamField path="is_streaming" type="bool">
  optional, true if stream is tied to a video stream
</ParamField>

<ParamField path="loopback_type" type="int32_t">
  true if streaming, false if local playback
</ParamField>

<ParamField path="tx_proxy_type" type="int32_t">
  used only if stream\_type is LOOPBACK.
</ParamField>

<ParamField path="rx_proxy_type" type="int32_t">
  enums defined in enum pal\_stream\_proxy\_tx\_types
</ParamField>

<ParamField path="haptics_type" type="int32_t">
  enums defined in enum pal\_stream\_proxy\_rx\_types
</ParamField>

<ParamField path="isBitPerfect" type="bool">
  enums defined in enum pal\_sream\_haptics\_types
</ParamField>

### `pal_voice_record_info`

**Members**

<ParamField path="version" type="int64_t" />

<ParamField path="size" type="int64_t">
  version of structure
</ParamField>

<ParamField path="record_direction" type="pal_incall_record_direction">
  size of structure
</ParamField>

### `pal_voice_call_info`

**Members**

<ParamField path="VSID" type="uint32_t" />

<ParamField path="tty_mode" type="uint32_t" />

### `pal_incall_music_info`

**Members**

<ParamField path="local_playback" type="bool" />

<ParamField path="music_dir" type="pal_incall_music_direction" />

### `pal_hpcm_stream_info`

**Members**

<ParamField path="hpcm_stream_type" type="pal_hpcm_stream_type_t" />

### `pal_stream_info_t`

**Members**

<ParamField path="opt_stream_info" type="struct pal_stream_info" />

<ParamField path="voice_rec_info" type="struct pal_voice_record_info" />

<ParamField path="voice_call_info" type="struct pal_voice_call_info" />

<ParamField path="incall_music_info" type="struct pal_incall_music_info" />

<ParamField path="hpcm_stream_info" type="struct pal_hpcm_stream_info" />

### `pal_media_config`

Media configuraiton.

**Members**

<ParamField path="sample_rate" type="uint32_t">
  sample rate
</ParamField>

<ParamField path="bit_width" type="uint32_t">
  bit width
</ParamField>

<ParamField path="aud_fmt_id" type="pal_audio_fmt_t">
  audio format id
</ParamField>

<ParamField path="ch_info" type="struct pal_channel_info">
  channel info
</ParamField>

### `dynamic_media_config`

**Members**

<ParamField path="sample_rate" type="uint32_t">
  sample rate
</ParamField>

<ParamField path="format" type="uint32_t">
  format
</ParamField>

<ParamField path="mask" type="uint32_t">
  channel mask
</ParamField>

<ParamField path="jack_status" type="bool">
  input/output jack status
</ParamField>

### `pal_stream_attributes`

Key value pair to identify the topology of a usecase from default

**Members**

<ParamField path="type" type="pal_stream_type_t">
  stream type
</ParamField>

<ParamField path="info" type="pal_stream_info_t">
  stream info
</ParamField>

<ParamField path="flags" type="pal_stream_flags_t">
  stream flags
</ParamField>

<ParamField path="direction" type="pal_stream_direction_t">
  direction of the streams
</ParamField>

<ParamField path="in_media_config" type="struct pal_media_config">
  media config of the input audio samples
</ParamField>

<ParamField path="out_media_config" type="struct pal_media_config">
  media config of the output audio samples
</ParamField>

<ParamField path="address" type="char *">
  address
</ParamField>

### `modifier_kv`

**Members**

<ParamField path="key" type="uint32_t" />

<ParamField path="value" type="uint32_t" />

### `pal_extern_alloc_buff_info`

**Members**

<ParamField path="alloc_handle" type="int">
  unique memory handle identifying extern mem allocation
</ParamField>

<ParamField path="alloc_size" type="uint32_t">
  size of external allocation
</ParamField>

<ParamField path="offset" type="uint32_t">
  offset of buffer within extern allocation
</ParamField>

### `pal_buffer`

PAL buffer structure used for reading/writing buffers from/to the stream.

**Members**

<ParamField path="buffer" type="uint8_t *">
  buffer pointer
</ParamField>

<ParamField path="size" type="size_t">
  number of bytes
</ParamField>

<ParamField path="offset" type="size_t">
  offset in buffer from where valid byte starts
</ParamField>

<ParamField path="ts" type="struct timespec *">
  timestmap
</ParamField>

<ParamField path="flags" type="uint32_t">
  flags
</ParamField>

<ParamField path="metadata_size" type="size_t">
  size of metadata buffer in bytes
</ParamField>

<ParamField path="metadata" type="uint8_t *">
  metadata buffer.
</ParamField>

<ParamField path="alloc_info" type="pal_extern_alloc_buff_info_t">
  holds info for extern buff
</ParamField>

<ParamField path="frame_index" type="uint64_t">
  frame index of the buffer
</ParamField>

### `pal_clbk_buffer_info`

**Members**

<ParamField path="frame_index" type="uint64_t">
  frame index of the buffer
</ParamField>

<ParamField path="sample_rate" type="uint32_t">
  updated sample rate
</ParamField>

<ParamField path="bit_width" type="uint32_t">
  updated bit width
</ParamField>

<ParamField path="channel_count" type="uint16_t">
  updated channel count
</ParamField>

### `pal_callback_buffer`

**Members**

<ParamField path="buffer" type="uint8_t *">
  buffer pointer
</ParamField>

<ParamField path="size" type="size_t">
  filled length of the buffer
</ParamField>

<ParamField path="ts" type="struct timespec *">
  timestamp
</ParamField>

<ParamField path="status" type="uint32_t">
  status of callback payload
</ParamField>

<ParamField path="cb_buf_info" type="struct pal_clbk_buffer_info">
  callback buffer info
</ParamField>

### `pal_mmap_buffer`

PAL buffer structure used for reading/writing buffers from/to the stream.

**Members**

<ParamField path="buffer" type="void *">
  base address of mmap memory buffer, for use by local proces only
</ParamField>

<ParamField path="fd" type="int32_t">
  fd for mmap memory buffer
</ParamField>

<ParamField path="buffer_size_frames" type="uint32_t">
  total buffer size in frames
</ParamField>

<ParamField path="burst_size_frames" type="uint32_t">
  transfer size granularity in frames
</ParamField>

<ParamField path="flags" type="pal_mmap_buffer_flags_t">
  Attributes describing the buffer.
</ParamField>

### `pal_mmap_position`

Mmap buffer read/write position returned by GetMmapPosition.

**Members**

<ParamField path="time_nanoseconds" type="int64_t">
  timestamp in ns, CLOCK\_MONOTONIC
</ParamField>

<ParamField path="position_frames" type="int32_t">
  increasing 32 bit frame count reset when stop() is called
</ParamField>

### `pal_channel_vol_kv`

channel mask and volume pair

**Members**

<ParamField path="channel_mask" type="uint32_t">
  channel mask
</ParamField>

<ParamField path="vol" type="float">
  gain of the channel mask
</ParamField>

### `pal_volume_data`

Volume data strucutre defintion used as argument for volume command.

**Members**

<ParamField path="no_of_volpair" type="uint32_t">
  no of volume pairs
</ParamField>

<ParamField path="volume_pair" type="struct pal_channel_vol_kv">
  channel mask and volume pair
</ParamField>

### `pal_gain_data`

Gain data strucutre defintion used as argument for gain command.

**Members**

<ParamField path="gain" type="uint16_t" />

<ParamField path="reserved" type="uint16_t">
  Gain value in q13 format.
</ParamField>

### `pal_time_us`

**Members**

<ParamField path="value_lsw" type="uint32_t" />

<ParamField path="value_msw" type="uint32_t">
  Lower 32 bits of 64 bit time value in microseconds.
</ParamField>

### `pal_session_time`

Timestamp strucutre defintion used as argument for gettimestamp api.

**Members**

<ParamField path="session_time" type="struct pal_time_us" />

<ParamField path="absolute_time" type="struct pal_time_us">
  Value of the current session time in microseconds.
</ParamField>

<ParamField path="timestamp" type="struct pal_time_us">
  Value of the absolute time in microseconds.
</ParamField>

### `pal_param_proxy_channel_config`

Audio parameter data.

**Members**

<ParamField path="num_proxy_channels" type="uint32_t" />

### `pal_param_context_list`

**Members**

<ParamField path="num_contexts" type="uint32_t" />

<ParamField path="context_id" type="uint32_t" />

### `pal_param_disp_port_config_params`

**Members**

<ParamField path="controller" type="int" />

<ParamField path="stream" type="int" />

### `pal_usb_device_address`

**Members**

<ParamField path="card_id" type="int" />

<ParamField path="device_num" type="int" />

### `pal_device_config_t`

**Members**

<ParamField path="dp_config" type="struct pal_param_disp_port_config_params" />

<ParamField path="usb_addr" type="struct pal_usb_device_address" />

### `pal_amp_db_and_gain_table`

**Members**

<ParamField path="amp" type="float" />

<ParamField path="db" type="float" />

<ParamField path="level" type="uint32_t" />

### `pal_vol_ctrl_ramp_param`

**Members**

<ParamField path="ramp_period_ms" type="uint32_t" />

### `pal_device_custom_config`

**Members**

<ParamField path="custom_key" type="char" />

### `pal_address_type_t`

Structure to hold various types of device addresses.

**Members**

<ParamField path="id" type="char" />

<ParamField path="mac" type="uint8_t" />

<ParamField path="ipv4" type="uint8_t" />

<ParamField path="ipv6" type="uint32_t" />

<ParamField path="alsa" type="uint32_t" />

### `pal_device`

**Members**

<ParamField path="id" type="pal_device_id_t">
  device id
</ParamField>

<ParamField path="config" type="struct pal_media_config">
  media config of the device
</ParamField>

<ParamField path="address" type="struct pal_usb_device_address" />

<ParamField path="sndDevName" type="char" />

<ParamField path="custom_config" type="pal_device_custom_config_t">
  Optional.
</ParamField>

<ParamField path="addressV1" type="pal_address_type_t" />

### `pal_param_device_connection`

**Members**

<ParamField path="id" type="pal_device_id_t" />

<ParamField path="connection_state" type="bool" />

<ParamField path="device_config" type="pal_device_config_t" />

<ParamField path="device" type="struct pal_device" />

### `pal_param_gain_lvl_map`

**Members**

<ParamField path="mapping_tbl" type="struct pal_amp_db_and_gain_table *" />

<ParamField path="table_size" type="int" />

<ParamField path="filled_size" type="int" />

### `pal_param_gain_lvl_cal`

**Members**

<ParamField path="level" type="int" />

### `pal_param_mspp_linear_gain`

**Members**

<ParamField path="gain" type="int32_t" />

### `pal_param_playback_rate`

**Members**

<ParamField path="speed" type="float" />

<ParamField path="pitch" type="float" />

### `pal_param_device_capability`

**Members**

<ParamField path="id" type="pal_device_id_t" />

<ParamField path="addr" type="struct pal_usb_device_address" />

<ParamField path="is_playback" type="bool" />

<ParamField path="config" type="struct dynamic_media_config *" />

### `pal_param_screen_state`

**Members**

<ParamField path="screen_state" type="bool" />

### `pal_param_charging_state`

**Members**

<ParamField path="charging_state" type="bool" />

### `pal_param_charger_state`

**Members**

<ParamField path="is_charger_online" type="bool" />

<ParamField path="is_concurrent_boost_enable" type="bool" />

### `pal_param_st_capture_info`

**Members**

<ParamField path="capture_handle" type="int" />

<ParamField path="pal_handle" type="pal_stream_handle_t *" />

### `pal_param_resources_available`

**Members**

<ParamField path="callback" type="void *" />

<ParamField path="cookie" type="uint64_t" />

### `pal_param_device_rotation`

**Members**

<ParamField path="rotation_type" type="pal_speaker_rotation_type" />

### `pal_param_uhqa_state`

**Members**

<ParamField path="uhqa_state" type="bool" />

### `pal_param_haptics_cnfg_t`

**Members**

<ParamField path="mode" type="pal_stream_haptics_type_t" />

<ParamField path="effect_id" type="int16_t" />

<ParamField path="amplitude" type="float" />

<ParamField path="strength" type="int16_t" />

<ParamField path="time" type="int32_t" />

<ParamField path="ch_mask" type="int16_t" />

<ParamField path="isCompose" type="bool" />

<ParamField path="buffer_size" type="int32_t" />

<ParamField path="buffer_ptr" type="uint8_t *" />

### `btsco_lc3_cfg`

**Members**

<ParamField path="fields_map" type="uint32_t" />

<ParamField path="rxconfig_index" type="uint32_t" />

<ParamField path="txconfig_index" type="uint32_t" />

<ParamField path="api_version" type="uint32_t" />

<ParamField path="frame_duration" type="uint32_t" />

<ParamField path="num_blocks" type="uint32_t" />

<ParamField path="mode" type="uint32_t" />

<ParamField path="streamMap" type="char" />

<ParamField path="vendor" type="char" />

### `pal_param_btsco`

**Members**

<ParamField path="bt_sco_on" type="bool" />

<ParamField path="bt_wb_speech_enabled" type="bool" />

<ParamField path="bt_sco_nrec" type="bool" />

<ParamField path="bt_swb_speech_mode" type="int" />

<ParamField path="bt_lc3_speech_enabled" type="bool" />

<ParamField path="lc3_cfg" type="btsco_lc3_cfg_t" />

<ParamField path="is_bt_hfp" type="bool" />

### `pal_param_bta2dp`

**Members**

<ParamField path="reconfig_supported" type="int32_t" />

<ParamField path="reconfig" type="bool" />

<ParamField path="a2dp_suspended" type="bool" />

<ParamField path="a2dp_capture_suspended" type="bool" />

<ParamField path="is_tws_mono_mode_on" type="bool" />

<ParamField path="is_lc3_mono_mode_on" type="bool" />

<ParamField path="is_force_switch" type="bool" />

<ParamField path="latency" type="uint32_t" />

<ParamField path="dev_id" type="pal_device_id_t" />

<ParamField path="is_suspend_setparam" type="bool" />

<ParamField path="is_in_call" type="bool" />

### `pal_param_latency_mode`

**Members**

<ParamField path="dev_id" type="pal_device_id_t" />

<ParamField path="num_modes" type="size_t" />

<ParamField path="modes" type="uint32_t" />

### `pal_param_upd_event_detection`

**Members**

<ParamField path="register_status" type="bool" />

### `pal_bt_tws_payload_s`

**Members**

<ParamField path="isTwsMonoModeOn" type="bool" />

<ParamField path="codecFormat" type="uint32_t" />

### `pal_param_dtmf_detection_cfg`

**Members**

<ParamField path="enable" type="uint16_t" />

<ParamField path="dir" type="pal_stream_direction_t" />

### `pal_param_dtmf_gen_tone_cfg`

**Members**

<ParamField path="dir" type="pal_stream_direction_t" />

<ParamField path="high_freq" type="uint16_t" />

<ParamField path="low_freq" type="uint16_t" />

<ParamField path="gain" type="uint16_t" />

<ParamField path="duration_ms" type="int32_t" />

### `pal_bt_lc3_payload_s`

**Members**

<ParamField path="isLC3MonoModeOn" type="bool" />

### `pal_param_haptics_intensity`

**Members**

<ParamField path="intensity" type="int" />

### `pal_sound_dose_info`

payload for Sound Dose Info

**Members**

<ParamField path="device" type="struct pal_device" />

<ParamField path="is_momentary_exposure_warning" type="uint32_t" />

<ParamField path="num_mel_values" type="uint32_t" />

<ParamField path="mel_values" type="float" />

<ParamField path="timestamp" type="uint64_t" />

### `st_uuid`

**Members**

<ParamField path="timeLow" type="uint32_t" />

<ParamField path="timeMid" type="uint16_t" />

<ParamField path="timeHiAndVersion" type="uint16_t" />

<ParamField path="clockSeq" type="uint16_t" />

<ParamField path="node" type="uint8_t" />

### `pal_st_properties`

sound trigger implementation descriptor read by the framework via get\_properties().

**Members**

<ParamField path="implementor" type="int8_t" />

<ParamField path="description" type="int8_t" />

<ParamField path="version" type="uint32_t" />

<ParamField path="uuid" type="struct st_uuid" />

<ParamField path="max_sound_models" type="uint32_t" />

<ParamField path="max_key_phrases" type="uint32_t" />

<ParamField path="max_users" type="uint32_t" />

<ParamField path="recognition_modes" type="uint32_t" />

<ParamField path="capture_transition" type="bool" />

<ParamField path="max_buffer_ms" type="uint32_t" />

<ParamField path="concurrent_capture" type="bool" />

<ParamField path="trigger_in_event" type="bool" />

<ParamField path="power_consumption_mw" type="uint32_t" />

### `pal_st_phrase`

key phrase descriptor

**Members**

<ParamField path="id" type="uint32_t">
  keyphrase ID
</ParamField>

<ParamField path="recognition_mode" type="uint32_t">
  recognition modes supported by this key phrase
</ParamField>

<ParamField path="num_users" type="uint32_t">
  number of users in the key phrase
</ParamField>

<ParamField path="users" type="uint32_t">
  users ids: (not uid\_t but sound trigger specific IDs
</ParamField>

<ParamField path="locale" type="char">
  locale - JAVA Locale style (e.g.
</ParamField>

<ParamField path="text" type="char">
  phrase text in UTF-8 format.
</ParamField>

### `pal_st_confidence_level`

**Members**

<ParamField path="user_id" type="uint32_t" />

<ParamField path="level" type="uint32_t" />

### `pal_st_phrase_recognition_extra`

Specialized recognition event for key phrase detection.

**Members**

<ParamField path="id" type="uint32_t" />

<ParamField path="recognition_modes" type="uint32_t" />

<ParamField path="confidence_level" type="uint32_t" />

<ParamField path="num_levels" type="uint32_t" />

<ParamField path="levels" type="struct pal_st_confidence_level" />

### `pal_st_recognition_event`

**Members**

<ParamField path="status" type="int32_t">
  recognition status e.g.
</ParamField>

<ParamField path="type" type="pal_st_sound_model_type_t">
  event type, same as sound model type.
</ParamField>

<ParamField path="st_handle" type="pal_st_handle_t *">
  handle of sound trigger session
</ParamField>

<ParamField path="capture_available" type="bool">
  it is possible to capture audio from this utterance buffered by the implementation
</ParamField>

<ParamField path="capture_session" type="int32_t">
  audio session ID.
</ParamField>

<ParamField path="capture_delay_ms" type="int32_t">
  delay in ms between end of model detection and start of audio available for capture.
</ParamField>

<ParamField path="capture_preamble_ms" type="int32_t">
  duration in ms of audio captured before the start of the trigger.
</ParamField>

<ParamField path="trigger_in_data" type="bool">
  the opaque data is the capture of the trigger sound
</ParamField>

<ParamField path="media_config" type="struct pal_media_config">
  media format of either the trigger in event data or to use for capture of the rest of the utterance
</ParamField>

<ParamField path="data_size" type="uint32_t">
  size of opaque event data
</ParamField>

<ParamField path="data_offset" type="uint32_t">
  offset of opaque data start from start of this struct (e.g sizeof struct sound\_trigger\_phrase\_recognition\_event)
</ParamField>

### `pal_st_recognition_config`

**Members**

<ParamField path="capture_handle" type="int32_t">
  IO handle that will be used for capture.
</ParamField>

<ParamField path="capture_device" type="uint32_t">
  input device requested for detection capture
</ParamField>

<ParamField path="capture_requested" type="bool">
  capture and buffer audio for this recognition instance
</ParamField>

<ParamField path="num_phrases" type="uint32_t">
  number of key phrases recognition extras
</ParamField>

<ParamField path="phrases" type="struct pal_st_phrase_recognition_extra">
  configuration for each key phrase
</ParamField>

<ParamField path="callback" type="pal_st_recognition_callback_t">
  callback for recognition events
</ParamField>

<ParamField path="cookie" type="uint8_t *">
  cookie set from client
</ParamField>

<ParamField path="data_size" type="uint32_t">
  size of opaque capture configuration data
</ParamField>

<ParamField path="data_offset" type="uint32_t">
  offset of opaque data start from start of this struct (e.g sizeof struct sound\_trigger\_recognition\_config)
</ParamField>

### `pal_st_phrase_recognition_event`

**Members**

<ParamField path="common" type="struct pal_st_recognition_event" />

<ParamField path="num_phrases" type="uint32_t" />

<ParamField path="phrase_extras" type="struct pal_st_phrase_recognition_extra" />

### `pal_st_generic_recognition_event`

**Members**

<ParamField path="common" type="struct pal_st_recognition_event" />

### `detection_engine_config_voice_wakeup`

**Members**

<ParamField path="mode" type="uint16_t" />

<ParamField path="custom_payload_size" type="uint16_t" />

<ParamField path="num_active_models" type="uint8_t" />

<ParamField path="reserved" type="uint8_t" />

<ParamField path="confidence_levels" type="uint8_t" />

<ParamField path="keyword_user_enables" type="uint8_t" />

### `detection_engine_config_stage1_pdk`

**Members**

<ParamField path="mode" type="uint16_t" />

<ParamField path="custom_payload_size" type="uint16_t" />

<ParamField path="model_id" type="uint32_t" />

<ParamField path="num_keywords" type="uint32_t" />

<ParamField path="confidence_levels" type="uint32_t" />

### `detection_engine_multi_model_buffering_config`

**Members**

<ParamField path="model_id" type="uint32_t" />

<ParamField path="hist_buffer_duration_in_ms" type="uint32_t" />

<ParamField path="pre_roll_duration_in_ms" type="uint32_t" />

### `ffv_doa_tracking_monitor_t`

**Members**

<ParamField path="target_angle_L16" type="int16_t" />

<ParamField path="interf_angle_L16" type="int16_t" />

<ParamField path="polarActivityGUI" type="int8_t" />

### `pal_asr_model`

Payload for ID : PAL\_PARAM\_ID\_ASR\_MODEL.

**Members**

<ParamField path="vendor_uuid" type="struct st_uuid">
  Unique vendor ID.
</ParamField>

<ParamField path="fd" type="int32_t">
  ASR model.
</ParamField>

<ParamField path="size" type="uint32_t">
  ASR model size.
</ParamField>

### `pal_asr_config`

Payload for ID : PAL\_PARAM\_ID\_ASR\_CONFIG.

**Members**

<ParamField path="input_language_code" type="int32_t">
  input language code
</ParamField>

<ParamField path="output_language_code" type="int32_t">
  output language code
</ParamField>

<ParamField path="enable_language_detection" type="bool">
  language detection switch enable/disable flag
</ParamField>

<ParamField path="enable_translation" type="bool">
  translation switch enable/disable flag
</ParamField>

<ParamField path="enable_continuous_mode" type="bool">
  continuous mode enable/disable flag
</ParamField>

<ParamField path="enable_partial_transcription" type="bool">
  partial transcription switch enable/disable flag
</ParamField>

<ParamField path="enable_logger_mode" type="bool">
  Flag to enable/disable logger mode.
</ParamField>

<ParamField path="enable_timestamp" type="bool">
  Flag to enable/disable output with timestamp details.
</ParamField>

<ParamField path="enable_speaker_diarization" type="bool">
  Flag to enable/disable speaker diarization.
</ParamField>

<ParamField path="threshold" type="uint32_t">
  Confidence threshold for ASR transcription.
</ParamField>

<ParamField path="timeout_duration" type="uint32_t">
  ASR processing timeout, in milliseconds, if silence is not detected after the speech processing is started.
</ParamField>

<ParamField path="silence_detection_duration" type="uint32_t">
  "No speech" duration needed before determining speech has ended (in ms)
</ParamField>

<ParamField path="outputBufferMode" type="bool">
  Buffer mode enable/disable.
</ParamField>

<ParamField path="data_size" type="uint32_t">
  Additional Engine specific custom data size.
</ParamField>

<ParamField path="data" type="uint8_t">
  custom data offset from the start of this structure
</ParamField>

### `pal_tts_config`

**Members**

<ParamField path="language_code" type="uint32_t">
  consistente enum across ASR, Translation and TTS
</ParamField>

<ParamField path="speech_format" type="uint32_t">
  Speech output mode.
</ParamField>

<ParamField path="reserved" type="uint32_t" />

### `pal_nmt_config`

**Members**

<ParamField path="input_language_code" type="uint32_t" />

<ParamField path="output_language_code" type="uint32_t" />

### `call_translation_config`

**Members**

<ParamField path="enable" type="bool" />

<ParamField path="call_translation_dir" type="pal_call_translation_direction" />

<ParamField path="tts_module_config" type="struct pal_tts_config">
  Direction for the call\_translation usecase.
</ParamField>

<ParamField path="nmt_module_config" type="struct pal_nmt_config">
  TTS module config.
</ParamField>

<ParamField path="asr_module_config" type="struct pal_asr_config">
  NMT module config.
</ParamField>

### `pal_asr_engine_event`

**Members**

<ParamField path="is_final" type="bool">
  Final transcription after end of speech is detected.
</ParamField>

<ParamField path="confidence" type="uint32_t">
  Confidence for the entire transcription.
</ParamField>

<ParamField path="text_size" type="uint32_t">
  Size of text to sent to the client.
</ParamField>

<ParamField path="text" type="char">
  Text to be sent to the client.
</ParamField>

<ParamField path="json_size" type="uint32_t">
  size of JSON output, to be sent to client
</ParamField>

<ParamField path="result_json" type="char">
  JSON result.
</ParamField>

<ParamField path="data_size" type="uint32_t">
  event payload size
</ParamField>

<ParamField path="data" type="uint8_t">
  event payload offset from the start of this structure
</ParamField>

### `pal_asr_event`

Payload to be used for callback for ASR event through pal\_stream\_callback.

**Members**

<ParamField path="status" type="pal_asr_event_status_t" />

<ParamField path="num_events" type="uint32_t" />

<ParamField path="event" type="struct pal_asr_engine_event" />

### `asr_word`

Struct to store timestamp details of every word present in ASR's output text.

**Members**

<ParamField path="word_confidence" type="uint32_t">
  Confidence level for the word.
</ParamField>

<ParamField path="word" type="char">
  Word, whose timestamp details are within the strcut.
</ParamField>

<ParamField path="start_ts" type="uint64_t">
  Word's start timestamp.
</ParamField>

<ParamField path="end_ts" type="uint64_t">
  Word's end timestamp.
</ParamField>

### `pal_asr_engine_ts_event`

Payload to be used to generate callback data for ASR's timestamp based output.

**Members**

<ParamField path="is_final" type="bool">
  Final transcription after end of speech is detected.
</ParamField>

<ParamField path="confidence" type="uint32_t">
  Confidence for the entire transcription.
</ParamField>

<ParamField path="text_size" type="uint32_t">
  Size of text to sent to the client.
</ParamField>

<ParamField path="text" type="char">
  Text to be sent to the client.
</ParamField>

<ParamField path="start_ts" type="uint64_t">
  Text's start timestamp.
</ParamField>

<ParamField path="end_ts" type="uint64_t">
  Text's end timestamp.
</ParamField>

<ParamField path="num_words" type="uint32_t">
  Number of words present in word array.
</ParamField>

<ParamField path="word" type="struct asr_word">
  Store timestamp details of every word present in text.
</ParamField>

<ParamField path="json_size" type="uint32_t">
  size of JSON output, to be sent to client
</ParamField>

<ParamField path="result_json" type="char">
  JSON result.
</ParamField>

<ParamField path="data_size" type="uint32_t">
  event payload size
</ParamField>

<ParamField path="data" type="uint8_t">
  event payload offset from the start of this structure
</ParamField>

### `pal_asr_ts_event`

Payload to be used for callback for ASR's timestamp based event through pal\_stream\_callback.

**Members**

<ParamField path="status" type="pal_asr_event_status_t" />

<ParamField path="num_events" type="uint32_t" />

<ParamField path="event" type="struct pal_asr_engine_ts_event" />

### `sdz_speaker_info`

Payload containing speaker's information.

**Members**

<ParamField path="speaker_id" type="uint32_t" />

<ParamField path="start_ts" type="uint64_t" />

<ParamField path="end_ts" type="uint64_t" />

### `sdz_output`

Output payload for speaker diarization.

**Members**

<ParamField path="num_speakers" type="uint32_t" />

<ParamField path="overlap_detected" type="uint32_t" />

<ParamField path="speakers_list" type="struct sdz_speaker_info" />

### `pal_sdz_event`

Payload for speaker diarization event.

**Members**

<ParamField path="num_outputs" type="uint32_t" />

<ParamField path="output" type="struct sdz_output" />

### `pal_nmt_engine_event`

**Members**

<ParamField path="is_final" type="uint32_t">
  payload is partial output of NMT or complete
</ParamField>

<ParamField path="output_text_size" type="uint32_t">
  Output size of text to sent to the client.
</ParamField>

<ParamField path="output_text" type="char">
  Text to be sent to the client.
</ParamField>

<ParamField path="input_text_size" type="uint32_t">
  Input size of text to sent to the client.
</ParamField>

<ParamField path="input_text" type="char">
  Text to be sent to the client.
</ParamField>

<ParamField path="json_size" type="uint32_t">
  size of JSON output, to be sent to client
</ParamField>

<ParamField path="result_json" type="char">
  JSON result.
</ParamField>

<ParamField path="data_size" type="uint32_t">
  event payload size
</ParamField>

<ParamField path="data" type="uint8_t">
  event payload offset from the start of this structure
</ParamField>

### `pal_nmt_event`

**Members**

<ParamField path="status" type="int32_t" />

<ParamField path="input_language_code" type="int32_t" />

<ParamField path="output_language_code" type="int32_t" />

<ParamField path="direction" type="pal_stream_direction_t" />

<ParamField path="num_events" type="uint32_t" />

<ParamField path="event" type="struct pal_nmt_engine_event" />

### `pal_callback_config`

**Members**

<ParamField path="noOfPrevDevices" type="int32_t" />

<ParamField path="noOfCurrentDevices" type="int32_t" />

<ParamField path="prevDevices" type="pal_device_id_t *" />

<ParamField path="currentDevices" type="pal_device_id_t *" />

<ParamField path="streamAttributes" type="struct pal_stream_attributes" />

<ParamField path="event" type="uint32_t *" />

### `pal_compr_gapless_mdata`

**Members**

<ParamField path="encoderDelay" type="uint32_t" />

<ParamField path="encoderPadding" type="uint32_t" />

### `pal_device_mute_t`

**Members**

<ParamField path="dir" type="pal_stream_direction_t" />

<ParamField path="mute" type="bool" />

### `pal_event_read_write_done_payload`

Event payload passed to client with PAL\_STREAM\_CBK\_EVENT\_READ\_DONE and PAL\_STREAM\_CBK\_EVENT\_WRITE\_READY events.

**Members**

<ParamField path="tag" type="uint32_t">
  tag that was used to read/write this buffer
</ParamField>

<ParamField path="status" type="uint32_t">
  data buffer status as defined in ar\_osal\_error.h
</ParamField>

<ParamField path="md_status" type="uint32_t">
  meta-data status as defined in ar\_osal\_error.h
</ParamField>

<ParamField path="buff" type="struct pal_buffer">
  buffer that was passed to pal\_stream\_read/pal\_stream\_write
</ParamField>

### `pal_event_dtmf_detect_data`

Event payload passed to client with PAL\_STREAM\_CBK\_EVENT\_DTMF\_DETECTION events.

**Members**

<ParamField path="dir" type="pal_stream_direction_t" />

<ParamField path="dtmf_high_freq" type="uint32_t" />

<ParamField path="dtmf_low_freq" type="uint32_t" />

### `pal_buffer_config`

**Members**

<ParamField path="buf_count" type="size_t">
  number of buffers
</ParamField>

<ParamField path="buf_size" type="size_t">
  This would be the size of each buffer.
</ParamField>

<ParamField path="max_metadata_size" type="size_t" />

### `pal_cshm_info`

**Members**

<ParamField path="memID" type="pal_cshm_id_t" />

<ParamField path="type" type="pal_cshm_type" />

<ParamField path="fd" type="int64_t" />

<ParamField path="flags" type="uint32_t" />

### `pal_cshm_msg_payload`

**Members**

<ParamField path="memID" type="pal_cshm_id_t" />

<ParamField path="offset" type="uint32_t" />

<ParamField path="length" type="uint32_t" />

<ParamField path="destID" type="uint32_t" />

<ParamField path="flags" type="uint32_t" />

### `custom_payload_uc_info_s`

**Members**

<ParamField path="pal_stream_type" type="pal_stream_type_t">
  type of stream to apply the payload param
</ParamField>

<ParamField path="pal_device_id" type="pal_device_id_t">
  type of device to apply the payload param
</ParamField>

<ParamField path="sample_rate" type="uint32_t">
  sample rate of the stream to apply the payload param
</ParamField>

<ParamField path="instance_id" type="uint32_t">
  instance id of the stream
</ParamField>

<ParamField path="streamless" type="bool">
  set to true to create a dummy stream to send command directly to framework
</ParamField>

<ParamField path="address" type="char *">
  address
</ParamField>

<ParamField path="direction" type="pal_stream_direction_t">
  direction of stream, used in case of sharedmemory
</ParamField>

## Functions

### `__attribute__`

sound model structure passed in by ST Client during pal\_st\_load\_sound\_model()

Specialized sound model for key phrase detection.

Proprietary representation of key phrases in binary data must match information indicated by phrases field use this when not sending

```cpp theme={null}
struct __attribute__((aligned(8))) pal_st_sound_model
```

### `__attribute__`

```cpp theme={null}
struct __attribute__((__packed__)) version_arch_payload
```

## Type Definitions

### `pal_cshm_id_t`

Client Shared memory ID.

```cpp theme={null}
typedef uint32_t pal_cshm_id_t
```

### `pal_stream_handle_t`

Audio stream handle.

```cpp theme={null}
typedef uint64_t pal_stream_handle_t
```

### `pal_st_handle_t`

Sound Trigger handle.

```cpp theme={null}
typedef uint64_t pal_st_handle_t
```

### `pal_haptics_payload`

```cpp theme={null}
typedef struct pal_haptics_payload pal_haptics_payload
```

### `pal_spkr_prot_payload`

```cpp theme={null}
typedef struct pal_spkr_prot_payload pal_spkr_prot_payload
```

### `pal_param_payload`

Audio parameter data.

```cpp theme={null}
typedef struct pal_param_payload_s pal_param_payload
```

### `dynamic_media_config_t`

```cpp theme={null}
typedef struct dynamic_media_config dynamic_media_config_t
```

### `pal_meta_data_flags_t`

metadata flags, can be OR'able

```cpp theme={null}
typedef uint32_t pal_meta_data_flags_t
```

### `pal_extern_alloc_buff_info_t`

```cpp theme={null}
typedef struct pal_extern_alloc_buff_info pal_extern_alloc_buff_info_t
```

### `pal_mmap_buffer_flags_t`

pal\_mmap\_buffer flags, can be OR'able

```cpp theme={null}
typedef uint32_t pal_mmap_buffer_flags_t
```

### `pal_event_id`

EVENT configurations data strucutre defintion used as argument for mute command.

```cpp theme={null}
typedef uint32_t pal_event_id
```

### `pal_param_proxy_channel_config_t`

Audio parameter data.

```cpp theme={null}
typedef struct pal_param_proxy_channel_config pal_param_proxy_channel_config_t
```

### `pal_device_custom_config_t`

```cpp theme={null}
typedef struct pal_device_custom_config pal_device_custom_config_t
```

### `pal_param_device_connection_t`

```cpp theme={null}
typedef struct pal_param_device_connection pal_param_device_connection_t
```

### `pal_param_gain_lvl_map_t`

```cpp theme={null}
typedef struct pal_param_gain_lvl_map pal_param_gain_lvl_map_t
```

### `pal_param_gain_lvl_cal_t`

```cpp theme={null}
typedef struct pal_param_gain_lvl_cal pal_param_gain_lvl_cal_t
```

### `pal_param_mspp_linear_gain_t`

```cpp theme={null}
typedef struct pal_param_mspp_linear_gain pal_param_mspp_linear_gain_t
```

### `pal_param_playback_rate_t`

```cpp theme={null}
typedef struct pal_param_playback_rate pal_param_playback_rate_t
```

### `pal_param_device_capability_t`

```cpp theme={null}
typedef struct pal_param_device_capability pal_param_device_capability_t
```

### `pal_param_screen_state_t`

```cpp theme={null}
typedef struct pal_param_screen_state pal_param_screen_state_t
```

### `pal_param_charging_state_t`

```cpp theme={null}
typedef struct pal_param_charging_state pal_param_charging_state_t
```

### `pal_param_charger_state_t`

```cpp theme={null}
typedef struct pal_param_charger_state pal_param_charger_state_t
```

### `pal_param_st_capture_info_t`

```cpp theme={null}
typedef struct pal_param_st_capture_info pal_param_st_capture_info_t
```

### `pal_param_resources_available_t`

```cpp theme={null}
typedef struct pal_param_resources_available pal_param_resources_available_t
```

### `pal_param_device_rotation_t`

```cpp theme={null}
typedef struct pal_param_device_rotation pal_param_device_rotation_t
```

### `pal_param_uhqa_t`

```cpp theme={null}
typedef struct pal_param_uhqa_state pal_param_uhqa_t
```

### `pal_param_haptics_cnfg_t`

```cpp theme={null}
typedef struct pal_param_haptics_cnfg_t pal_param_haptics_cnfg_t
```

### `btsco_lc3_cfg_t`

```cpp theme={null}
typedef struct btsco_lc3_cfg btsco_lc3_cfg_t
```

### `pal_param_btsco_t`

```cpp theme={null}
typedef struct pal_param_btsco pal_param_btsco_t
```

### `pal_param_bta2dp_t`

```cpp theme={null}
typedef struct pal_param_bta2dp pal_param_bta2dp_t
```

### `pal_param_latency_mode_t`

```cpp theme={null}
typedef struct pal_param_latency_mode pal_param_latency_mode_t
```

### `pal_param_upd_event_detection_t`

```cpp theme={null}
typedef struct pal_param_upd_event_detection pal_param_upd_event_detection_t
```

### `pal_bt_tws_payload`

```cpp theme={null}
typedef struct pal_bt_tws_payload_s pal_bt_tws_payload
```

### `pal_param_dtmf_detection_cfg_t`

```cpp theme={null}
typedef struct pal_param_dtmf_detection_cfg pal_param_dtmf_detection_cfg_t
```

### `pal_param_dtmf_gen_tone_cfg_t`

```cpp theme={null}
typedef struct pal_param_dtmf_gen_tone_cfg pal_param_dtmf_gen_tone_cfg_t
```

### `pal_bt_lc3_payload`

```cpp theme={null}
typedef struct pal_bt_lc3_payload_s pal_bt_lc3_payload
```

### `pal_param_haptics_intensity_t`

```cpp theme={null}
typedef struct pal_param_haptics_intensity pal_param_haptics_intensity_t
```

### `pal_sound_dose_info_t`

payload for Sound Dose Info

```cpp theme={null}
typedef struct pal_sound_dose_info pal_sound_dose_info_t
```

### `pal_st_recognition_callback_t`

```cpp theme={null}
typedef void(* pal_st_recognition_callback_t
```

### `pal_callback_config_t`

```cpp theme={null}
typedef struct pal_callback_config pal_callback_config_t
```

### `pal_device_mute_t`

```cpp theme={null}
typedef struct pal_device_mute_t pal_device_mute_t
```

### `pal_stream_callback`

Callback function prototype to be given for pal\_open\_stream.

```cpp theme={null}
typedef int32_t(* pal_stream_callback
```

### `pal_audio_event_callback`

Callback function prototype to be given for pal\_audio\_event\_callback.

```cpp theme={null}
typedef int32_t(* pal_audio_event_callback
```

### `pal_global_callback`

Callback function prototype to be given for pal\_register\_callback.

```cpp theme={null}
typedef int32_t(* pal_global_callback
```

### `card_status_t`

Sound card state.

```cpp theme={null}
typedef enum card_status_t card_status_t
```

### `pal_buffer_config_t`

```cpp theme={null}
typedef struct pal_buffer_config pal_buffer_config_t
```

### `pal_cshm_info_t`

```cpp theme={null}
typedef struct pal_cshm_info pal_cshm_info_t
```

### `pal_cshm_msg_payload_t`

```cpp theme={null}
typedef struct pal_cshm_msg_payload pal_cshm_msg_payload_t
```

### `custom_payload_uc_info_t`

```cpp theme={null}
typedef struct custom_payload_uc_info_s custom_payload_uc_info_t
```

## Enumerations

### `pal_cshm_type`

#### Values

| Name                | Value | Description |
| ------------------- | ----- | ----------- |
| `PAL_CSHM_CACHED`   | = 1   |             |
| `PAL_CSHM_UNCACHED` |       |             |

### `pal_audio_fmt_t`

PAL Audio format enumeration.

#### Values

| Name                                            | Value                                               | Description                                         |
| ----------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
| `PAL_AUDIO_FMT_DEFAULT_PCM`                     | = 0x1                                               | PCM.                                                |
| `PAL_AUDIO_FMT_PCM_S16_LE`                      | = PAL\_AUDIO\_FMT\_DEFAULT\_PCM                     | 16 bit little endian PCM                            |
| `PAL_AUDIO_FMT_DEFAULT_COMPRESSED`              | = 0x2                                               | Default Compressed.                                 |
| `PAL_AUDIO_FMT_MP3`                             | = PAL\_AUDIO\_FMT\_DEFAULT\_COMPRESSED              |                                                     |
| `PAL_AUDIO_FMT_AAC`                             | = 0x3                                               |                                                     |
| `PAL_AUDIO_FMT_AAC_ADTS`                        | = 0x4                                               |                                                     |
| `PAL_AUDIO_FMT_AAC_ADIF`                        | = 0x5                                               |                                                     |
| `PAL_AUDIO_FMT_AAC_LATM`                        | = 0x6                                               |                                                     |
| `PAL_AUDIO_FMT_WMA_STD`                         | = 0x7                                               |                                                     |
| `PAL_AUDIO_FMT_ALAC`                            | = 0x8                                               |                                                     |
| `PAL_AUDIO_FMT_APE`                             | = 0x9                                               |                                                     |
| `PAL_AUDIO_FMT_WMA_PRO`                         | = 0xA                                               |                                                     |
| `PAL_AUDIO_FMT_FLAC`                            | = 0xB                                               |                                                     |
| `PAL_AUDIO_FMT_FLAC_OGG`                        | = 0xC                                               |                                                     |
| `PAL_AUDIO_FMT_VORBIS`                          | = 0xD                                               |                                                     |
| `PAL_AUDIO_FMT_AMR_NB`                          | = 0xE                                               |                                                     |
| `PAL_AUDIO_FMT_AMR_WB`                          | = 0xF                                               |                                                     |
| `PAL_AUDIO_FMT_AMR_WB_PLUS`                     | = 0x10                                              |                                                     |
| `PAL_AUDIO_FMT_EVRC`                            | = 0x11                                              |                                                     |
| `PAL_AUDIO_FMT_G711`                            | = 0x12                                              |                                                     |
| `PAL_AUDIO_FMT_QCELP`                           | = 0x13                                              |                                                     |
| `PAL_AUDIO_FMT_PCM_S8`                          | = 0x14                                              | 8 Bit PCM                                           |
| `PAL_AUDIO_FMT_PCM_S24_3LE`                     | = 0x15                                              | 24 bit packed little endian PCM                     |
| `PAL_AUDIO_FMT_PCM_S24_LE`                      | = 0x16                                              | 24bit in 32bit word (LSB aligned) little endian PCM |
| `PAL_AUDIO_FMT_PCM_S32_LE`                      | = 0x17                                              | 32bit little endian PCM                             |
| `PAL_AUDIO_FMT_OPUS`                            | = 0x18                                              |                                                     |
| `PAL_AUDIO_FMT_NON_PCM`                         | = 0xE0000000                                        |                                                     |
| `PAL_AUDIO_FMT_COMPRESSED_RANGE_BEGIN`          | = 0xF0000000                                        |                                                     |
| `PAL_AUDIO_FMT_COMPRESSED_EXTENDED_RANGE_BEGIN` | = 0xF0000F00                                        |                                                     |
| `PAL_AUDIO_FMT_COMPRESSED_EXTENDED_RANGE_END`   | = 0xF0000FFF                                        |                                                     |
| `PAL_AUDIO_FMT_COMPRESSED_RANGE_END`            | = PAL\_AUDIO\_FMT\_COMPRESSED\_EXTENDED\_RANGE\_END |                                                     |

### `pal_notification_t`

#### Values

| Name                               | Value | Description |
| ---------------------------------- | ----- | ----------- |
| `PAL_NOTIFY_CALL_TRANSLATION_TEXT` | = 0   |             |
| `PAL_NOTIFY_START`                 |       |             |
| `PAL_NOTIFY_STOP`                  |       |             |
| `PAL_NOTIFY_DEVICESWITCH`          |       |             |

### `pal_haptics_mode`

#### Values

| Name                        | Value | Description |
| --------------------------- | ----- | ----------- |
| `PAL_HAP_MODE_DYNAMIC_CAL`  | = 1   |             |
| `PAL_HAP_MODE_FACTORY_TEST` |       |             |

### `pal_spkr_prot_mode`

#### Values

| Name                       | Value | Description |
| -------------------------- | ----- | ----------- |
| `PAL_SP_MODE_DYNAMIC_CAL`  | = 1   |             |
| `PAL_SP_MODE_FACTORY_TEST` |       |             |
| `PAL_SP_MODE_V_VALIDATION` |       |             |

### *(anonymous)*

#### Values

| Name         | Value | Description |
| ------------ | ----- | ----------- |
| `SPKR_RIGHT` |       |             |
| `SPKR_LEFT`  |       |             |

### `vote_type_t`

#### Values

| Name         | Value | Description |
| ------------ | ----- | ----------- |
| `LPI_VOTE`   |       |             |
| `NLPI_VOTE`  |       |             |
| `AVOID_VOTE` |       |             |

### `pal_channel_map`

Audio channel map enumeration.

#### Values

| Name                     | Value                      | Description                             |
| ------------------------ | -------------------------- | --------------------------------------- |
| `PAL_CHMAP_CHANNEL_FL`   | = 1                        | Front right channel.                    |
| `PAL_CHMAP_CHANNEL_FR`   | = 2                        | Front center channel.                   |
| `PAL_CHMAP_CHANNEL_C`    | = 3                        | Left surround channel.                  |
| `PAL_CHMAP_CHANNEL_LS`   | = 4                        |                                         |
| `PAL_CHMAP_CHANNEL_RS`   | = 5                        | Right surround channel.                 |
| `PAL_CHMAP_CHANNEL_LFE`  | = 6                        | Low frequency effect channel.           |
| `PAL_CHMAP_CHANNEL_RC`   | = 7                        | Center surround channel;.               |
| `PAL_CHMAP_CHANNEL_CB`   | = PAL\_CHMAP\_CHANNEL\_RC  | center back channel.                    |
| `PAL_CHMAP_CHANNEL_LB`   | = 8                        | rear left channel.                      |
| `PAL_CHMAP_CHANNEL_RB`   | = 9                        | rear right channel.                     |
| `PAL_CHMAP_CHANNEL_TS`   | = 10                       | Top surround channel.                   |
| `PAL_CHMAP_CHANNEL_CVH`  | = 11                       | Center vertical height channel.         |
| `PAL_CHMAP_CHANNEL_TFC`  | = PAL\_CHMAP\_CHANNEL\_CVH | Top front center channel.               |
| `PAL_CHMAP_CHANNEL_MS`   | = 12                       | Mono surround channel.                  |
| `PAL_CHMAP_CHANNEL_FLC`  | = 13                       | Front left of center channel.           |
| `PAL_CHMAP_CHANNEL_FRC`  | = 14                       | Front right of center channel.          |
| `PAL_CHMAP_CHANNEL_RLC`  | = 15                       | Rear left of center channel.            |
| `PAL_CHMAP_CHANNEL_RRC`  | = 16                       | Rear right of center channel.           |
| `PAL_CHMAP_CHANNEL_LFE2` | = 17                       | Secondary low frequency effect channel. |
| `PAL_CHMAP_CHANNEL_SL`   | = 18                       | Side left channel.                      |
| `PAL_CHMAP_CHANNEL_SR`   | = 19                       | Side right channel.                     |
| `PAL_CHMAP_CHANNEL_TFL`  | = 20                       | Top front left channel.                 |
| `PAL_CHMAP_CHANNEL_LVH`  | = PAL\_CHMAP\_CHANNEL\_TFL | Right vertical height channel.          |
| `PAL_CHMAP_CHANNEL_TFR`  | = 21                       | Top front right channel.                |
| `PAL_CHMAP_CHANNEL_RVH`  | = PAL\_CHMAP\_CHANNEL\_TFR | Right vertical height channel.          |
| `PAL_CHMAP_CHANNEL_TC`   | = 22                       | Top center channel.                     |
| `PAL_CHMAP_CHANNEL_TBL`  | = 23                       | Top back left channel.                  |
| `PAL_CHMAP_CHANNEL_TBR`  | = 24                       | Top back right channel.                 |
| `PAL_CHMAP_CHANNEL_TSL`  | = 25                       | Top side left channel.                  |
| `PAL_CHMAP_CHANNEL_TSR`  | = 26                       | Top side right channel.                 |
| `PAL_CHMAP_CHANNEL_TBC`  | = 27                       | Top back center channel.                |
| `PAL_CHMAP_CHANNEL_BFC`  | = 28                       | Bottom front center channel.            |
| `PAL_CHMAP_CHANNEL_BFL`  | = 29                       | Bottom front left channel.              |
| `PAL_CHMAP_CHANNEL_BFR`  | = 30                       | Bottom front right channel.             |
| `PAL_CHMAP_CHANNEL_LW`   | = 31                       | Left wide channel.                      |
| `PAL_CHMAP_CHANNEL_RW`   | = 32                       | Right wide channel.                     |
| `PAL_CHMAP_CHANNEL_LSD`  | = 33                       | Left side direct channel.               |
| `PAL_CHMAP_CHANNEL_RSD`  | = 34                       | Left side direct channel.               |

### `pal_stream_direction_t`

Audio stream direction enumeration.

#### Values

| Name                     | Value | Description                       |
| ------------------------ | ----- | --------------------------------- |
| `PAL_AUDIO_OUTPUT`       | = 0x1 | playback usecases                 |
| `PAL_AUDIO_INPUT`        | = 0x2 | capture/voice activation usecases |
| `PAL_AUDIO_INPUT_OUTPUT` | = 0x3 | transcode usecases                |

### `pal_audio_effect_t`

Audio Voip TX Effect enumeration.

#### Values

| Name                    | Value | Description                             |
| ----------------------- | ----- | --------------------------------------- |
| `PAL_AUDIO_EFFECT_NONE` | = 0x0 | No audio effect ie., EC\_OFF\_NS\_OFF.  |
| `PAL_AUDIO_EFFECT_EC`   | = 0x1 | Echo Cancellation ie., EC\_ON\_NS\_OFF. |
| `PAL_AUDIO_EFFECT_NS`   | = 0x2 | Noise Suppression ie., NS\_ON\_EC\_OFF. |
| `PAL_AUDIO_EFFECT_ECNS` | = 0x3 | EC + NS.                                |

### `pal_stream_type_t`

Audio stream types.

#### Values

| Name                             | Value | Description                                                                  |
| -------------------------------- | ----- | ---------------------------------------------------------------------------- |
| `PAL_STREAM_LOW_LATENCY`         | = 1   | :low latency, higher power                                                   |
| `PAL_STREAM_DEEP_BUFFER`         | = 2   | :low power, higher latency                                                   |
| `PAL_STREAM_COMPRESSED`          | = 3   | :compresssed audio                                                           |
| `PAL_STREAM_VOIP`                | = 4   | :pcm voip audio                                                              |
| `PAL_STREAM_VOIP_RX`             | = 5   | :pcm voip audio downlink                                                     |
| `PAL_STREAM_VOIP_TX`             | = 6   | :pcm voip audio uplink                                                       |
| `PAL_STREAM_VOICE_CALL_MUSIC`    | = 7   | :incall music                                                                |
| `PAL_STREAM_GENERIC`             | = 8   | :generic playback audio                                                      |
| `PAL_STREAM_RAW`                 | = 9   | pcm no post processing                                                       |
| `PAL_STREAM_VOICE_RECOGNITION`   | = 10  | voice recognition                                                            |
| `PAL_STREAM_VOICE_CALL_RECORD`   | = 11  | incall record                                                                |
| `PAL_STREAM_VOICE_CALL_TX`       | = 12  | incall record, uplink                                                        |
| `PAL_STREAM_VOICE_CALL_RX_TX`    | = 13  | incall record, uplink & Downlink                                             |
| `PAL_STREAM_VOICE_CALL`          | = 14  | voice call                                                                   |
| `PAL_STREAM_LOOPBACK`            | = 15  | loopback                                                                     |
| `PAL_STREAM_TRANSCODE`           | = 16  | audio transcode                                                              |
| `PAL_STREAM_VOICE_UI`            | = 17  | voice ui                                                                     |
| `PAL_STREAM_PCM_OFFLOAD`         | = 18  | pcm offload audio                                                            |
| `PAL_STREAM_ULTRA_LOW_LATENCY`   | = 19  | pcm ULL audio                                                                |
| `PAL_STREAM_PROXY`               | = 20  | pcm proxy audio                                                              |
| `PAL_STREAM_NON_TUNNEL`          | = 21  | NT Mode session.                                                             |
| `PAL_STREAM_HAPTICS`             | = 22  | Haptics Stream.                                                              |
| `PAL_STREAM_ACD`                 | = 23  | ACD Stream.                                                                  |
| `PAL_STREAM_CONTEXT_PROXY`       | = 24  | Context Proxy Stream.                                                        |
| `PAL_STREAM_SENSOR_PCM_DATA`     | = 25  | Sensor Pcm Data Stream.                                                      |
| `PAL_STREAM_ULTRASOUND`          | = 26  | Ultrasound Proximity detection.                                              |
| `PAL_STREAM_SPATIAL_AUDIO`       | = 27  | Spatial audio playback.                                                      |
| `PAL_STREAM_COMMON_PROXY`        | = 28  | AFS's WakeUp Algo library detection.                                         |
| `PAL_STREAM_SENSOR_PCM_RENDERER` | = 29  | Sensor Pcm Rendering Stream.                                                 |
| `PAL_STREAM_ASR`                 | = 30  | ASR Stream.                                                                  |
| `PAL_STREAM_HPCM`                | = 31  | hpcm usecase                                                                 |
| `PAL_STREAM_DUMMY`               | = 32  | Dummy stream used to directly push configurations without a stream instance. |
| `PAL_STREAM_CALL_TRANSLATION`    | = 33  | Translation usecase for Voice & Voip Calls.                                  |
| `PAL_STREAM_PLAYBACK_BUS`        | = 34  | Playback bus type pal streams.                                               |
| `PAL_STREAM_CAPTURE_BUS`         | = 35  | Capture bus type pal streams.                                                |
| `PAL_STREAM_MAX`                 |       | max stream types - add new ones above                                        |

### `pal_device_id_t`

Audio devices available for enabling streams.

#### Values

| Name                                     | Value                       | Description                        |
| ---------------------------------------- | --------------------------- | ---------------------------------- |
| `PAL_DEVICE_OUT_MIN`                     | = 0                         |                                    |
| `PAL_DEVICE_NONE`                        | = 1                         | for transcode usecases             |
| `PAL_DEVICE_OUT_HANDSET`                 | = 2                         |                                    |
| `PAL_DEVICE_OUT_SPEAKER`                 | = 3                         | Default out speaker device.        |
| `PAL_DEVICE_OUT_WIRED_HEADSET`           | = 4                         |                                    |
| `PAL_DEVICE_OUT_WIRED_HEADPHONE`         | = 5                         | Wired headphones without mic.      |
| `PAL_DEVICE_OUT_LINE`                    | = 6                         |                                    |
| `PAL_DEVICE_OUT_BLUETOOTH_SCO`           | = 7                         |                                    |
| `PAL_DEVICE_OUT_BLUETOOTH_A2DP`          | = 8                         |                                    |
| `PAL_DEVICE_OUT_AUX_DIGITAL`             | = 9                         |                                    |
| `PAL_DEVICE_OUT_HDMI`                    | = 10                        |                                    |
| `PAL_DEVICE_OUT_USB_DEVICE`              | = 11                        |                                    |
| `PAL_DEVICE_OUT_USB_HEADSET`             | = 12                        |                                    |
| `PAL_DEVICE_OUT_SPDIF`                   | = 13                        |                                    |
| `PAL_DEVICE_OUT_FM`                      | = 14                        |                                    |
| `PAL_DEVICE_OUT_AUX_LINE`                | = 15                        |                                    |
| `PAL_DEVICE_OUT_PROXY`                   | = 16                        |                                    |
| `PAL_DEVICE_OUT_AUX_DIGITAL_1`           | = 17                        |                                    |
| `PAL_DEVICE_OUT_HEARING_AID`             | = 18                        |                                    |
| `PAL_DEVICE_OUT_HAPTICS_DEVICE`          | = 19                        |                                    |
| `PAL_DEVICE_OUT_ULTRASOUND`              | = 20                        |                                    |
| `PAL_DEVICE_OUT_ULTRASOUND_DEDICATED`    | = 21                        |                                    |
| `PAL_DEVICE_OUT_BLUETOOTH_BLE`           | = 22                        |                                    |
| `PAL_DEVICE_OUT_BLUETOOTH_BLE_BROADCAST` | = 23                        |                                    |
| `PAL_DEVICE_OUT_DUMMY`                   | = 24                        |                                    |
| `PAL_DEVICE_OUT_RECORD_PROXY`            | = 25                        |                                    |
| `PAL_DEVICE_OUT_SOUND_DOSE`              | = 26                        |                                    |
| `PAL_DEVICE_OUT_BLUETOOTH_HFP`           | = 27                        |                                    |
| `PAL_DEVICE_OUT_SPEAKER2`                | = 28                        | Secondary zone speaker device.     |
| `PAL_DEVICE_OUT_SPEAKER3`                | = 29                        | Tertiary zone speaker device.      |
| `PAL_DEVICE_OUT_MAX`                     | = 30                        |                                    |
| `PAL_DEVICE_IN_MIN`                      | = PAL\_DEVICE\_OUT\_MAX     |                                    |
| `PAL_DEVICE_IN_HANDSET_MIC`              | = PAL\_DEVICE\_IN\_MIN +1   |                                    |
| `PAL_DEVICE_IN_SPEAKER_MIC`              | = PAL\_DEVICE\_IN\_MIN + 2  |                                    |
| `PAL_DEVICE_IN_BLUETOOTH_SCO_HEADSET`    | = PAL\_DEVICE\_IN\_MIN + 3  |                                    |
| `PAL_DEVICE_IN_WIRED_HEADSET`            | = PAL\_DEVICE\_IN\_MIN + 4  |                                    |
| `PAL_DEVICE_IN_AUX_DIGITAL`              | = PAL\_DEVICE\_IN\_MIN + 5  |                                    |
| `PAL_DEVICE_IN_HDMI`                     | = PAL\_DEVICE\_IN\_MIN + 6  |                                    |
| `PAL_DEVICE_IN_USB_ACCESSORY`            | = PAL\_DEVICE\_IN\_MIN + 7  |                                    |
| `PAL_DEVICE_IN_USB_DEVICE`               | = PAL\_DEVICE\_IN\_MIN + 8  |                                    |
| `PAL_DEVICE_IN_USB_HEADSET`              | = PAL\_DEVICE\_IN\_MIN + 9  |                                    |
| `PAL_DEVICE_IN_FM_TUNER`                 | = PAL\_DEVICE\_IN\_MIN + 10 |                                    |
| `PAL_DEVICE_IN_LINE`                     | = PAL\_DEVICE\_IN\_MIN + 11 |                                    |
| `PAL_DEVICE_IN_SPDIF`                    | = PAL\_DEVICE\_IN\_MIN + 12 |                                    |
| `PAL_DEVICE_IN_PROXY`                    | = PAL\_DEVICE\_IN\_MIN + 13 |                                    |
| `PAL_DEVICE_IN_HANDSET_VA_MIC`           | = PAL\_DEVICE\_IN\_MIN + 14 |                                    |
| `PAL_DEVICE_IN_BLUETOOTH_A2DP`           | = PAL\_DEVICE\_IN\_MIN + 15 |                                    |
| `PAL_DEVICE_IN_HEADSET_VA_MIC`           | = PAL\_DEVICE\_IN\_MIN + 16 |                                    |
| `PAL_DEVICE_IN_VI_FEEDBACK`              | = PAL\_DEVICE\_IN\_MIN + 17 |                                    |
| `PAL_DEVICE_IN_TELEPHONY_RX`             | = PAL\_DEVICE\_IN\_MIN + 18 |                                    |
| `PAL_DEVICE_IN_ULTRASOUND_MIC`           | = PAL\_DEVICE\_IN\_MIN +19  |                                    |
| `PAL_DEVICE_IN_EXT_EC_REF`               | = PAL\_DEVICE\_IN\_MIN + 20 |                                    |
| `PAL_DEVICE_IN_ECHO_REF`                 | = PAL\_DEVICE\_IN\_MIN + 21 |                                    |
| `PAL_DEVICE_IN_HAPTICS_VI_FEEDBACK`      | = PAL\_DEVICE\_IN\_MIN + 22 |                                    |
| `PAL_DEVICE_IN_BLUETOOTH_BLE`            | = PAL\_DEVICE\_IN\_MIN + 23 |                                    |
| `PAL_DEVICE_IN_CPS_FEEDBACK`             | = PAL\_DEVICE\_IN\_MIN + 24 |                                    |
| `PAL_DEVICE_IN_DUMMY`                    | = PAL\_DEVICE\_IN\_MIN + 25 |                                    |
| `PAL_DEVICE_IN_CPS2_FEEDBACK`            | = PAL\_DEVICE\_IN\_MIN + 26 |                                    |
| `PAL_DEVICE_IN_RECORD_PROXY`             | = PAL\_DEVICE\_IN\_MIN + 27 |                                    |
| `PAL_DEVICE_IN_BLUETOOTH_HFP`            | = PAL\_DEVICE\_IN\_MIN + 28 |                                    |
| `PAL_DEVICE_IN_SPEAKER_MIC2`             | = PAL\_DEVICE\_IN\_MIN + 29 | Secondary zone speaker mic device. |
| `PAL_DEVICE_IN_SPEAKER_MIC3`             | = PAL\_DEVICE\_IN\_MIN + 30 | Tertiary zone speaker mic device.  |
| `PAL_DEVICE_IN_MAX`                      | = PAL\_DEVICE\_IN\_MIN + 31 |                                    |

### `A2DP_STATE`

#### Values

| Name                      | Value | Description |
| ------------------------- | ----- | ----------- |
| `A2DP_STATE_CONNECTED`    |       |             |
| `A2DP_STATE_STARTED`      |       |             |
| `A2DP_STATE_STOPPED`      |       |             |
| `A2DP_STATE_DISCONNECTED` |       |             |

### `pal_VSID_t`

#### Values

| Name            | Value        | Description |
| --------------- | ------------ | ----------- |
| `VOICEMMODE1`   | = 0x11C05000 |             |
| `VOICEMMODE2`   | = 0x11DC5000 |             |
| `VOICELBMMODE1` | = 0x12006000 |             |
| `VOICELBMMODE2` | = 0x121C6000 |             |

### `pal_stream_loopback_type_t`

#### Values

| Name                                | Value | Description                    |
| ----------------------------------- | ----- | ------------------------------ |
| `PAL_STREAM_LOOPBACK_PCM`           |       |                                |
| `PAL_STREAM_LOOPBACK_HFP_RX`        |       |                                |
| `PAL_STREAM_LOOPBACK_HFP_TX`        |       |                                |
| `PAL_STREAM_LOOPBACK_COMPRESS`      |       |                                |
| `PAL_STREAM_LOOPBACK_FM`            |       |                                |
| `PAL_STREAM_LOOPBACK_KARAOKE`       |       |                                |
| `PAL_STREAM_LOOPBACK_PLAYBACK_ONLY` |       |                                |
| `PAL_STREAM_LOOPBACK_CAPTURE_ONLY`  |       |                                |
| `PAL_STREAM_LOOPBACK_ICC`           |       | In Car Communication loopback. |

### `pal_stream_proxy_tx_type_t`

#### Values

| Name                               | Value | Description |
| ---------------------------------- | ----- | ----------- |
| `PAL_STREAM_PROXY_TX_VISUALIZER`   |       |             |
| `PAL_STREAM_PROXY_TX_WFD`          |       |             |
| `PAL_STREAM_PROXY_TX_TELEPHONY_RX` |       |             |

### `pal_stream_proxy_rx_type_t`

#### Values

| Name                      | Value | Description |
| ------------------------- | ----- | ----------- |
| `PAL_STREAM_PROXY_RX_WFD` | = 1   |             |

### `pal_stream_haptics_type_t`

#### Values

| Name                          | Value | Description |
| ----------------------------- | ----- | ----------- |
| `PAL_STREAM_HAPTICS_RINGTONE` |       |             |
| `PAL_STREAM_HAPTICS_TOUCH`    | = 1   |             |
| `PAL_STREAM_HAPTICS_PCM`      | = 2   |             |

### `pal_stream_callback_event_t`

#### Values

| Name                                       | Value    | Description |
| ------------------------------------------ | -------- | ----------- |
| `PAL_STREAM_CBK_EVENT_WRITE_READY`         |          |             |
| `PAL_STREAM_CBK_EVENT_DRAIN_READY`         |          |             |
| `PAL_STREAM_CBK_EVENT_PARTIAL_DRAIN_READY` |          |             |
| `PAL_STREAM_CBK_EVENT_READ_DONE`           |          |             |
| `PAL_STREAM_CBK_EVENT_ERROR`               |          |             |
| `PAL_STREAM_CBK_EVENT_DTMF_DETECTION`      |          |             |
| `PAL_STREAM_CBK_MAX`                       | = 0xFFFF |             |

### `pal_global_callback_event_t`

#### Values

| Name                  | Value | Description |
| --------------------- | ----- | ----------- |
| `PAL_SND_CARD_STATE`  |       |             |
| `PAL_SOUND_DOSE_INFO` |       |             |

### `pal_call_translation_direction`

#### Values

| Name                       | Value | Description |
| -------------------------- | ----- | ----------- |
| `CALL_TRANSLATION_DEFAULT` | = 0   |             |
| `CALL_TRANSLATION_DIR_TX`  | = 1   |             |
| `CALL_TRANSLATION_DIR_RX`  | = 2   |             |

### `pal_incall_record_direction`

#### Values

| Name                                  | Value | Description |
| ------------------------------------- | ----- | ----------- |
| `INCALL_RECORD_VOICE_UPLINK`          | = 1   |             |
| `INCALL_RECORD_VOICE_DOWNLINK`        |       |             |
| `INCALL_RECORD_VOICE_UPLINK_DOWNLINK` |       |             |

### `pal_tty_t`

#### Values

| Name           | Value | Description |
| -------------- | ----- | ----------- |
| `PAL_TTY_OFF`  | = 0   |             |
| `PAL_TTY_HCO`  | = 1   |             |
| `PAL_TTY_VCO`  | = 2   |             |
| `PAL_TTY_FULL` | = 3   |             |

### `pal_incall_music_direction`

#### Values

| Name                    | Value | Description |
| ----------------------- | ----- | ----------- |
| `INCALL_MUSIC_UPLINK`   | = 1   |             |
| `INCALL_MUSIC_DOWNLINK` |       |             |

### `pal_hpcm_stream_type_t`

#### Values

| Name                   | Value | Description |
| ---------------------- | ----- | ----------- |
| `PAL_HPCM_RX_PLAYBACK` | = 0   |             |
| `PAL_HPCM_RX_CAPTURE`  | = 1   |             |
| `PAL_HPCM_TX_PLAYBACK` | = 2   |             |
| `PAL_HPCM_TX_CAPTURE`  | = 3   |             |

### `pal_stream_flags_t`

Available stream flags of an audio session.

#### Values

| Name                           | Value  | Description                                        |
| ------------------------------ | ------ | -------------------------------------------------- |
| `PAL_STREAM_FLAG_TIMESTAMP`    | = 0x1  | Enable time stamps associated to audio buffers     |
| `PAL_STREAM_FLAG_NON_BLOCKING` | = 0x2  | Stream IO operations are non blocking.             |
| `PAL_STREAM_FLAG_MMAP`         | = 0x4  | Stream Mode should be in MMAP.                     |
| `PAL_STREAM_FLAG_MMAP_NO_IRQ`  | = 0x8  | Stream Mode should be No IRQ.                      |
| `PAL_STREAM_FLAG_EXTERN_MEM`   | = 0x10 | Shared memory buffers allocated by client.         |
| `PAL_STREAM_FLAG_SRCM_INBAND`  | = 0x20 | MediaFormat change event inband with data buffers. |
| `PAL_STREAM_FLAG_EOF`          | = 0x40 | MediaFormat change event inband with data buffers. |

### *(anonymous)*

Metadata flags.

#### Values

| Name                       | Value | Description |
| -------------------------- | ----- | ----------- |
| `PAL_META_DATA_FLAGS_NONE` | = 0   |             |

### *(anonymous)*

pal\_mmap\_buffer flags

#### Values

| Name                                 | Value | Description                                                                                                                         |
| ------------------------------------ | ----- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `PAL_MMMAP_BUFF_FLAGS_NONE`          | = 0   |                                                                                                                                     |
| `PAL_MMMAP_BUFF_FLAGS_APP_SHAREABLE` | = 1   | Only set this flag if applications can access the audio buffer memory shared with the backend (usually DSP) without security issue. |

### `pal_drain_type_t`

#### Values

| Name                | Value | Description                                                                                                           |
| ------------------- | ----- | --------------------------------------------------------------------------------------------------------------------- |
| `PAL_DRAIN`         |       | request notification when all accumlated data has be drained.                                                         |
| `PAL_DRAIN_PARTIAL` |       | request notification when drain completes shortly before all accumlated data of the current track has been played out |

### `pal_param_id_type_t`

#### Values

| Name                                         | Value | Description       |
| -------------------------------------------- | ----- | ----------------- |
| `PAL_PARAM_ID_LOAD_SOUND_MODEL`              | = 0   |                   |
| `PAL_PARAM_ID_RECOGNITION_CONFIG`            | = 1   |                   |
| `PAL_PARAM_ID_ECNS_ON_OFF`                   | = 2   |                   |
| `PAL_PARAM_ID_DIRECTION_OF_ARRIVAL`          | = 3   |                   |
| `PAL_PARAM_ID_UIEFFECT`                      | = 4   |                   |
| `PAL_PARAM_ID_STOP_BUFFERING`                | = 5   |                   |
| `PAL_PARAM_ID_CODEC_CONFIGURATION`           | = 6   |                   |
| `PAL_PARAM_ID_DEVICE_CONNECTION`             | = 7   |                   |
| `PAL_PARAM_ID_SCREEN_STATE`                  | = 8   |                   |
| `PAL_PARAM_ID_CHARGING_STATE`                | = 9   |                   |
| `PAL_PARAM_ID_DEVICE_ROTATION`               | = 10  |                   |
| `PAL_PARAM_ID_BT_SCO`                        | = 11  |                   |
| `PAL_PARAM_ID_BT_SCO_WB`                     | = 12  |                   |
| `PAL_PARAM_ID_BT_SCO_SWB`                    | = 13  |                   |
| `PAL_PARAM_ID_BT_A2DP_RECONFIG`              | = 14  |                   |
| `PAL_PARAM_ID_BT_A2DP_RECONFIG_SUPPORTED`    | = 15  |                   |
| `PAL_PARAM_ID_BT_A2DP_SUSPENDED`             | = 16  |                   |
| `PAL_PARAM_ID_BT_A2DP_TWS_CONFIG`            | = 17  |                   |
| `PAL_PARAM_ID_BT_A2DP_ENCODER_LATENCY`       | = 18  |                   |
| `PAL_PARAM_ID_DEVICE_CAPABILITY`             | = 19  |                   |
| `PAL_PARAM_ID_GET_SOUND_TRIGGER_PROPERTIES`  | = 20  |                   |
| `PAL_PARAM_ID_TTY_MODE`                      | = 21  |                   |
| `PAL_PARAM_ID_VOLUME_BOOST`                  | = 22  |                   |
| `PAL_PARAM_ID_SLOW_TALK`                     | = 23  |                   |
| `PAL_PARAM_ID_SPEAKER_RAS`                   | = 24  |                   |
| `PAL_PARAM_ID_SP_MODE`                       | = 25  |                   |
| `PAL_PARAM_ID_GAIN_LVL_MAP`                  | = 26  |                   |
| `PAL_PARAM_ID_GAIN_LVL_CAL`                  | = 27  |                   |
| `PAL_PARAM_ID_GAPLESS_MDATA`                 | = 28  |                   |
| `PAL_PARAM_ID_HD_VOICE`                      | = 29  |                   |
| `PAL_PARAM_ID_WAKEUP_ENGINE_CONFIG`          | = 30  |                   |
| `PAL_PARAM_ID_WAKEUP_BUFFERING_CONFIG`       | = 31  |                   |
| `PAL_PARAM_ID_WAKEUP_ENGINE_RESET`           | = 32  |                   |
| `PAL_PARAM_ID_WAKEUP_MODULE_VERSION`         | = 33  |                   |
| `PAL_PARAM_ID_WAKEUP_CUSTOM_CONFIG`          | = 34  |                   |
| `PAL_PARAM_ID_UNLOAD_SOUND_MODEL`            | = 35  |                   |
| `PAL_PARAM_ID_MODULE_CONFIG`                 | = 36  |                   |
| `PAL_PARAM_ID_BT_A2DP_LC3_CONFIG`            | = 37  |                   |
| `PAL_PARAM_ID_PROXY_CHANNEL_CONFIG`          | = 38  |                   |
| `PAL_PARAM_ID_CONTEXT_LIST`                  | = 39  |                   |
| `PAL_PARAM_ID_HAPTICS_INTENSITY`             | = 40  |                   |
| `PAL_PARAM_ID_HAPTICS_VOLUME`                | = 41  |                   |
| `PAL_PARAM_ID_BT_A2DP_DECODER_LATENCY`       | = 42  |                   |
| `PAL_PARAM_ID_CUSTOM_CONFIGURATION`          | = 43  |                   |
| `PAL_PARAM_ID_KW_TRANSFER_LATENCY`           | = 44  |                   |
| `PAL_PARAM_ID_BT_A2DP_FORCE_SWITCH`          | = 45  |                   |
| `PAL_PARAM_ID_BT_SCO_LC3`                    | = 46  |                   |
| `PAL_PARAM_ID_DEVICE_MUTE`                   | = 47  |                   |
| `PAL_PARAM_ID_UPD_REGISTER_FOR_EVENTS`       | = 48  |                   |
| `PAL_PARAM_ID_SP_GET_CAL`                    | = 49  |                   |
| `PAL_PARAM_ID_BT_A2DP_CAPTURE_SUSPENDED`     | = 50  |                   |
| `PAL_PARAM_ID_SNDCARD_STATE`                 | = 51  |                   |
| `PAL_PARAM_ID_HIFI_PCM_FILTER`               | = 52  |                   |
| `PAL_PARAM_ID_CHARGER_STATE`                 | = 53  |                   |
| `PAL_PARAM_ID_BT_SCO_NREC`                   | = 54  |                   |
| `PAL_PARAM_ID_VOLUME_USING_SET_PARAM`        | = 55  |                   |
| `PAL_PARAM_ID_UHQA_FLAG`                     | = 56  |                   |
| `PAL_PARAM_ID_STREAM_ATTRIBUTES`             | = 57  |                   |
| `PAL_PARAM_ID_SET_UPD_DUTY_CYCLE`            | = 58  |                   |
| `PAL_PARAM_ID_MSPP_LINEAR_GAIN`              | = 59  |                   |
| `PAL_PARAM_ID_SET_SOURCE_METADATA`           | = 60  |                   |
| `PAL_PARAM_ID_SET_SINK_METADATA`             | = 61  |                   |
| `PAL_PARAM_ID_ULTRASOUND_RAMPDOWN`           | = 62  |                   |
| `PAL_PARAM_ID_VOLUME_CTRL_RAMP`              | = 63  |                   |
| `PAL_PARAM_ID_SVA_WAKEUP_MODULE_VERSION`     | = 64  |                   |
| `PAL_PARAM_ID_GAIN_USING_SET_PARAM`          | = 65  |                   |
| `PAL_PARAM_ID_HAPTICS_CNFG`                  | = 66  |                   |
| `PAL_PARAM_ID_WAKEUP_ENGINE_PER_MODEL_RESET` | = 67  |                   |
| `PAL_PARAM_ID_RECONFIG_ENCODER`              | = 68  |                   |
| `PAL_PARAM_ID_VUI_SET_META_DATA`             | = 69  |                   |
| `PAL_PARAM_ID_VUI_GET_META_DATA`             | = 70  |                   |
| `PAL_PARAM_ID_VUI_CAPTURE_META_DATA`         | = 71  |                   |
| `PAL_PARAM_ID_TIMESTRETCH_PARAMS`            | = 72  |                   |
| `PAL_PARAM_ID_LATENCY_MODE`                  | = 73  |                   |
| `PAL_PARAM_ID_ST_CAPTURE_INFO`               | = 74  |                   |
| `PAL_PARAM_ID_RESOURCES_AVAILABLE`           | = 75  |                   |
| `PAL_PARAM_ID_PROXY_RECORD_SESSION`          | = 76  |                   |
| `PAL_PARAM_ID_ASR_MODEL`                     | = 77  |                   |
| `PAL_PARAM_ID_ASR_CONFIG`                    | = 78  |                   |
| `PAL_PARAM_ID_ASR_CUSTOM`                    | = 79  |                   |
| `PAL_PARAM_ID_ASR_FORCE_OUTPUT`              | = 80  |                   |
| `PAL_PARAM_ID_ASR_OUTPUT`                    | = 81  |                   |
| `PAL_PARAM_ID_ASR_SET_PARAM`                 | = 82  |                   |
| `PAL_PARAM_ID_ORIENTATION`                   | = 83  |                   |
| `PAL_PARAM_ID_VENDOR_UUID`                   | = 84  | For PAL Refactor. |
| `PAL_PARAM_ID_IS_DEVICE_CONNECTED`           | = 85  |                   |
| `PAL_PARAM_ID_DTMF_DETECTION_CFG`            | = 86  |                   |
| `PAL_PARAM_ID_DTMF_GEN_TONE_CFG`             | = 87  |                   |
| `PAL_PARAM_ID_HAPTICS_MODE`                  | = 88  |                   |
| `PAL_PARAM_ID_MMA_MODE_BIT_CONFIG`           | = 89  |                   |
| `PAL_PARAM_ID_WNR_MODE`                      | = 90  |                   |
| `PAL_PARAM_ID_ULTRASOUND_SET_GAIN`           | = 91  |                   |
| `PAL_PARAM_ID_SDZ_MODEL`                     | = 92  |                   |
| `PAL_PARAM_ID_SDZ_CONFIG`                    | = 93  |                   |
| `PAL_PARAM_ID_SDZ_CUSTOM`                    | = 94  |                   |
| `PAL_PARAM_ID_SDZ_FORCE_OUTPUT`              | = 95  |                   |
| `PAL_PARAM_ID_SDZ_OUTPUT`                    | = 96  |                   |
| `PAL_PARAM_ID_SDZ_SET_PARAM`                 | = 97  |                   |
| `PAL_PARAM_ID_SDZ_ENABLE`                    | = 98  |                   |
| `PAL_PARAM_ID_CALL_TRANSLATION_CONFIG`       | = 99  |                   |
| `PAL_PARAM_ID_FORCE_RECOGNITION`             | = 100 |                   |
| `PAL_PARAM_ID_BUFFERING_MODE`                | = 101 |                   |
| `PAL_PARAM_ID_NMT_OUTPUT`                    | = 102 |                   |
| `PAL_PARAM_NMT_GET_NUM_EVENT`                | = 103 |                   |
| `PAL_PARAM_NMT_GET_OUTPUT_TOKEN`             | = 104 |                   |
| `PAL_PARAM_NMT_GET_PAYLOAD_SIZE`             | = 105 |                   |
| `PAL_PARAM_ID_DISABLE_HFP_SYNC`              | = 106 |                   |
| `PAL_PARAM_ID_MULTI_CLIENT_ASR_OUTPUT`       | = 107 |                   |
| `PAL_PARAM_ID_MULTI_CLIENT_SDZ_OUTPUT`       | = 108 |                   |
| `PAL_PARAM_ID_VOICE_NS_RX_CFG`               | = 109 |                   |

### `pal_speaker_rotation_type`

#### Values

| Name                      | Value | Description |
| ------------------------- | ----- | ----------- |
| `PAL_SPEAKER_ROTATION_LR` |       |             |
| `PAL_SPEAKER_ROTATION_RL` |       |             |

### *(anonymous)*

#### Values

| Name                         | Value                                         | Description |
| ---------------------------- | --------------------------------------------- | ----------- |
| `LC3_STREAM_MAP_BIT`         | = 0x1                                         |             |
| `LC3_CODEC_BIT`              | = 0x1 \<\< 1                                  |             |
| `LC3_FRAME_DURATION_BIT`     | = 0x1 \<\< 2                                  |             |
| `LC3_RXCFG_IDX_BIT`          | = 0x1 \<\< 3                                  |             |
| `LC3_TXCFG_IDX_BIT`          | = 0x1 \<\< 4                                  |             |
| `LC3_VERSION_BIT`            | = 0x1 \<\< 5                                  |             |
| `LC3_BLOCKS_FORSDU_BIT`      | = 0x1 \<\< 6                                  |             |
| `LC3_VENDOR_BIT`             | = 0x1 \<\< 7                                  |             |
| `LC3_BIT_ALL`                | = LC3\_STREAM\_MAP\_BIT \|                    |             |
| LC3\_CODEC\_BIT \|           |                                               |             |
| LC3\_FRAME\_DURATION\_BIT \| |                                               |             |
| LC3\_RXCFG\_IDX\_BIT \|      |                                               |             |
| LC3\_TXCFG\_IDX\_BIT \|      |                                               |             |
| LC3\_VERSION\_BIT \|         |                                               |             |
| LC3\_BLOCKS\_FORSDU\_BIT \|  |                                               |             |
| LC3\_VENDOR\_BIT             |                                               |             |
| `LC3_BIT_MASK`               | = LC3\_BIT\_ALL & \~LC3\_FRAME\_DURATION\_BIT |             |
| `LC3_BIT_VALID`              | = LC3\_BIT\_MASK                              |             |

### `pal_ultrasound_gain_t`

#### Values

| Name                       | Value | Description |
| -------------------------- | ----- | ----------- |
| `PAL_ULTRASOUND_GAIN_MUTE` | = 0   |             |
| `PAL_ULTRASOUND_GAIN_LOW`  |       |             |
| `PAL_ULTRASOUND_GAIN_HIGH` |       |             |

### `BeCtrlsIndex`

#### Values

| Name                        | Value | Description |
| --------------------------- | ----- | ----------- |
| `BE_METADATA`               |       |             |
| `BE_MEDIAFMT`               |       |             |
| `BE_SETPARAM`               |       |             |
| `BE_GROUP_ATTR`             |       |             |
| `BE_MAX_NUM_MIXER_CONTROLS` |       |             |

### `pal_st_sound_model_type_t`

used to identify the sound model type for the session

#### Values

| Name                             | Value | Description |
| -------------------------------- | ----- | ----------- |
| `PAL_SOUND_MODEL_TYPE_UNKNOWN`   | = -1  |             |
| `PAL_SOUND_MODEL_TYPE_KEYPHRASE` | = 0   |             |
| `PAL_SOUND_MODEL_TYPE_GENERIC`   | = 1   |             |

### `pal_asr_event_status_t`

#### Values

| Name                           | Value | Description |
| ------------------------------ | ----- | ----------- |
| `PAL_ASR_EVENT_STATUS_SUCCESS` | = 0   |             |
| `PAL_ASR_EVENT_STATUS_ABORTED` | = 1   |             |
| `PAL_ASR_EVENT_STATUS_TIMEOUT` | = 2   |             |

### `pal_asr_status_t`

#### Values

| Name                                     | Value | Description |
| ---------------------------------------- | ----- | ----------- |
| `PAL_ASR_STATUS_SUCCESS`                 | = 0   |             |
| `PAL_ASR_STATUS_INVALID`                 | = -1  |             |
| `PAL_ASR_STATUS_RESOURCE_CONTENTION`     | = -2  |             |
| `PAL_ASR_STATUS_OPERATION_NOT_SUPPORTED` | = -3  |             |
| `PAL_ASR_STATUS_FAILURE`                 | = -4  |             |

### `eventType`

#### Values

| Name                          | Value                         | Description |
| ----------------------------- | ----------------------------- | ----------- |
| `PLAIN_TEXT`                  | = 0                           |             |
| `TIMESTAMP_BASED_TEXT`        |                               |             |
| `SPEAKER_DIARIZATION`         |                               |             |
| `CALL_TRANSLATION_TEXT`       |                               |             |
| `CALL_TRANSLATION_OUT_TEXT`   | = CALL\_TRANSLATION\_TEXT     |             |
| `CALL_TRANSLATION_IN_TEXT`    | = CALL\_TRANSLATION\_TEXT + 1 |             |
| `CALL_TRANSLATION_INOUT_TEXT` | = CALL\_TRANSLATION\_TEXT + 2 |             |

### `card_status_t`

Sound card state.

#### Values

| Name                  | Value | Description |
| --------------------- | ----- | ----------- |
| `CARD_STATUS_OFFLINE` | = 0   |             |
| `CARD_STATUS_ONLINE`  |       |             |
| `CARD_STATUS_STANDBY` |       |             |
| `CARD_STATUS_NONE`    |       |             |

## Macros

### `MIXER_PATH_MAX_LENGTH`

```c theme={null}
#define MIXER_PATH_MAX_LENGTH 100
```

### `PAL_MAX_CHANNELS_SUPPORTED`

```c theme={null}
#define PAL_MAX_CHANNELS_SUPPORTED 64
```

### `MAX_KEYWORD_SUPPORTED`

```c theme={null}
#define MAX_KEYWORD_SUPPORTED 8
```

### `PAL_MAX_LATENCY_MODES`

```c theme={null}
#define PAL_MAX_LATENCY_MODES 8
```

### `PAL_CUSTOM_PARAM_MAX_STRING_LENGTH`

```c theme={null}
#define PAL_CUSTOM_PARAM_MAX_STRING_LENGTH 64
```

### `PAL_VERSION`

```c theme={null}
#define PAL_VERSION "2.1"
```

### `PAL_MAX_SOUND_DOSE_VALUES`

```c theme={null}
#define PAL_MAX_SOUND_DOSE_VALUES 10
```

### `SEND_MSG_PARAM`

```c theme={null}
#define SEND_MSG_PARAM "sendMsg"
```

### `PCM_24_BIT_PACKED`

```c theme={null}
#define PCM_24_BIT_PACKED (0x6u)
```

### `PCM_32_BIT`

```c theme={null}
#define PCM_32_BIT (0x3u)
```

### `PCM_16_BIT`

```c theme={null}
#define PCM_16_BIT (0x1u)
```

### `SAMPLE_RATE_192000`

```c theme={null}
#define SAMPLE_RATE_192000 192000
```

### `MAX_SUPPORTED_CHANNEL_MASKS`

Android Media configuraiton

```c theme={null}
#define MAX_SUPPORTED_CHANNEL_MASKS (2 * 8)
```

### `MAX_SUPPORTED_FORMATS`

```c theme={null}
#define MAX_SUPPORTED_FORMATS 15
```

### `MAX_SUPPORTED_SAMPLE_RATES`

```c theme={null}
#define MAX_SUPPORTED_SAMPLE_RATES 7
```

### `PAL_STREAM_FLAG_NON_BLOCKING_MASK`

```c theme={null}
#define PAL_STREAM_FLAG_NON_BLOCKING_MASK 0x2
```

### `PAL_STREAM_FLAG_MMAP_MASK`

```c theme={null}
#define PAL_STREAM_FLAG_MMAP_MASK 0x4
```

### `PAL_STREAM_FLAG_MMAP_NO_IRQ_MASK`

PAL stream attributes to be specified, used in pal\_stream\_open cmd.

```c theme={null}
#define PAL_STREAM_FLAG_MMAP_NO_IRQ_MASK 0x8
```

### `MAX_CONTROLLERS`

HDMI/DP.

```c theme={null}
#define MAX_CONTROLLERS 1
```

### `MAX_STREAMS_PER_CONTROLLER`

```c theme={null}
#define MAX_STREAMS_PER_CONTROLLER 2
```

### `PAL_MAX_CUSTOM_KEY_SIZE`

```c theme={null}
#define PAL_MAX_CUSTOM_KEY_SIZE 128
```

### `DEVICE_NAME_MAX_SIZE`

```c theme={null}
#define DEVICE_NAME_MAX_SIZE 128
```

### `PAL_LC3_MAX_STRING_LEN`

```c theme={null}
#define PAL_LC3_MAX_STRING_LEN 200
```

### `PAL_SOUND_TRIGGER_MAX_STRING_LEN`

```c theme={null}
#define PAL_SOUND_TRIGGER_MAX_STRING_LEN 64 /* max length of strings in properties or descriptor structs */
```

### `PAL_SOUND_TRIGGER_MAX_LOCALE_LEN`

```c theme={null}
#define PAL_SOUND_TRIGGER_MAX_LOCALE_LEN 6  /* max length of locale string. e.g en_US */
```

### `PAL_SOUND_TRIGGER_MAX_USERS`

```c theme={null}
#define PAL_SOUND_TRIGGER_MAX_USERS 10      /* max number of concurrent users */
```

### `PAL_SOUND_TRIGGER_MAX_PHRASES`

```c theme={null}
#define PAL_SOUND_TRIGGER_MAX_PHRASES 10    /* max number of concurrent phrases */
```

### `PAL_RECOGNITION_MODE_VOICE_TRIGGER`

```c theme={null}
#define PAL_RECOGNITION_MODE_VOICE_TRIGGER 0x1       /* simple voice trigger */
```

### `PAL_RECOGNITION_MODE_USER_IDENTIFICATION`

```c theme={null}
#define PAL_RECOGNITION_MODE_USER_IDENTIFICATION 0x2 /* trigger only if one user in model identified */
```

### `PAL_RECOGNITION_MODE_USER_AUTHENTICATION`

```c theme={null}
#define PAL_RECOGNITION_MODE_USER_AUTHENTICATION 0x4 /* trigger only if one user in mode authenticated */
```

### `PAL_RECOGNITION_MODE_GENERIC_TRIGGER`

```c theme={null}
#define PAL_RECOGNITION_MODE_GENERIC_TRIGGER 0x8     /* generic sound trigger */
```

### `PAL_RECOGNITION_STATUS_SUCCESS`

```c theme={null}
#define PAL_RECOGNITION_STATUS_SUCCESS 0
```

### `PAL_RECOGNITION_STATUS_ABORT`

```c theme={null}
#define PAL_RECOGNITION_STATUS_ABORT 1
```

### `PAL_RECOGNITION_STATUS_FAILURE`

```c theme={null}
#define PAL_RECOGNITION_STATUS_FAILURE 2
```

### `PAL_RECOGNITION_STATUS_GET_STATE_RESPONSE`

```c theme={null}
#define PAL_RECOGNITION_STATUS_GET_STATE_RESPONSE 3  /* Indicates that the recognition event is in
                                                        response to a state request and was not
                                                        triggered by a real DSP recognition */
```

### `MAX_TRANSCRIPTION_CHAR_SIZE`

```c theme={null}
#define MAX_TRANSCRIPTION_CHAR_SIZE 1024
```

### `MAX_JSON_CHAR_SIZE`

```c theme={null}
#define MAX_JSON_CHAR_SIZE 4096
```

### `MAX_NUM_WORDS`

```c theme={null}
#define MAX_NUM_WORDS 200
```

### `MAX_WORD_LENGTH`

```c theme={null}
#define MAX_WORD_LENGTH 28
```

### `PAL_CARD_STATUS_DOWN`

```c theme={null}
#define PAL_CARD_STATUS_DOWN (n == CARD_STATUS_OFFLINE || n == CARD_STATUS_STANDBY)
```

### `PAL_CARD_STATUS_UP`

```c theme={null}
#define PAL_CARD_STATUS_UP (n == CARD_STATUS_ONLINE)
```

### `PAL_GENERIC_PLATFORM_DELAY`

```c theme={null}
#define PAL_GENERIC_PLATFORM_DELAY (29*1000LL)
```

### `PAL_DEEP_BUFFER_PLATFORM_DELAY`

```c theme={null}
#define PAL_DEEP_BUFFER_PLATFORM_DELAY (29*1000LL)
```

### `PAL_SPATIAL_AUDIO_PLATFORM_DELAY`

```c theme={null}
#define PAL_SPATIAL_AUDIO_PLATFORM_DELAY (13*1000LL)
```

### `PAL_PCM_OFFLOAD_PLATFORM_DELAY`

```c theme={null}
#define PAL_PCM_OFFLOAD_PLATFORM_DELAY (30*1000LL)
```

### `PAL_LOW_LATENCY_PLATFORM_DELAY`

```c theme={null}
#define PAL_LOW_LATENCY_PLATFORM_DELAY (13*1000LL)
```

### `PAL_MMAP_PLATFORM_DELAY`

```c theme={null}
#define PAL_MMAP_PLATFORM_DELAY (3*1000LL)
```

### `PAL_ULL_PLATFORM_DELAY`

```c theme={null}
#define PAL_ULL_PLATFORM_DELAY (4*1000LL)
```

### `PAL_VOIP_PLATFORM_DELAY`

```c theme={null}
#define PAL_VOIP_PLATFORM_DELAY (29*1000LL)
```

### `PAL_GENERIC_OUTPUT_PERIOD_DURATION`

```c theme={null}
#define PAL_GENERIC_OUTPUT_PERIOD_DURATION 40
```

### `PAL_DEEP_BUFFER_OUTPUT_PERIOD_DURATION`

```c theme={null}
#define PAL_DEEP_BUFFER_OUTPUT_PERIOD_DURATION 40
```

### `PAL_PCM_OFFLOAD_OUTPUT_PERIOD_DURATION`

```c theme={null}
#define PAL_PCM_OFFLOAD_OUTPUT_PERIOD_DURATION 80
```

### `PAL_LOW_LATENCY_OUTPUT_PERIOD_DURATION`

```c theme={null}
#define PAL_LOW_LATENCY_OUTPUT_PERIOD_DURATION 5
```

### `PAL_SPATIAL_AUDIO_PERIOD_DURATION`

```c theme={null}
#define PAL_SPATIAL_AUDIO_PERIOD_DURATION 10
```

### `PAL_VOIP_OUTPUT_PERIOD_DURATION`

```c theme={null}
#define PAL_VOIP_OUTPUT_PERIOD_DURATION 20
```

### `PAL_ULL_OUTPUT_PERIOD_DURATION`

```c theme={null}
#define PAL_ULL_OUTPUT_PERIOD_DURATION 10
```

### `PAL_GENERIC_PLAYBACK_PERIOD_COUNT`

```c theme={null}
#define PAL_GENERIC_PLAYBACK_PERIOD_COUNT 2
```

### `PAL_DEEP_BUFFER_PLAYBACK_PERIOD_COUNT`

```c theme={null}
#define PAL_DEEP_BUFFER_PLAYBACK_PERIOD_COUNT 2
```

### `PAL_PCM_OFFLOAD_PLAYBACK_PERIOD_COUNT`

```c theme={null}
#define PAL_PCM_OFFLOAD_PLAYBACK_PERIOD_COUNT 2
```

### `PAL_LOW_LATENCY_PLAYBACK_PERIOD_COUNT`

```c theme={null}
#define PAL_LOW_LATENCY_PLAYBACK_PERIOD_COUNT 2
```

### `PAL_SPATIAL_AUDIO_PLAYBACK_PERIOD_COUNT`

```c theme={null}
#define PAL_SPATIAL_AUDIO_PLAYBACK_PERIOD_COUNT 2
```

### `PAL_VOIP_PLAYBACK_PERIOD_COUNT`

```c theme={null}
#define PAL_VOIP_PLAYBACK_PERIOD_COUNT 2
```

### `PAL_ULL_PLAYBACK_PERIOD_COUNT`

```c theme={null}
#define PAL_ULL_PLAYBACK_PERIOD_COUNT 2
```

## Variables

### `lc3_reserved_params`

```cpp theme={null}
const char * lc3_reserved_params
```

### `beCtrlNames`

```cpp theme={null}
const char * beCtrlNames
```
