[automerger skipped] 16kb: Add aosp_caimito_16k targets am: eb617e005b -s ours
am skip reason: Merged-In I9ea2b41b0d6af8f86179f7e4007140181f06028a with SHA-1 644e60f4dc is already in history
Original change: https://android-review.googlesource.com/c/device/google/caimito/+/3395425
Change-Id: I358fc5aa4b410fd137e0543884556db752f98948
Signed-off-by: Automerger Merge Worker <[email protected]>
diff --git a/OWNERS b/OWNERS
index 4cfcd6d..909c332 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,4 +1,4 @@
per-file perf/*,thermal/*= [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]
# per-file for Pixel device makefiles, see go/pixel-device-mk-owner-checklist for details.
-per-file *.mk,*/BoardConfig.mk=file:device/google/gs-common:main:/MK_OWNERS
+per-file *.mk,*/BoardConfig.mk,{**/,}Android.bp=file:device/google/gs-common:main:/MK_OWNERS
diff --git a/aosp_caiman_16k.mk b/aosp_caiman_16k.mk
index 34c6873..f61ed9d 100644
--- a/aosp_caiman_16k.mk
+++ b/aosp_caiman_16k.mk
@@ -2,6 +2,5 @@
PRODUCT_NAME := aosp_caiman_16k
-TARGET_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4
-TARGET_RW_FILE_SYSTEM_TYPE := ext4
+TARGET_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
TARGET_BOOTS_16K := true
diff --git a/aosp_komodo_16k.mk b/aosp_komodo_16k.mk
index 6333a48..25f73fd 100644
--- a/aosp_komodo_16k.mk
+++ b/aosp_komodo_16k.mk
@@ -2,6 +2,5 @@
PRODUCT_NAME := aosp_komodo_16k
-TARGET_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4
-TARGET_RW_FILE_SYSTEM_TYPE := ext4
+TARGET_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
TARGET_BOOTS_16K := true
diff --git a/aosp_tokay_16k.mk b/aosp_tokay_16k.mk
index 17791dc..d1da5ec 100644
--- a/aosp_tokay_16k.mk
+++ b/aosp_tokay_16k.mk
@@ -2,6 +2,5 @@
PRODUCT_NAME := aosp_tokay_16k
-TARGET_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4
-TARGET_RW_FILE_SYSTEM_TYPE := ext4
+TARGET_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
TARGET_BOOTS_16K := true
diff --git a/audio/caiman/aidl_config/audio_platform_configuration.xml b/audio/caiman/aidl_config/audio_platform_configuration.xml
index 3b7e970..3d89b97 100644
--- a/audio/caiman/aidl_config/audio_platform_configuration.xml
+++ b/audio/caiman/aidl_config/audio_platform_configuration.xml
@@ -68,7 +68,7 @@
<argument name="ThermistorsName" value="VIRTUAL-SKIN-SPEAKER" />
<argument name="Extensions" value="StereoSpatializerIndicator,SpeakerPowerLinkLaw" />
</tuner>
- <tuner type="telephony" name="fortemedia">
+ <tuner type="telephony" name="fmapmg3hybrid">
<argument name="VoIP_DLCHs" value="SPK:2,USB:2,BT:2" />
<argument name="VoIP_Rate" value="32000" />
<argument name="BOOST_USB_SWB_CLK" value="y" />
diff --git a/audio/caiman/aidl_config/mixer_paths_aidl.xml b/audio/caiman/aidl_config/mixer_paths_aidl.xml
index d7dc1bc..b2c458c 100644
--- a/audio/caiman/aidl_config/mixer_paths_aidl.xml
+++ b/audio/caiman/aidl_config/mixer_paths_aidl.xml
@@ -318,6 +318,7 @@
<ctl name="Incall Capture Stream0" value="Off" />
<ctl name="Incall Capture Stream1" value="Off" />
<ctl name="Incall Capture Stream2" value="Off" />
+ <ctl name="Incall Capture Stream3" value="Off" />
<!-- These two controls control the muting function of mics and sinks during the voice call. -->
<!-- They would be enabled by HAL. -->
@@ -423,6 +424,10 @@
<path name="primary-playback -> bt" />
</path>
+ <path name="primary-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="primary-playback -> bt" />
+ </path>
+
<path name="primary-playback-0 -> usb">
<ctl name="USB_RX Mixer EP2" value="1" />
</path>
@@ -495,6 +500,10 @@
<path name="raw-playback -> bt" />
</path>
+ <path name="raw-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="raw-playback -> bt" />
+ </path>
+
<path name="raw-playback-0 -> usb">
<ctl name="USB_RX Mixer RAW" value="1" />
</path>
@@ -567,6 +576,10 @@
<path name="deep-buffer-playback -> bt" />
</path>
+ <path name="deep-buffer-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="deep-buffer-playback -> bt" />
+ </path>
+
<path name="deep-buffer-playback-0 -> usb">
<ctl name="USB_RX Mixer EP6" value="1" />
</path>
@@ -644,6 +657,10 @@
<path name="compress-offload-playback -> bt" />
</path>
+ <path name="compress-offload-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="compress-offload-playback -> bt" />
+ </path>
+
<path name="compress-offload-playback-0 -> usb">
<ctl name="USB_RX Mixer EP7" value="1" />
</path>
@@ -716,6 +733,10 @@
<path name="mmap-playback -> bt" />
</path>
+ <path name="mmap-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="mmap-playback -> bt" />
+ </path>
+
<path name="mmap-playback-0 -> usb">
<ctl name="USB_RX Mixer EP1" value="1" />
</path>
@@ -800,6 +821,10 @@
<path name="voip-playback -> bt" />
</path>
+ <path name="voip-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="voip-playback -> bt" />
+ </path>
+
<path name="voip-playback-0 -> usb">
<ctl name="USB_RX Mixer VOIP" value="1" />
</path>
@@ -860,6 +885,10 @@
<path name="immersive-playback -> bt" />
</path>
+ <path name="immersive-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="immersive-playback -> bt" />
+ </path>
+
<path name="immersive-playback-0 -> usb">
<ctl name="USB_RX Mixer IMSV" value="1" />
</path>
@@ -924,6 +953,10 @@
<path name="spatializer-offload-playback -> bt" />
</path>
+ <path name="spatializer-offload-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="spatializer-offload-playback -> bt" />
+ </path>
+
<path name="spatializer-offload-playback-0 -> usb">
<ctl name="USB_RX Mixer EP4" value="1" />
</path>
@@ -994,6 +1027,10 @@
<path name="haptic-playback -> bt" />
</path>
+ <path name="haptic-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="haptic-playback -> bt" />
+ </path>
+
<path name="haptic-playback-0 -> usb">
<ctl name="USB_RX Mixer EP3" value="1" />
<ctl name="TDM_0_RX Mixer EP8" value="1" />
@@ -1068,6 +1105,39 @@
<ctl name="VOIP TX Mixer BT_TX" value="1" />
</path>
+ <path name="microphones -> voip-gsenet-capture-0">
+ <ctl name="Incall Capture Stream3" value="3MIC" />
+ <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" />
+ </path>
+
+ <path name="back-microphones -> voip-gsenet-capture-0">
+ <ctl name="Incall Capture Stream3" value="3MIC" />
+ <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" />
+ </path>
+
+ <path name="usb-microphones -> voip-gsenet-capture-0">
+ <ctl name="Incall Capture Stream3" value="3MIC" />
+ <ctl name="VOIP TX Mixer USB_TX" value="1" />
+ </path>
+
+ <path name="usb-headset-microphones -> voip-gsenet-capture-0">
+ <path name="usb-microphones -> voip-gsenet-capture-0" />
+ </path>
+
+ <path name="usb-device-microphones -> voip-gsenet-capture-0">
+ <path name="usb-microphones -> voip-gsenet-capture-0" />
+ </path>
+
+ <path name="bluetooth-sco-headset-microphones -> voip-gsenet-capture-0">
+ <ctl name="Incall Capture Stream3" value="3MIC" />
+ <ctl name="VOIP TX Mixer BT_TX" value="1" />
+ </path>
+
+ <path name="bluetooth-low-energy-headset-microphones -> voip-gsenet-capture-0">
+ <ctl name="Incall Capture Stream3" value="3MIC" />
+ <ctl name="VOIP TX Mixer BT_TX" value="1" />
+ </path>
+
<path name="microphones -> fast-capture-0">
<ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="1" />
</path>
@@ -1171,6 +1241,10 @@
<path name="voice-call-downlink-0 -> bt" />
</path>
+ <path name="voice-call-downlink-0 -> bluetooth-low-energy-broadcast">
+ <path name="voice-call-downlink-0 -> bt" />
+ </path>
+
<path name="voice-call-downlink-0 -> usb">
<ctl name="USB_RX Mixer EP5" value="1" />
</path>
diff --git a/audio/caiman/audio-tables.mk b/audio/caiman/audio-tables.mk
index 295be07..4080425 100644
--- a/audio/caiman/audio-tables.mk
+++ b/audio/caiman/audio-tables.mk
@@ -62,7 +62,25 @@
waves_preset.mps \
compens_spk_l.conf \
compens_spk_r.conf \
- default_mic_compensation.bin
+ default_mic_compensation.bin \
+ downlink_bluetooth_headset_config.pb \
+ downlink_dock_config.pb \
+ downlink_external_speaker_config.pb \
+ downlink_handset_config.pb \
+ downlink_speaker_config.pb \
+ downlink_wired_headset_config.pb \
+ uplink_bluetooth_headset_aec_off_config.pb \
+ uplink_bluetooth_headset_aec_on_config.pb \
+ uplink_dock_aec_off_config.pb \
+ uplink_dock_aec_on_config.pb \
+ uplink_external_speaker_aec_off_config.pb \
+ uplink_external_speaker_aec_on_config.pb \
+ uplink_handset_aec_off_config.pb \
+ uplink_handset_aec_on_config.pb \
+ uplink_speaker_aec_off_config.pb \
+ uplink_speaker_aec_on_config.pb \
+ uplink_wired_headset_aec_off_config.pb \
+ uplink_wired_headset_aec_on_config.pb
# userdebug and eng specific
PRODUCT_PACKAGES_DEBUG += \
diff --git a/audio/caiman/prebuilt/libspeechenhancer/Android.bp b/audio/caiman/prebuilt/libspeechenhancer/Android.bp
index 5b4b8ae..9d4a232 100644
--- a/audio/caiman/prebuilt/libspeechenhancer/Android.bp
+++ b/audio/caiman/prebuilt/libspeechenhancer/Android.bp
@@ -34,7 +34,9 @@
"libcutils",
"libEGL",
"libGLESv2",
+ "libbinder_ndk",
"liblog",
+ "libsync",
"libz",
"libnativewindow",
],
diff --git a/audio/caiman/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so b/audio/caiman/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
index b9f43a7..6bb4b10 100644
--- a/audio/caiman/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
+++ b/audio/caiman/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
Binary files differ
diff --git a/audio/caiman/tuning/Android.bp b/audio/caiman/tuning/Android.bp
index e81b4e9..6218306 100644
--- a/audio/caiman/tuning/Android.bp
+++ b/audio/caiman/tuning/Android.bp
@@ -35,16 +35,19 @@
src: "bluenote/recording.gatf",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "smartfeature.gstf",
src: "bluenote/smartfeature.gstf",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "template.xml",
src: "bluenote/template.xml",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "tuning_constraints_combination.xml",
src: "bluenote/tuning_constraints_combination.xml",
@@ -56,6 +59,7 @@
src: "compensation/compens_spk_l.conf",
soc_specific: true,
}
+
prebuilt_etc {
name: "compens_spk_r.conf",
src: "compensation/compens_spk_r.conf",
@@ -67,41 +71,49 @@
src: "fortemedia/BLUETOOTH.dat",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "BLUETOOTH.mods",
src: "fortemedia/BLUETOOTH.mods",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HANDSFREE.dat",
src: "fortemedia/HANDSFREE.dat",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HANDSFREE.mods",
src: "fortemedia/HANDSFREE.mods",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HANDSET.dat",
src: "fortemedia/HANDSET.dat",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HANDSET.mods",
src: "fortemedia/HANDSET.mods",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HEADSET.dat",
src: "fortemedia/HEADSET.dat",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HEADSET.mods",
src: "fortemedia/HEADSET.mods",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "mcps.dat",
src: "fortemedia/mcps.dat",
@@ -109,20 +121,131 @@
}
prebuilt_etc {
+ name: "downlink_bluetooth_headset_config.pb",
+ src: "apmg3/downlink_bluetooth_headset_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "downlink_dock_config.pb",
+ src: "apmg3/downlink_dock_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "downlink_external_speaker_config.pb",
+ src: "apmg3/downlink_external_speaker_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "downlink_handset_config.pb",
+ src: "apmg3/downlink_handset_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "downlink_speaker_config.pb",
+ src: "apmg3/downlink_speaker_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "downlink_wired_headset_config.pb",
+ src: "apmg3/downlink_wired_headset_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_bluetooth_headset_aec_off_config.pb",
+ src: "apmg3/uplink_bluetooth_headset_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_bluetooth_headset_aec_on_config.pb",
+ src: "apmg3/uplink_bluetooth_headset_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_dock_aec_off_config.pb",
+ src: "apmg3/uplink_dock_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_dock_aec_on_config.pb",
+ src: "apmg3/uplink_dock_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_external_speaker_aec_off_config.pb",
+ src: "apmg3/uplink_external_speaker_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_external_speaker_aec_on_config.pb",
+ src: "apmg3/uplink_external_speaker_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_handset_aec_off_config.pb",
+ src: "apmg3/uplink_handset_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_handset_aec_on_config.pb",
+ src: "apmg3/uplink_handset_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_speaker_aec_off_config.pb",
+ src: "apmg3/uplink_speaker_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_speaker_aec_on_config.pb",
+ src: "apmg3/uplink_speaker_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_wired_headset_aec_off_config.pb",
+ src: "apmg3/uplink_wired_headset_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_wired_headset_aec_on_config.pb",
+ src: "apmg3/uplink_wired_headset_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
name: "waves_config.ini",
src: "waves/waves_config.ini",
soc_specific: true,
}
+
prebuilt_etc {
name: "waves_preset.mps",
src: "waves/waves_preset.mps",
soc_specific: true,
}
+
prebuilt_etc {
name: "test_config.ini",
src: "waves/tests/test_config.ini",
soc_specific: true,
}
+
prebuilt_etc {
name: "test_preset.mps",
src: "waves/tests/test_preset.mps",
diff --git a/audio/caiman/tuning/apmg3/downlink_bluetooth_headset_config.pb b/audio/caiman/tuning/apmg3/downlink_bluetooth_headset_config.pb
new file mode 100644
index 0000000..4d26cce
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/downlink_bluetooth_headset_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/downlink_dock_config.pb b/audio/caiman/tuning/apmg3/downlink_dock_config.pb
new file mode 100644
index 0000000..854a48d
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/downlink_dock_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/downlink_external_speaker_config.pb b/audio/caiman/tuning/apmg3/downlink_external_speaker_config.pb
new file mode 100644
index 0000000..f501ab8
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/downlink_external_speaker_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/downlink_handset_config.pb b/audio/caiman/tuning/apmg3/downlink_handset_config.pb
new file mode 100644
index 0000000..59cfa12
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/downlink_handset_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/downlink_speaker_config.pb b/audio/caiman/tuning/apmg3/downlink_speaker_config.pb
new file mode 100644
index 0000000..bec8c9a
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/downlink_speaker_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/downlink_wired_headset_config.pb b/audio/caiman/tuning/apmg3/downlink_wired_headset_config.pb
new file mode 100644
index 0000000..0f98f65
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/downlink_wired_headset_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb b/audio/caiman/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb
new file mode 100644
index 0000000..a6dfdce
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb b/audio/caiman/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb
new file mode 100644
index 0000000..58ac211
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_dock_aec_off_config.pb b/audio/caiman/tuning/apmg3/uplink_dock_aec_off_config.pb
new file mode 100644
index 0000000..06e4ef5
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_dock_aec_off_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_dock_aec_on_config.pb b/audio/caiman/tuning/apmg3/uplink_dock_aec_on_config.pb
new file mode 100644
index 0000000..979a200
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_dock_aec_on_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_external_speaker_aec_off_config.pb b/audio/caiman/tuning/apmg3/uplink_external_speaker_aec_off_config.pb
new file mode 100644
index 0000000..7103879
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_external_speaker_aec_off_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_external_speaker_aec_on_config.pb b/audio/caiman/tuning/apmg3/uplink_external_speaker_aec_on_config.pb
new file mode 100644
index 0000000..d747bc2
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_external_speaker_aec_on_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_handset_aec_off_config.pb b/audio/caiman/tuning/apmg3/uplink_handset_aec_off_config.pb
new file mode 100644
index 0000000..9351945
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_handset_aec_off_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_handset_aec_on_config.pb b/audio/caiman/tuning/apmg3/uplink_handset_aec_on_config.pb
new file mode 100644
index 0000000..58dc380
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_handset_aec_on_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_speaker_aec_off_config.pb b/audio/caiman/tuning/apmg3/uplink_speaker_aec_off_config.pb
new file mode 100644
index 0000000..02348b9
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_speaker_aec_off_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_speaker_aec_on_config.pb b/audio/caiman/tuning/apmg3/uplink_speaker_aec_on_config.pb
new file mode 100644
index 0000000..e9bf30d
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_speaker_aec_on_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_wired_headset_aec_off_config.pb b/audio/caiman/tuning/apmg3/uplink_wired_headset_aec_off_config.pb
new file mode 100644
index 0000000..679aa66
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_wired_headset_aec_off_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/apmg3/uplink_wired_headset_aec_on_config.pb b/audio/caiman/tuning/apmg3/uplink_wired_headset_aec_on_config.pb
new file mode 100644
index 0000000..fec3962
--- /dev/null
+++ b/audio/caiman/tuning/apmg3/uplink_wired_headset_aec_on_config.pb
Binary files differ
diff --git a/audio/caiman/tuning/fortemedia/BLUETOOTH.dat b/audio/caiman/tuning/fortemedia/BLUETOOTH.dat
index 64ad94c..fb01541 100644
--- a/audio/caiman/tuning/fortemedia/BLUETOOTH.dat
+++ b/audio/caiman/tuning/fortemedia/BLUETOOTH.dat
Binary files differ
diff --git a/audio/caiman/tuning/fortemedia/BLUETOOTH.mods b/audio/caiman/tuning/fortemedia/BLUETOOTH.mods
index 68155e2..ff86e94 100644
--- a/audio/caiman/tuning/fortemedia/BLUETOOTH.mods
+++ b/audio/caiman/tuning/fortemedia/BLUETOOTH.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG BLUETOOTH
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-06-06 17:12:26
+#SAVE_TIME 2024-07-23 15:16:17
#CASE_NAME BLUETOOTH-BT_HAC-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -2708,7 +2708,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x003B //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0001 //TX_SAMPLINGFREQ_SIG
7 0x0001 //TX_SAMPLINGFREQ_PROC
@@ -3101,7 +3101,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x1FFF //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x4000 //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -5403,7 +5403,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -5796,7 +5796,7 @@
394 0x4000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -10793,7 +10793,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -11186,7 +11186,7 @@
394 0x4000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
diff --git a/audio/caiman/tuning/fortemedia/HANDSET.dat b/audio/caiman/tuning/fortemedia/HANDSET.dat
index f6eadd2..c77e3f1 100644
--- a/audio/caiman/tuning/fortemedia/HANDSET.dat
+++ b/audio/caiman/tuning/fortemedia/HANDSET.dat
Binary files differ
diff --git a/audio/caiman/tuning/fortemedia/HANDSET.mods b/audio/caiman/tuning/fortemedia/HANDSET.mods
index 5b51a9b..638d337 100644
--- a/audio/caiman/tuning/fortemedia/HANDSET.mods
+++ b/audio/caiman/tuning/fortemedia/HANDSET.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HANDSET
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-06-06 17:12:00
+#SAVE_TIME 2024-07-23 15:15:40
#CASE_NAME HANDSET-HANDSET-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -3228,10 +3228,10 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -3972,7 +3972,7 @@
121 0x199A //RX_TDDRC_HMNC_GAIN
122 0x0001 //RX_TDDRC_SMT_FLAG
123 0x0CCD //RX_TDDRC_SMT_W
-124 0x02B9 //RX_TDDRC_DRC_GAIN
+124 0x02FC //RX_TDDRC_DRC_GAIN
38 0x001C //RX_FDEQ_SUBNUM
39 0x5C54 //RX_FDEQ_GAIN_0
40 0x5454 //RX_FDEQ_GAIN_1
@@ -4071,7 +4071,7 @@
121 0x199A //RX_TDDRC_HMNC_GAIN
122 0x0001 //RX_TDDRC_SMT_FLAG
123 0x0CCD //RX_TDDRC_SMT_W
-124 0x029A //RX_TDDRC_DRC_GAIN
+124 0x02EB //RX_TDDRC_DRC_GAIN
38 0x001C //RX_FDEQ_SUBNUM
39 0x5C54 //RX_FDEQ_GAIN_0
40 0x5454 //RX_FDEQ_GAIN_1
@@ -4170,7 +4170,7 @@
121 0x199A //RX_TDDRC_HMNC_GAIN
122 0x0001 //RX_TDDRC_SMT_FLAG
123 0x0CCD //RX_TDDRC_SMT_W
-124 0x03FB //RX_TDDRC_DRC_GAIN
+124 0x0317 //RX_TDDRC_DRC_GAIN
38 0x001C //RX_FDEQ_SUBNUM
39 0x5C54 //RX_FDEQ_GAIN_0
40 0x4A54 //RX_FDEQ_GAIN_1
@@ -4269,7 +4269,7 @@
121 0x199A //RX_TDDRC_HMNC_GAIN
122 0x0001 //RX_TDDRC_SMT_FLAG
123 0x0CCD //RX_TDDRC_SMT_W
-124 0x026D //RX_TDDRC_DRC_GAIN
+124 0x02F4 //RX_TDDRC_DRC_GAIN
38 0x001C //RX_FDEQ_SUBNUM
39 0x5C54 //RX_FDEQ_GAIN_0
40 0x5454 //RX_FDEQ_GAIN_1
@@ -4368,7 +4368,7 @@
121 0x199A //RX_TDDRC_HMNC_GAIN
122 0x0001 //RX_TDDRC_SMT_FLAG
123 0x0CCD //RX_TDDRC_SMT_W
-124 0x025F //RX_TDDRC_DRC_GAIN
+124 0x02D2 //RX_TDDRC_DRC_GAIN
38 0x001C //RX_FDEQ_SUBNUM
39 0x5C54 //RX_FDEQ_GAIN_0
40 0x5454 //RX_FDEQ_GAIN_1
@@ -4467,7 +4467,7 @@
121 0x199A //RX_TDDRC_HMNC_GAIN
122 0x0001 //RX_TDDRC_SMT_FLAG
123 0x0CCD //RX_TDDRC_SMT_W
-124 0x023D //RX_TDDRC_DRC_GAIN
+124 0x0274 //RX_TDDRC_DRC_GAIN
38 0x001C //RX_FDEQ_SUBNUM
39 0x5C54 //RX_FDEQ_GAIN_0
40 0x5454 //RX_FDEQ_GAIN_1
@@ -5318,7 +5318,7 @@
278 0x199A //RX_TDDRC_HMNC_GAIN
279 0x0001 //RX_TDDRC_SMT_FLAG
280 0x0CCD //RX_TDDRC_SMT_W
-281 0x029A //RX_TDDRC_DRC_GAIN
+281 0x0274 //RX_TDDRC_DRC_GAIN
195 0x001C //RX_FDEQ_SUBNUM
196 0x5C54 //RX_FDEQ_GAIN_0
197 0x5454 //RX_FDEQ_GAIN_1
@@ -5923,10 +5923,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -14008,10 +14008,10 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -14752,7 +14752,7 @@
121 0x199A //RX_TDDRC_HMNC_GAIN
122 0x0001 //RX_TDDRC_SMT_FLAG
123 0x0CCD //RX_TDDRC_SMT_W
-124 0x02B9 //RX_TDDRC_DRC_GAIN
+124 0x02FC //RX_TDDRC_DRC_GAIN
38 0x001C //RX_FDEQ_SUBNUM
39 0x5C54 //RX_FDEQ_GAIN_0
40 0x5454 //RX_FDEQ_GAIN_1
@@ -14851,7 +14851,7 @@
121 0x199A //RX_TDDRC_HMNC_GAIN
122 0x0001 //RX_TDDRC_SMT_FLAG
123 0x0CCD //RX_TDDRC_SMT_W
-124 0x029A //RX_TDDRC_DRC_GAIN
+124 0x02EB //RX_TDDRC_DRC_GAIN
38 0x001C //RX_FDEQ_SUBNUM
39 0x5C54 //RX_FDEQ_GAIN_0
40 0x5454 //RX_FDEQ_GAIN_1
@@ -14950,7 +14950,7 @@
121 0x199A //RX_TDDRC_HMNC_GAIN
122 0x0001 //RX_TDDRC_SMT_FLAG
123 0x0CCD //RX_TDDRC_SMT_W
-124 0x03FB //RX_TDDRC_DRC_GAIN
+124 0x0317 //RX_TDDRC_DRC_GAIN
38 0x001C //RX_FDEQ_SUBNUM
39 0x5C54 //RX_FDEQ_GAIN_0
40 0x4A54 //RX_FDEQ_GAIN_1
@@ -15049,7 +15049,7 @@
121 0x199A //RX_TDDRC_HMNC_GAIN
122 0x0001 //RX_TDDRC_SMT_FLAG
123 0x0CCD //RX_TDDRC_SMT_W
-124 0x026D //RX_TDDRC_DRC_GAIN
+124 0x02F4 //RX_TDDRC_DRC_GAIN
38 0x001C //RX_FDEQ_SUBNUM
39 0x5C54 //RX_FDEQ_GAIN_0
40 0x5454 //RX_FDEQ_GAIN_1
@@ -15148,7 +15148,7 @@
121 0x199A //RX_TDDRC_HMNC_GAIN
122 0x0001 //RX_TDDRC_SMT_FLAG
123 0x0CCD //RX_TDDRC_SMT_W
-124 0x025F //RX_TDDRC_DRC_GAIN
+124 0x02D2 //RX_TDDRC_DRC_GAIN
38 0x001C //RX_FDEQ_SUBNUM
39 0x5C54 //RX_FDEQ_GAIN_0
40 0x5454 //RX_FDEQ_GAIN_1
@@ -15247,7 +15247,7 @@
121 0x199A //RX_TDDRC_HMNC_GAIN
122 0x0001 //RX_TDDRC_SMT_FLAG
123 0x0CCD //RX_TDDRC_SMT_W
-124 0x023D //RX_TDDRC_DRC_GAIN
+124 0x0274 //RX_TDDRC_DRC_GAIN
38 0x001C //RX_FDEQ_SUBNUM
39 0x5C54 //RX_FDEQ_GAIN_0
40 0x5454 //RX_FDEQ_GAIN_1
@@ -16098,7 +16098,7 @@
278 0x199A //RX_TDDRC_HMNC_GAIN
279 0x0001 //RX_TDDRC_SMT_FLAG
280 0x0CCD //RX_TDDRC_SMT_W
-281 0x029A //RX_TDDRC_DRC_GAIN
+281 0x0274 //RX_TDDRC_DRC_GAIN
195 0x001C //RX_FDEQ_SUBNUM
196 0x5C54 //RX_FDEQ_GAIN_0
197 0x5454 //RX_FDEQ_GAIN_1
@@ -16703,10 +16703,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -22093,10 +22093,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -27483,10 +27483,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -32873,10 +32873,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -38263,10 +38263,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -43653,10 +43653,10 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -46348,10 +46348,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -54433,10 +54433,10 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -57128,10 +57128,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -62518,10 +62518,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
diff --git a/audio/caiman/tuning/fortemedia/HANDSFREE.dat b/audio/caiman/tuning/fortemedia/HANDSFREE.dat
index 243ad08..32e7bc6 100644
--- a/audio/caiman/tuning/fortemedia/HANDSFREE.dat
+++ b/audio/caiman/tuning/fortemedia/HANDSFREE.dat
Binary files differ
diff --git a/audio/caiman/tuning/fortemedia/HANDSFREE.mods b/audio/caiman/tuning/fortemedia/HANDSFREE.mods
index 56ed021..b384981 100644
--- a/audio/caiman/tuning/fortemedia/HANDSFREE.mods
+++ b/audio/caiman/tuning/fortemedia/HANDSFREE.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HANDSFREE
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-06-06 17:11:36
+#SAVE_TIME 2024-07-23 15:15:11
#CASE_NAME HANDSFREE-HANDSFREE-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -2708,7 +2708,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x003B //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0001 //TX_SAMPLINGFREQ_SIG
7 0x0001 //TX_SAMPLINGFREQ_PROC
@@ -3101,7 +3101,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x1FFF //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x4000 //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -5403,7 +5403,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -5796,7 +5796,7 @@
394 0x4000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -10793,7 +10793,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F74 //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -11186,7 +11186,7 @@
394 0x4000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -16183,7 +16183,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -16576,7 +16576,7 @@
394 0x4000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -21573,7 +21573,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F54 //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -21966,7 +21966,7 @@
394 0x4000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -26963,7 +26963,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -27356,7 +27356,7 @@
394 0x4000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -28128,7 +28128,7 @@
121 0x199A //RX_TDDRC_HMNC_GAIN
122 0x0001 //RX_TDDRC_SMT_FLAG
123 0x0CCD //RX_TDDRC_SMT_W
-124 0x0024 //RX_TDDRC_DRC_GAIN
+124 0x0020 //RX_TDDRC_DRC_GAIN
38 0x0020 //RX_FDEQ_SUBNUM
39 0x4848 //RX_FDEQ_GAIN_0
40 0x4848 //RX_FDEQ_GAIN_1
@@ -28227,7 +28227,7 @@
121 0x199A //RX_TDDRC_HMNC_GAIN
122 0x0001 //RX_TDDRC_SMT_FLAG
123 0x0CCD //RX_TDDRC_SMT_W
-124 0x0040 //RX_TDDRC_DRC_GAIN
+124 0x0039 //RX_TDDRC_DRC_GAIN
38 0x0020 //RX_FDEQ_SUBNUM
39 0x4848 //RX_FDEQ_GAIN_0
40 0x4848 //RX_FDEQ_GAIN_1
@@ -28326,7 +28326,7 @@
121 0x199A //RX_TDDRC_HMNC_GAIN
122 0x0001 //RX_TDDRC_SMT_FLAG
123 0x0CCD //RX_TDDRC_SMT_W
-124 0x0072 //RX_TDDRC_DRC_GAIN
+124 0x0066 //RX_TDDRC_DRC_GAIN
38 0x0020 //RX_FDEQ_SUBNUM
39 0x4848 //RX_FDEQ_GAIN_0
40 0x4848 //RX_FDEQ_GAIN_1
@@ -28979,7 +28979,7 @@
278 0x199A //RX_TDDRC_HMNC_GAIN
279 0x0001 //RX_TDDRC_SMT_FLAG
280 0x0CCD //RX_TDDRC_SMT_W
-281 0x0024 //RX_TDDRC_DRC_GAIN
+281 0x0020 //RX_TDDRC_DRC_GAIN
195 0x0020 //RX_FDEQ_SUBNUM
196 0x4848 //RX_FDEQ_GAIN_0
197 0x4848 //RX_FDEQ_GAIN_1
@@ -29078,7 +29078,7 @@
278 0x199A //RX_TDDRC_HMNC_GAIN
279 0x0001 //RX_TDDRC_SMT_FLAG
280 0x0CCD //RX_TDDRC_SMT_W
-281 0x0040 //RX_TDDRC_DRC_GAIN
+281 0x0039 //RX_TDDRC_DRC_GAIN
195 0x0020 //RX_FDEQ_SUBNUM
196 0x4848 //RX_FDEQ_GAIN_0
197 0x4848 //RX_FDEQ_GAIN_1
@@ -29177,7 +29177,7 @@
278 0x199A //RX_TDDRC_HMNC_GAIN
279 0x0001 //RX_TDDRC_SMT_FLAG
280 0x0CCD //RX_TDDRC_SMT_W
-281 0x0072 //RX_TDDRC_DRC_GAIN
+281 0x0066 //RX_TDDRC_DRC_GAIN
195 0x0020 //RX_FDEQ_SUBNUM
196 0x4848 //RX_FDEQ_GAIN_0
197 0x4848 //RX_FDEQ_GAIN_1
diff --git a/audio/caiman/tuning/fortemedia/HEADSET.dat b/audio/caiman/tuning/fortemedia/HEADSET.dat
index b0d4f7f..362cabb 100644
--- a/audio/caiman/tuning/fortemedia/HEADSET.dat
+++ b/audio/caiman/tuning/fortemedia/HEADSET.dat
Binary files differ
diff --git a/audio/caiman/tuning/fortemedia/HEADSET.mods b/audio/caiman/tuning/fortemedia/HEADSET.mods
index 5ddd6ed..62b2d69 100644
--- a/audio/caiman/tuning/fortemedia/HEADSET.mods
+++ b/audio/caiman/tuning/fortemedia/HEADSET.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HEADSET
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-06-06 17:11:05
+#SAVE_TIME 2024-07-23 15:14:44
#CASE_NAME HEADSET-USB_BLACKBIRD-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -29658,7 +29658,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x003B //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0001 //TX_SAMPLINGFREQ_SIG
7 0x0001 //TX_SAMPLINGFREQ_PROC
@@ -30051,7 +30051,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x1FFF //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x4000 //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -32353,7 +32353,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -32746,7 +32746,7 @@
394 0x4000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -37743,7 +37743,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -38136,7 +38136,7 @@
394 0x4000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -70083,7 +70083,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x003B //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0001 //TX_SAMPLINGFREQ_SIG
7 0x0001 //TX_SAMPLINGFREQ_PROC
@@ -70476,7 +70476,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x1FFF //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x4000 //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -72778,7 +72778,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -73171,7 +73171,7 @@
394 0x4000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -78168,7 +78168,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -78561,7 +78561,7 @@
394 0x4000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
diff --git a/audio/caiman/tuning/spatializer/base b/audio/caiman/tuning/spatializer/base
index 38cc646..42b4329 100644
--- a/audio/caiman/tuning/spatializer/base
+++ b/audio/caiman/tuning/spatializer/base
Binary files differ
diff --git a/audio/caiman/tuning/spatializer/mode_2_ch b/audio/caiman/tuning/spatializer/mode_2_ch
index 470c56c..2610b2d 100644
--- a/audio/caiman/tuning/spatializer/mode_2_ch
+++ b/audio/caiman/tuning/spatializer/mode_2_ch
Binary files differ
diff --git a/audio/caiman/tuning/spatializer/mode_6_ch b/audio/caiman/tuning/spatializer/mode_6_ch
index 94ec635..0f432fa 100644
--- a/audio/caiman/tuning/spatializer/mode_6_ch
+++ b/audio/caiman/tuning/spatializer/mode_6_ch
Binary files differ
diff --git a/audio/caiman/tuning/spatializer/mode_xaural b/audio/caiman/tuning/spatializer/mode_xaural
index b3a3a96..619e215 100644
--- a/audio/caiman/tuning/spatializer/mode_xaural
+++ b/audio/caiman/tuning/spatializer/mode_xaural
Binary files differ
diff --git a/audio/komodo/aidl_config/audio_platform_configuration.xml b/audio/komodo/aidl_config/audio_platform_configuration.xml
index 3b7e970..3d89b97 100644
--- a/audio/komodo/aidl_config/audio_platform_configuration.xml
+++ b/audio/komodo/aidl_config/audio_platform_configuration.xml
@@ -68,7 +68,7 @@
<argument name="ThermistorsName" value="VIRTUAL-SKIN-SPEAKER" />
<argument name="Extensions" value="StereoSpatializerIndicator,SpeakerPowerLinkLaw" />
</tuner>
- <tuner type="telephony" name="fortemedia">
+ <tuner type="telephony" name="fmapmg3hybrid">
<argument name="VoIP_DLCHs" value="SPK:2,USB:2,BT:2" />
<argument name="VoIP_Rate" value="32000" />
<argument name="BOOST_USB_SWB_CLK" value="y" />
diff --git a/audio/komodo/aidl_config/mixer_paths_aidl.xml b/audio/komodo/aidl_config/mixer_paths_aidl.xml
index d7dc1bc..b2c458c 100644
--- a/audio/komodo/aidl_config/mixer_paths_aidl.xml
+++ b/audio/komodo/aidl_config/mixer_paths_aidl.xml
@@ -318,6 +318,7 @@
<ctl name="Incall Capture Stream0" value="Off" />
<ctl name="Incall Capture Stream1" value="Off" />
<ctl name="Incall Capture Stream2" value="Off" />
+ <ctl name="Incall Capture Stream3" value="Off" />
<!-- These two controls control the muting function of mics and sinks during the voice call. -->
<!-- They would be enabled by HAL. -->
@@ -423,6 +424,10 @@
<path name="primary-playback -> bt" />
</path>
+ <path name="primary-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="primary-playback -> bt" />
+ </path>
+
<path name="primary-playback-0 -> usb">
<ctl name="USB_RX Mixer EP2" value="1" />
</path>
@@ -495,6 +500,10 @@
<path name="raw-playback -> bt" />
</path>
+ <path name="raw-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="raw-playback -> bt" />
+ </path>
+
<path name="raw-playback-0 -> usb">
<ctl name="USB_RX Mixer RAW" value="1" />
</path>
@@ -567,6 +576,10 @@
<path name="deep-buffer-playback -> bt" />
</path>
+ <path name="deep-buffer-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="deep-buffer-playback -> bt" />
+ </path>
+
<path name="deep-buffer-playback-0 -> usb">
<ctl name="USB_RX Mixer EP6" value="1" />
</path>
@@ -644,6 +657,10 @@
<path name="compress-offload-playback -> bt" />
</path>
+ <path name="compress-offload-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="compress-offload-playback -> bt" />
+ </path>
+
<path name="compress-offload-playback-0 -> usb">
<ctl name="USB_RX Mixer EP7" value="1" />
</path>
@@ -716,6 +733,10 @@
<path name="mmap-playback -> bt" />
</path>
+ <path name="mmap-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="mmap-playback -> bt" />
+ </path>
+
<path name="mmap-playback-0 -> usb">
<ctl name="USB_RX Mixer EP1" value="1" />
</path>
@@ -800,6 +821,10 @@
<path name="voip-playback -> bt" />
</path>
+ <path name="voip-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="voip-playback -> bt" />
+ </path>
+
<path name="voip-playback-0 -> usb">
<ctl name="USB_RX Mixer VOIP" value="1" />
</path>
@@ -860,6 +885,10 @@
<path name="immersive-playback -> bt" />
</path>
+ <path name="immersive-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="immersive-playback -> bt" />
+ </path>
+
<path name="immersive-playback-0 -> usb">
<ctl name="USB_RX Mixer IMSV" value="1" />
</path>
@@ -924,6 +953,10 @@
<path name="spatializer-offload-playback -> bt" />
</path>
+ <path name="spatializer-offload-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="spatializer-offload-playback -> bt" />
+ </path>
+
<path name="spatializer-offload-playback-0 -> usb">
<ctl name="USB_RX Mixer EP4" value="1" />
</path>
@@ -994,6 +1027,10 @@
<path name="haptic-playback -> bt" />
</path>
+ <path name="haptic-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="haptic-playback -> bt" />
+ </path>
+
<path name="haptic-playback-0 -> usb">
<ctl name="USB_RX Mixer EP3" value="1" />
<ctl name="TDM_0_RX Mixer EP8" value="1" />
@@ -1068,6 +1105,39 @@
<ctl name="VOIP TX Mixer BT_TX" value="1" />
</path>
+ <path name="microphones -> voip-gsenet-capture-0">
+ <ctl name="Incall Capture Stream3" value="3MIC" />
+ <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" />
+ </path>
+
+ <path name="back-microphones -> voip-gsenet-capture-0">
+ <ctl name="Incall Capture Stream3" value="3MIC" />
+ <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" />
+ </path>
+
+ <path name="usb-microphones -> voip-gsenet-capture-0">
+ <ctl name="Incall Capture Stream3" value="3MIC" />
+ <ctl name="VOIP TX Mixer USB_TX" value="1" />
+ </path>
+
+ <path name="usb-headset-microphones -> voip-gsenet-capture-0">
+ <path name="usb-microphones -> voip-gsenet-capture-0" />
+ </path>
+
+ <path name="usb-device-microphones -> voip-gsenet-capture-0">
+ <path name="usb-microphones -> voip-gsenet-capture-0" />
+ </path>
+
+ <path name="bluetooth-sco-headset-microphones -> voip-gsenet-capture-0">
+ <ctl name="Incall Capture Stream3" value="3MIC" />
+ <ctl name="VOIP TX Mixer BT_TX" value="1" />
+ </path>
+
+ <path name="bluetooth-low-energy-headset-microphones -> voip-gsenet-capture-0">
+ <ctl name="Incall Capture Stream3" value="3MIC" />
+ <ctl name="VOIP TX Mixer BT_TX" value="1" />
+ </path>
+
<path name="microphones -> fast-capture-0">
<ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="1" />
</path>
@@ -1171,6 +1241,10 @@
<path name="voice-call-downlink-0 -> bt" />
</path>
+ <path name="voice-call-downlink-0 -> bluetooth-low-energy-broadcast">
+ <path name="voice-call-downlink-0 -> bt" />
+ </path>
+
<path name="voice-call-downlink-0 -> usb">
<ctl name="USB_RX Mixer EP5" value="1" />
</path>
diff --git a/audio/komodo/audio-tables.mk b/audio/komodo/audio-tables.mk
index 1fd720f..a724bb5 100644
--- a/audio/komodo/audio-tables.mk
+++ b/audio/komodo/audio-tables.mk
@@ -62,7 +62,25 @@
waves_preset.mps \
compens_spk_l.conf \
compens_spk_r.conf \
- default_mic_compensation.bin
+ default_mic_compensation.bin \
+ downlink_bluetooth_headset_config.pb \
+ downlink_dock_config.pb \
+ downlink_external_speaker_config.pb \
+ downlink_handset_config.pb \
+ downlink_speaker_config.pb \
+ downlink_wired_headset_config.pb \
+ uplink_bluetooth_headset_aec_off_config.pb \
+ uplink_bluetooth_headset_aec_on_config.pb \
+ uplink_dock_aec_off_config.pb \
+ uplink_dock_aec_on_config.pb \
+ uplink_external_speaker_aec_off_config.pb \
+ uplink_external_speaker_aec_on_config.pb \
+ uplink_handset_aec_off_config.pb \
+ uplink_handset_aec_on_config.pb \
+ uplink_speaker_aec_off_config.pb \
+ uplink_speaker_aec_on_config.pb \
+ uplink_wired_headset_aec_off_config.pb \
+ uplink_wired_headset_aec_on_config.pb
# userdebug and eng specific
PRODUCT_PACKAGES_DEBUG += \
diff --git a/audio/komodo/prebuilt/libspeechenhancer/Android.bp b/audio/komodo/prebuilt/libspeechenhancer/Android.bp
index 5b4b8ae..9d4a232 100644
--- a/audio/komodo/prebuilt/libspeechenhancer/Android.bp
+++ b/audio/komodo/prebuilt/libspeechenhancer/Android.bp
@@ -34,7 +34,9 @@
"libcutils",
"libEGL",
"libGLESv2",
+ "libbinder_ndk",
"liblog",
+ "libsync",
"libz",
"libnativewindow",
],
diff --git a/audio/komodo/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so b/audio/komodo/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
index b9f43a7..6bb4b10 100644
--- a/audio/komodo/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
+++ b/audio/komodo/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
Binary files differ
diff --git a/audio/komodo/tuning/Android.bp b/audio/komodo/tuning/Android.bp
index e81b4e9..6218306 100644
--- a/audio/komodo/tuning/Android.bp
+++ b/audio/komodo/tuning/Android.bp
@@ -35,16 +35,19 @@
src: "bluenote/recording.gatf",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "smartfeature.gstf",
src: "bluenote/smartfeature.gstf",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "template.xml",
src: "bluenote/template.xml",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "tuning_constraints_combination.xml",
src: "bluenote/tuning_constraints_combination.xml",
@@ -56,6 +59,7 @@
src: "compensation/compens_spk_l.conf",
soc_specific: true,
}
+
prebuilt_etc {
name: "compens_spk_r.conf",
src: "compensation/compens_spk_r.conf",
@@ -67,41 +71,49 @@
src: "fortemedia/BLUETOOTH.dat",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "BLUETOOTH.mods",
src: "fortemedia/BLUETOOTH.mods",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HANDSFREE.dat",
src: "fortemedia/HANDSFREE.dat",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HANDSFREE.mods",
src: "fortemedia/HANDSFREE.mods",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HANDSET.dat",
src: "fortemedia/HANDSET.dat",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HANDSET.mods",
src: "fortemedia/HANDSET.mods",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HEADSET.dat",
src: "fortemedia/HEADSET.dat",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HEADSET.mods",
src: "fortemedia/HEADSET.mods",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "mcps.dat",
src: "fortemedia/mcps.dat",
@@ -109,20 +121,131 @@
}
prebuilt_etc {
+ name: "downlink_bluetooth_headset_config.pb",
+ src: "apmg3/downlink_bluetooth_headset_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "downlink_dock_config.pb",
+ src: "apmg3/downlink_dock_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "downlink_external_speaker_config.pb",
+ src: "apmg3/downlink_external_speaker_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "downlink_handset_config.pb",
+ src: "apmg3/downlink_handset_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "downlink_speaker_config.pb",
+ src: "apmg3/downlink_speaker_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "downlink_wired_headset_config.pb",
+ src: "apmg3/downlink_wired_headset_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_bluetooth_headset_aec_off_config.pb",
+ src: "apmg3/uplink_bluetooth_headset_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_bluetooth_headset_aec_on_config.pb",
+ src: "apmg3/uplink_bluetooth_headset_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_dock_aec_off_config.pb",
+ src: "apmg3/uplink_dock_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_dock_aec_on_config.pb",
+ src: "apmg3/uplink_dock_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_external_speaker_aec_off_config.pb",
+ src: "apmg3/uplink_external_speaker_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_external_speaker_aec_on_config.pb",
+ src: "apmg3/uplink_external_speaker_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_handset_aec_off_config.pb",
+ src: "apmg3/uplink_handset_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_handset_aec_on_config.pb",
+ src: "apmg3/uplink_handset_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_speaker_aec_off_config.pb",
+ src: "apmg3/uplink_speaker_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_speaker_aec_on_config.pb",
+ src: "apmg3/uplink_speaker_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_wired_headset_aec_off_config.pb",
+ src: "apmg3/uplink_wired_headset_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_wired_headset_aec_on_config.pb",
+ src: "apmg3/uplink_wired_headset_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
name: "waves_config.ini",
src: "waves/waves_config.ini",
soc_specific: true,
}
+
prebuilt_etc {
name: "waves_preset.mps",
src: "waves/waves_preset.mps",
soc_specific: true,
}
+
prebuilt_etc {
name: "test_config.ini",
src: "waves/tests/test_config.ini",
soc_specific: true,
}
+
prebuilt_etc {
name: "test_preset.mps",
src: "waves/tests/test_preset.mps",
diff --git a/audio/komodo/tuning/apmg3/downlink_bluetooth_headset_config.pb b/audio/komodo/tuning/apmg3/downlink_bluetooth_headset_config.pb
new file mode 100644
index 0000000..4d26cce
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/downlink_bluetooth_headset_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/downlink_dock_config.pb b/audio/komodo/tuning/apmg3/downlink_dock_config.pb
new file mode 100644
index 0000000..854a48d
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/downlink_dock_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/downlink_external_speaker_config.pb b/audio/komodo/tuning/apmg3/downlink_external_speaker_config.pb
new file mode 100644
index 0000000..f501ab8
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/downlink_external_speaker_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/downlink_handset_config.pb b/audio/komodo/tuning/apmg3/downlink_handset_config.pb
new file mode 100644
index 0000000..ecdef83
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/downlink_handset_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/downlink_speaker_config.pb b/audio/komodo/tuning/apmg3/downlink_speaker_config.pb
new file mode 100644
index 0000000..71c7f08
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/downlink_speaker_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/downlink_wired_headset_config.pb b/audio/komodo/tuning/apmg3/downlink_wired_headset_config.pb
new file mode 100644
index 0000000..0f98f65
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/downlink_wired_headset_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb b/audio/komodo/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb
new file mode 100644
index 0000000..a6dfdce
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb b/audio/komodo/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb
new file mode 100644
index 0000000..58ac211
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_dock_aec_off_config.pb b/audio/komodo/tuning/apmg3/uplink_dock_aec_off_config.pb
new file mode 100644
index 0000000..06e4ef5
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_dock_aec_off_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_dock_aec_on_config.pb b/audio/komodo/tuning/apmg3/uplink_dock_aec_on_config.pb
new file mode 100644
index 0000000..979a200
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_dock_aec_on_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_external_speaker_aec_off_config.pb b/audio/komodo/tuning/apmg3/uplink_external_speaker_aec_off_config.pb
new file mode 100644
index 0000000..7103879
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_external_speaker_aec_off_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_external_speaker_aec_on_config.pb b/audio/komodo/tuning/apmg3/uplink_external_speaker_aec_on_config.pb
new file mode 100644
index 0000000..d747bc2
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_external_speaker_aec_on_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_handset_aec_off_config.pb b/audio/komodo/tuning/apmg3/uplink_handset_aec_off_config.pb
new file mode 100644
index 0000000..9351945
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_handset_aec_off_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_handset_aec_on_config.pb b/audio/komodo/tuning/apmg3/uplink_handset_aec_on_config.pb
new file mode 100644
index 0000000..58dc380
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_handset_aec_on_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_speaker_aec_off_config.pb b/audio/komodo/tuning/apmg3/uplink_speaker_aec_off_config.pb
new file mode 100644
index 0000000..02348b9
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_speaker_aec_off_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_speaker_aec_on_config.pb b/audio/komodo/tuning/apmg3/uplink_speaker_aec_on_config.pb
new file mode 100644
index 0000000..95c6659
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_speaker_aec_on_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_wired_headset_aec_off_config.pb b/audio/komodo/tuning/apmg3/uplink_wired_headset_aec_off_config.pb
new file mode 100644
index 0000000..679aa66
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_wired_headset_aec_off_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/apmg3/uplink_wired_headset_aec_on_config.pb b/audio/komodo/tuning/apmg3/uplink_wired_headset_aec_on_config.pb
new file mode 100644
index 0000000..fec3962
--- /dev/null
+++ b/audio/komodo/tuning/apmg3/uplink_wired_headset_aec_on_config.pb
Binary files differ
diff --git a/audio/komodo/tuning/fortemedia/BLUETOOTH.dat b/audio/komodo/tuning/fortemedia/BLUETOOTH.dat
index a36f753..babe0c3 100644
--- a/audio/komodo/tuning/fortemedia/BLUETOOTH.dat
+++ b/audio/komodo/tuning/fortemedia/BLUETOOTH.dat
Binary files differ
diff --git a/audio/komodo/tuning/fortemedia/BLUETOOTH.mods b/audio/komodo/tuning/fortemedia/BLUETOOTH.mods
index 1366e7d..06578dd 100644
--- a/audio/komodo/tuning/fortemedia/BLUETOOTH.mods
+++ b/audio/komodo/tuning/fortemedia/BLUETOOTH.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG BLUETOOTH
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-06-06 17:28:27
+#SAVE_TIME 2024-07-19 14:39:26
#CASE_NAME BLUETOOTH-BT_HAC-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -2708,7 +2708,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x003B //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0001 //TX_SAMPLINGFREQ_SIG
7 0x0001 //TX_SAMPLINGFREQ_PROC
@@ -3101,7 +3101,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x4000 //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -5403,7 +5403,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -5564,9 +5564,9 @@
162 0x7800 //TX_MIN_EQ_RE_EST_10
163 0x7800 //TX_MIN_EQ_RE_EST_11
164 0x7800 //TX_MIN_EQ_RE_EST_12
-165 0x1000 //TX_LAMBDA_RE_EST
+165 0x8000 //TX_LAMBDA_RE_EST
166 0x3000 //TX_LAMBDA_CB_NLE
-167 0x0000 //TX_C_POST_FLT
+167 0x4000 //TX_C_POST_FLT
168 0x4000 //TX_GAIN_NP
169 0x0270 //TX_SE_HOLD_N
170 0x00C8 //TX_DT_HOLD_N
@@ -5625,15 +5625,15 @@
223 0x0001 //TX_RATIO_DT_L_TH_LOW
224 0x3A98 //TX_RATIO_DT_H_TH_LOW
225 0x3E80 //TX_RATIO_DT_L_TH_HIGH
-226 0x6590 //TX_RATIO_DT_H_TH_HIGH
+226 0x4E20 //TX_RATIO_DT_H_TH_HIGH
227 0x0001 //TX_RATIO_DT_L0_TH
-228 0x7FFF //TX_B_POST_FILT_ECHO_L
+228 0x2000 //TX_B_POST_FILT_ECHO_L
229 0x7FFF //TX_B_POST_FILT_ECHO_H
230 0x0200 //TX_MIN_G_CTRL_ECHO
231 0x1000 //TX_B_LESSCUT_RTO_ECHO
232 0x0000 //TX_EPD_OFFSET_00
233 0x0000 //TX_EPD_OFFST_01
-234 0x0FA0 //TX_RATIO_DT_L0_TH_HIGH
+234 0x2328 //TX_RATIO_DT_L0_TH_HIGH
235 0x7FFF //TX_RATIO_DT_H_TH_CUT
236 0x7FFF //TX_MIN_EQ_RE_EST_13
237 0x0000 //TX_DTD_THR1_7
@@ -5691,7 +5691,7 @@
289 0x0020 //TX_MIN_GAIN_S_0
290 0x0004 //TX_MIN_GAIN_S_1
291 0x0016 //TX_MIN_GAIN_S_2
-292 0x0020 //TX_MIN_GAIN_S_3
+292 0x0010 //TX_MIN_GAIN_S_3
293 0x0020 //TX_MIN_GAIN_S_4
294 0x0020 //TX_MIN_GAIN_S_5
295 0x0020 //TX_MIN_GAIN_S_6
@@ -5796,7 +5796,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -6348,7 +6348,7 @@
946 0x000A //TX_MUTE_REF_POW_TH
947 0x0014 //TX_MIC0_MUTE_INITECHO_CUT_LEN
948 0x0014 //TX_MIC1_MUTE_INITECHO_CUT_LEN
-949 0x4000 //TX_PRE_MASK_SUP
+949 0x6000 //TX_PRE_MASK_SUP
950 0x00C0 //TX_SDPCRN_GAIN
951 0x7333 //TX_EASSA_CUT_GAINTH
952 0x0002 //TX_DT_HARME_ENDF
@@ -6378,10 +6378,10 @@
976 0x00A0 //TX_EASSA_AEC_FEMALE_ECHO_TH
977 0x0032 //TX_EASSA_NONLECHO_TH
978 0x4E20 //TX_EASSA_NONLECHO_ECHOENTH
-979 0x0000 //TX_EASSA_NNG
-980 0x0800 //TX_EASSA_NONLHFG
+979 0x0400 //TX_EASSA_NNG
+980 0x2000 //TX_EASSA_NONLHFG
981 0x1000 //TX_EASSA_DT2000HZ_REFG
-982 0x0C00 //TX_EASSA_DT400HZ_MAING
+982 0x0200 //TX_EASSA_DT400HZ_MAING
983 0x3A98 //TX_EASSA_RATIODTH_THCUT_NSSA
984 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0
985 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1
@@ -10793,7 +10793,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -10954,9 +10954,9 @@
162 0x7800 //TX_MIN_EQ_RE_EST_10
163 0x7800 //TX_MIN_EQ_RE_EST_11
164 0x7800 //TX_MIN_EQ_RE_EST_12
-165 0x1000 //TX_LAMBDA_RE_EST
+165 0x8000 //TX_LAMBDA_RE_EST
166 0x3000 //TX_LAMBDA_CB_NLE
-167 0x0000 //TX_C_POST_FLT
+167 0x4000 //TX_C_POST_FLT
168 0x4000 //TX_GAIN_NP
169 0x0270 //TX_SE_HOLD_N
170 0x00C8 //TX_DT_HOLD_N
@@ -11015,15 +11015,15 @@
223 0x0001 //TX_RATIO_DT_L_TH_LOW
224 0x3A98 //TX_RATIO_DT_H_TH_LOW
225 0x3E80 //TX_RATIO_DT_L_TH_HIGH
-226 0x6590 //TX_RATIO_DT_H_TH_HIGH
+226 0x4E20 //TX_RATIO_DT_H_TH_HIGH
227 0x0001 //TX_RATIO_DT_L0_TH
-228 0x7FFF //TX_B_POST_FILT_ECHO_L
+228 0x2000 //TX_B_POST_FILT_ECHO_L
229 0x7FFF //TX_B_POST_FILT_ECHO_H
230 0x0200 //TX_MIN_G_CTRL_ECHO
231 0x1000 //TX_B_LESSCUT_RTO_ECHO
232 0x0000 //TX_EPD_OFFSET_00
233 0x0000 //TX_EPD_OFFST_01
-234 0x0FA0 //TX_RATIO_DT_L0_TH_HIGH
+234 0x2328 //TX_RATIO_DT_L0_TH_HIGH
235 0x7FFF //TX_RATIO_DT_H_TH_CUT
236 0x7FFF //TX_MIN_EQ_RE_EST_13
237 0x0000 //TX_DTD_THR1_7
@@ -11081,7 +11081,7 @@
289 0x0020 //TX_MIN_GAIN_S_0
290 0x0004 //TX_MIN_GAIN_S_1
291 0x0016 //TX_MIN_GAIN_S_2
-292 0x0020 //TX_MIN_GAIN_S_3
+292 0x0010 //TX_MIN_GAIN_S_3
293 0x0020 //TX_MIN_GAIN_S_4
294 0x0020 //TX_MIN_GAIN_S_5
295 0x0020 //TX_MIN_GAIN_S_6
@@ -11186,7 +11186,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -11738,7 +11738,7 @@
946 0x000A //TX_MUTE_REF_POW_TH
947 0x0014 //TX_MIC0_MUTE_INITECHO_CUT_LEN
948 0x0014 //TX_MIC1_MUTE_INITECHO_CUT_LEN
-949 0x4000 //TX_PRE_MASK_SUP
+949 0x6000 //TX_PRE_MASK_SUP
950 0x00C0 //TX_SDPCRN_GAIN
951 0x7333 //TX_EASSA_CUT_GAINTH
952 0x0002 //TX_DT_HARME_ENDF
@@ -11768,10 +11768,10 @@
976 0x00A0 //TX_EASSA_AEC_FEMALE_ECHO_TH
977 0x0032 //TX_EASSA_NONLECHO_TH
978 0x4E20 //TX_EASSA_NONLECHO_ECHOENTH
-979 0x0000 //TX_EASSA_NNG
-980 0x0800 //TX_EASSA_NONLHFG
+979 0x0400 //TX_EASSA_NNG
+980 0x2000 //TX_EASSA_NONLHFG
981 0x1000 //TX_EASSA_DT2000HZ_REFG
-982 0x0C00 //TX_EASSA_DT400HZ_MAING
+982 0x0200 //TX_EASSA_DT400HZ_MAING
983 0x3A98 //TX_EASSA_RATIODTH_THCUT_NSSA
984 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0
985 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1
diff --git a/audio/komodo/tuning/fortemedia/HANDSET.dat b/audio/komodo/tuning/fortemedia/HANDSET.dat
index 58fd5a9..fff39a9 100644
--- a/audio/komodo/tuning/fortemedia/HANDSET.dat
+++ b/audio/komodo/tuning/fortemedia/HANDSET.dat
Binary files differ
diff --git a/audio/komodo/tuning/fortemedia/HANDSET.mods b/audio/komodo/tuning/fortemedia/HANDSET.mods
index 7547ee7..3fdb716 100644
--- a/audio/komodo/tuning/fortemedia/HANDSET.mods
+++ b/audio/komodo/tuning/fortemedia/HANDSET.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HANDSET
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-06-06 17:28:25
+#SAVE_TIME 2024-07-19 14:39:24
#CASE_NAME HANDSET-HANDSET-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -3228,10 +3228,10 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -5923,10 +5923,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -14008,10 +14008,10 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -16703,10 +16703,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -22093,10 +22093,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -27483,10 +27483,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -32873,10 +32873,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -38263,10 +38263,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -43653,10 +43653,10 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -46348,10 +46348,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -54433,10 +54433,10 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -57128,10 +57128,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -62518,10 +62518,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
diff --git a/audio/komodo/tuning/fortemedia/HANDSFREE.dat b/audio/komodo/tuning/fortemedia/HANDSFREE.dat
index 46917dc..50b7b0c 100644
--- a/audio/komodo/tuning/fortemedia/HANDSFREE.dat
+++ b/audio/komodo/tuning/fortemedia/HANDSFREE.dat
Binary files differ
diff --git a/audio/komodo/tuning/fortemedia/HANDSFREE.mods b/audio/komodo/tuning/fortemedia/HANDSFREE.mods
index 29b9b27..26029c9 100644
--- a/audio/komodo/tuning/fortemedia/HANDSFREE.mods
+++ b/audio/komodo/tuning/fortemedia/HANDSFREE.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HANDSFREE
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-06-06 17:28:24
+#SAVE_TIME 2024-07-19 14:44:35
#CASE_NAME HANDSFREE-HANDSFREE-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -2708,7 +2708,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x003B //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0001 //TX_SAMPLINGFREQ_SIG
7 0x0001 //TX_SAMPLINGFREQ_PROC
@@ -3101,7 +3101,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x4000 //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -5403,7 +5403,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -5564,9 +5564,9 @@
162 0x7800 //TX_MIN_EQ_RE_EST_10
163 0x7800 //TX_MIN_EQ_RE_EST_11
164 0x7800 //TX_MIN_EQ_RE_EST_12
-165 0x1000 //TX_LAMBDA_RE_EST
+165 0x8000 //TX_LAMBDA_RE_EST
166 0x3000 //TX_LAMBDA_CB_NLE
-167 0x0000 //TX_C_POST_FLT
+167 0x4000 //TX_C_POST_FLT
168 0x4000 //TX_GAIN_NP
169 0x0270 //TX_SE_HOLD_N
170 0x00C8 //TX_DT_HOLD_N
@@ -5625,15 +5625,15 @@
223 0x0001 //TX_RATIO_DT_L_TH_LOW
224 0x3A98 //TX_RATIO_DT_H_TH_LOW
225 0x3E80 //TX_RATIO_DT_L_TH_HIGH
-226 0x6590 //TX_RATIO_DT_H_TH_HIGH
+226 0x4E20 //TX_RATIO_DT_H_TH_HIGH
227 0x0001 //TX_RATIO_DT_L0_TH
-228 0x7FFF //TX_B_POST_FILT_ECHO_L
+228 0x2000 //TX_B_POST_FILT_ECHO_L
229 0x7FFF //TX_B_POST_FILT_ECHO_H
230 0x0200 //TX_MIN_G_CTRL_ECHO
231 0x1000 //TX_B_LESSCUT_RTO_ECHO
232 0x0000 //TX_EPD_OFFSET_00
233 0x0000 //TX_EPD_OFFST_01
-234 0x0FA0 //TX_RATIO_DT_L0_TH_HIGH
+234 0x2328 //TX_RATIO_DT_L0_TH_HIGH
235 0x7FFF //TX_RATIO_DT_H_TH_CUT
236 0x7FFF //TX_MIN_EQ_RE_EST_13
237 0x0000 //TX_DTD_THR1_7
@@ -5691,7 +5691,7 @@
289 0x0020 //TX_MIN_GAIN_S_0
290 0x0004 //TX_MIN_GAIN_S_1
291 0x0016 //TX_MIN_GAIN_S_2
-292 0x0020 //TX_MIN_GAIN_S_3
+292 0x0010 //TX_MIN_GAIN_S_3
293 0x0020 //TX_MIN_GAIN_S_4
294 0x0020 //TX_MIN_GAIN_S_5
295 0x0020 //TX_MIN_GAIN_S_6
@@ -5796,7 +5796,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -6348,7 +6348,7 @@
946 0x000A //TX_MUTE_REF_POW_TH
947 0x0014 //TX_MIC0_MUTE_INITECHO_CUT_LEN
948 0x0014 //TX_MIC1_MUTE_INITECHO_CUT_LEN
-949 0x4000 //TX_PRE_MASK_SUP
+949 0x6000 //TX_PRE_MASK_SUP
950 0x00C0 //TX_SDPCRN_GAIN
951 0x7333 //TX_EASSA_CUT_GAINTH
952 0x0002 //TX_DT_HARME_ENDF
@@ -6378,10 +6378,10 @@
976 0x00A0 //TX_EASSA_AEC_FEMALE_ECHO_TH
977 0x0032 //TX_EASSA_NONLECHO_TH
978 0x4E20 //TX_EASSA_NONLECHO_ECHOENTH
-979 0x0000 //TX_EASSA_NNG
-980 0x0800 //TX_EASSA_NONLHFG
+979 0x0400 //TX_EASSA_NNG
+980 0x2000 //TX_EASSA_NONLHFG
981 0x1000 //TX_EASSA_DT2000HZ_REFG
-982 0x0C00 //TX_EASSA_DT400HZ_MAING
+982 0x0200 //TX_EASSA_DT400HZ_MAING
983 0x3A98 //TX_EASSA_RATIODTH_THCUT_NSSA
984 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0
985 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1
@@ -10793,7 +10793,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F75 //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -10954,9 +10954,9 @@
162 0x7800 //TX_MIN_EQ_RE_EST_10
163 0x7800 //TX_MIN_EQ_RE_EST_11
164 0x7800 //TX_MIN_EQ_RE_EST_12
-165 0x1000 //TX_LAMBDA_RE_EST
+165 0x8000 //TX_LAMBDA_RE_EST
166 0x3000 //TX_LAMBDA_CB_NLE
-167 0x0000 //TX_C_POST_FLT
+167 0x4000 //TX_C_POST_FLT
168 0x4000 //TX_GAIN_NP
169 0x0270 //TX_SE_HOLD_N
170 0x00C8 //TX_DT_HOLD_N
@@ -11015,15 +11015,15 @@
223 0x0001 //TX_RATIO_DT_L_TH_LOW
224 0x3A98 //TX_RATIO_DT_H_TH_LOW
225 0x3E80 //TX_RATIO_DT_L_TH_HIGH
-226 0x6590 //TX_RATIO_DT_H_TH_HIGH
+226 0x4E20 //TX_RATIO_DT_H_TH_HIGH
227 0x0001 //TX_RATIO_DT_L0_TH
-228 0x7FFF //TX_B_POST_FILT_ECHO_L
+228 0x2000 //TX_B_POST_FILT_ECHO_L
229 0x7FFF //TX_B_POST_FILT_ECHO_H
230 0x0200 //TX_MIN_G_CTRL_ECHO
231 0x1000 //TX_B_LESSCUT_RTO_ECHO
232 0x0000 //TX_EPD_OFFSET_00
233 0x0000 //TX_EPD_OFFST_01
-234 0x0FA0 //TX_RATIO_DT_L0_TH_HIGH
+234 0x2328 //TX_RATIO_DT_L0_TH_HIGH
235 0x7FFF //TX_RATIO_DT_H_TH_CUT
236 0x7FFF //TX_MIN_EQ_RE_EST_13
237 0x0000 //TX_DTD_THR1_7
@@ -11081,7 +11081,7 @@
289 0x0020 //TX_MIN_GAIN_S_0
290 0x0004 //TX_MIN_GAIN_S_1
291 0x0016 //TX_MIN_GAIN_S_2
-292 0x0020 //TX_MIN_GAIN_S_3
+292 0x0010 //TX_MIN_GAIN_S_3
293 0x0020 //TX_MIN_GAIN_S_4
294 0x0020 //TX_MIN_GAIN_S_5
295 0x0020 //TX_MIN_GAIN_S_6
@@ -11186,7 +11186,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -11738,7 +11738,7 @@
946 0x000A //TX_MUTE_REF_POW_TH
947 0x0014 //TX_MIC0_MUTE_INITECHO_CUT_LEN
948 0x0014 //TX_MIC1_MUTE_INITECHO_CUT_LEN
-949 0x4000 //TX_PRE_MASK_SUP
+949 0x6000 //TX_PRE_MASK_SUP
950 0x00C0 //TX_SDPCRN_GAIN
951 0x7333 //TX_EASSA_CUT_GAINTH
952 0x0002 //TX_DT_HARME_ENDF
@@ -11768,10 +11768,10 @@
976 0x00A0 //TX_EASSA_AEC_FEMALE_ECHO_TH
977 0x0032 //TX_EASSA_NONLECHO_TH
978 0x4E20 //TX_EASSA_NONLECHO_ECHOENTH
-979 0x0000 //TX_EASSA_NNG
-980 0x0800 //TX_EASSA_NONLHFG
+979 0x0400 //TX_EASSA_NNG
+980 0x2000 //TX_EASSA_NONLHFG
981 0x1000 //TX_EASSA_DT2000HZ_REFG
-982 0x0C00 //TX_EASSA_DT400HZ_MAING
+982 0x0200 //TX_EASSA_DT400HZ_MAING
983 0x3A98 //TX_EASSA_RATIODTH_THCUT_NSSA
984 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0
985 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1
@@ -16183,7 +16183,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -16344,9 +16344,9 @@
162 0x7800 //TX_MIN_EQ_RE_EST_10
163 0x7800 //TX_MIN_EQ_RE_EST_11
164 0x7800 //TX_MIN_EQ_RE_EST_12
-165 0x1000 //TX_LAMBDA_RE_EST
+165 0x8000 //TX_LAMBDA_RE_EST
166 0x3000 //TX_LAMBDA_CB_NLE
-167 0x0000 //TX_C_POST_FLT
+167 0x4000 //TX_C_POST_FLT
168 0x4000 //TX_GAIN_NP
169 0x0270 //TX_SE_HOLD_N
170 0x00C8 //TX_DT_HOLD_N
@@ -16405,15 +16405,15 @@
223 0x0001 //TX_RATIO_DT_L_TH_LOW
224 0x3A98 //TX_RATIO_DT_H_TH_LOW
225 0x3E80 //TX_RATIO_DT_L_TH_HIGH
-226 0x6590 //TX_RATIO_DT_H_TH_HIGH
+226 0x4E20 //TX_RATIO_DT_H_TH_HIGH
227 0x0001 //TX_RATIO_DT_L0_TH
-228 0x7FFF //TX_B_POST_FILT_ECHO_L
+228 0x2000 //TX_B_POST_FILT_ECHO_L
229 0x7FFF //TX_B_POST_FILT_ECHO_H
230 0x0200 //TX_MIN_G_CTRL_ECHO
231 0x1000 //TX_B_LESSCUT_RTO_ECHO
232 0x0000 //TX_EPD_OFFSET_00
233 0x0000 //TX_EPD_OFFST_01
-234 0x0FA0 //TX_RATIO_DT_L0_TH_HIGH
+234 0x2328 //TX_RATIO_DT_L0_TH_HIGH
235 0x7FFF //TX_RATIO_DT_H_TH_CUT
236 0x7FFF //TX_MIN_EQ_RE_EST_13
237 0x0000 //TX_DTD_THR1_7
@@ -16471,7 +16471,7 @@
289 0x0020 //TX_MIN_GAIN_S_0
290 0x0004 //TX_MIN_GAIN_S_1
291 0x0016 //TX_MIN_GAIN_S_2
-292 0x0020 //TX_MIN_GAIN_S_3
+292 0x0010 //TX_MIN_GAIN_S_3
293 0x0020 //TX_MIN_GAIN_S_4
294 0x0020 //TX_MIN_GAIN_S_5
295 0x0020 //TX_MIN_GAIN_S_6
@@ -16576,7 +16576,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -17128,7 +17128,7 @@
946 0x000A //TX_MUTE_REF_POW_TH
947 0x0014 //TX_MIC0_MUTE_INITECHO_CUT_LEN
948 0x0014 //TX_MIC1_MUTE_INITECHO_CUT_LEN
-949 0x4000 //TX_PRE_MASK_SUP
+949 0x6000 //TX_PRE_MASK_SUP
950 0x00C0 //TX_SDPCRN_GAIN
951 0x7333 //TX_EASSA_CUT_GAINTH
952 0x0002 //TX_DT_HARME_ENDF
@@ -17158,10 +17158,10 @@
976 0x00A0 //TX_EASSA_AEC_FEMALE_ECHO_TH
977 0x0032 //TX_EASSA_NONLECHO_TH
978 0x4E20 //TX_EASSA_NONLECHO_ECHOENTH
-979 0x0000 //TX_EASSA_NNG
-980 0x0800 //TX_EASSA_NONLHFG
+979 0x0400 //TX_EASSA_NNG
+980 0x2000 //TX_EASSA_NONLHFG
981 0x1000 //TX_EASSA_DT2000HZ_REFG
-982 0x0C00 //TX_EASSA_DT400HZ_MAING
+982 0x0200 //TX_EASSA_DT400HZ_MAING
983 0x3A98 //TX_EASSA_RATIODTH_THCUT_NSSA
984 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0
985 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1
@@ -21573,7 +21573,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F55 //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -21734,9 +21734,9 @@
162 0x7800 //TX_MIN_EQ_RE_EST_10
163 0x7800 //TX_MIN_EQ_RE_EST_11
164 0x7800 //TX_MIN_EQ_RE_EST_12
-165 0x1000 //TX_LAMBDA_RE_EST
+165 0x8000 //TX_LAMBDA_RE_EST
166 0x3000 //TX_LAMBDA_CB_NLE
-167 0x0000 //TX_C_POST_FLT
+167 0x4000 //TX_C_POST_FLT
168 0x4000 //TX_GAIN_NP
169 0x0270 //TX_SE_HOLD_N
170 0x00C8 //TX_DT_HOLD_N
@@ -21795,15 +21795,15 @@
223 0x0001 //TX_RATIO_DT_L_TH_LOW
224 0x3A98 //TX_RATIO_DT_H_TH_LOW
225 0x3E80 //TX_RATIO_DT_L_TH_HIGH
-226 0x6590 //TX_RATIO_DT_H_TH_HIGH
+226 0x4E20 //TX_RATIO_DT_H_TH_HIGH
227 0x0001 //TX_RATIO_DT_L0_TH
-228 0x7FFF //TX_B_POST_FILT_ECHO_L
+228 0x2000 //TX_B_POST_FILT_ECHO_L
229 0x7FFF //TX_B_POST_FILT_ECHO_H
230 0x0200 //TX_MIN_G_CTRL_ECHO
231 0x1000 //TX_B_LESSCUT_RTO_ECHO
232 0x0000 //TX_EPD_OFFSET_00
233 0x0000 //TX_EPD_OFFST_01
-234 0x0FA0 //TX_RATIO_DT_L0_TH_HIGH
+234 0x2328 //TX_RATIO_DT_L0_TH_HIGH
235 0x7FFF //TX_RATIO_DT_H_TH_CUT
236 0x7FFF //TX_MIN_EQ_RE_EST_13
237 0x0000 //TX_DTD_THR1_7
@@ -21861,7 +21861,7 @@
289 0x0020 //TX_MIN_GAIN_S_0
290 0x0004 //TX_MIN_GAIN_S_1
291 0x0016 //TX_MIN_GAIN_S_2
-292 0x0020 //TX_MIN_GAIN_S_3
+292 0x0010 //TX_MIN_GAIN_S_3
293 0x0020 //TX_MIN_GAIN_S_4
294 0x0020 //TX_MIN_GAIN_S_5
295 0x0020 //TX_MIN_GAIN_S_6
@@ -21966,7 +21966,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -22518,7 +22518,7 @@
946 0x000A //TX_MUTE_REF_POW_TH
947 0x0014 //TX_MIC0_MUTE_INITECHO_CUT_LEN
948 0x0014 //TX_MIC1_MUTE_INITECHO_CUT_LEN
-949 0x4000 //TX_PRE_MASK_SUP
+949 0x6000 //TX_PRE_MASK_SUP
950 0x00C0 //TX_SDPCRN_GAIN
951 0x7333 //TX_EASSA_CUT_GAINTH
952 0x0002 //TX_DT_HARME_ENDF
@@ -22548,10 +22548,10 @@
976 0x00A0 //TX_EASSA_AEC_FEMALE_ECHO_TH
977 0x0032 //TX_EASSA_NONLECHO_TH
978 0x4E20 //TX_EASSA_NONLECHO_ECHOENTH
-979 0x0000 //TX_EASSA_NNG
-980 0x0800 //TX_EASSA_NONLHFG
+979 0x0400 //TX_EASSA_NNG
+980 0x2000 //TX_EASSA_NONLHFG
981 0x1000 //TX_EASSA_DT2000HZ_REFG
-982 0x0C00 //TX_EASSA_DT400HZ_MAING
+982 0x0200 //TX_EASSA_DT400HZ_MAING
983 0x3A98 //TX_EASSA_RATIODTH_THCUT_NSSA
984 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0
985 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1
@@ -26963,7 +26963,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -27124,9 +27124,9 @@
162 0x7800 //TX_MIN_EQ_RE_EST_10
163 0x7800 //TX_MIN_EQ_RE_EST_11
164 0x7800 //TX_MIN_EQ_RE_EST_12
-165 0x1000 //TX_LAMBDA_RE_EST
+165 0x8000 //TX_LAMBDA_RE_EST
166 0x3000 //TX_LAMBDA_CB_NLE
-167 0x0000 //TX_C_POST_FLT
+167 0x4000 //TX_C_POST_FLT
168 0x4000 //TX_GAIN_NP
169 0x0270 //TX_SE_HOLD_N
170 0x00C8 //TX_DT_HOLD_N
@@ -27185,15 +27185,15 @@
223 0x0001 //TX_RATIO_DT_L_TH_LOW
224 0x3A98 //TX_RATIO_DT_H_TH_LOW
225 0x3E80 //TX_RATIO_DT_L_TH_HIGH
-226 0x6590 //TX_RATIO_DT_H_TH_HIGH
+226 0x4E20 //TX_RATIO_DT_H_TH_HIGH
227 0x0001 //TX_RATIO_DT_L0_TH
-228 0x7FFF //TX_B_POST_FILT_ECHO_L
+228 0x2000 //TX_B_POST_FILT_ECHO_L
229 0x7FFF //TX_B_POST_FILT_ECHO_H
230 0x0200 //TX_MIN_G_CTRL_ECHO
231 0x1000 //TX_B_LESSCUT_RTO_ECHO
232 0x0000 //TX_EPD_OFFSET_00
233 0x0000 //TX_EPD_OFFST_01
-234 0x0FA0 //TX_RATIO_DT_L0_TH_HIGH
+234 0x2328 //TX_RATIO_DT_L0_TH_HIGH
235 0x7FFF //TX_RATIO_DT_H_TH_CUT
236 0x7FFF //TX_MIN_EQ_RE_EST_13
237 0x0000 //TX_DTD_THR1_7
@@ -27251,7 +27251,7 @@
289 0x0020 //TX_MIN_GAIN_S_0
290 0x0004 //TX_MIN_GAIN_S_1
291 0x0016 //TX_MIN_GAIN_S_2
-292 0x0020 //TX_MIN_GAIN_S_3
+292 0x0010 //TX_MIN_GAIN_S_3
293 0x0020 //TX_MIN_GAIN_S_4
294 0x0020 //TX_MIN_GAIN_S_5
295 0x0020 //TX_MIN_GAIN_S_6
@@ -27356,7 +27356,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -27908,7 +27908,7 @@
946 0x000A //TX_MUTE_REF_POW_TH
947 0x0014 //TX_MIC0_MUTE_INITECHO_CUT_LEN
948 0x0014 //TX_MIC1_MUTE_INITECHO_CUT_LEN
-949 0x4000 //TX_PRE_MASK_SUP
+949 0x6000 //TX_PRE_MASK_SUP
950 0x00C0 //TX_SDPCRN_GAIN
951 0x7333 //TX_EASSA_CUT_GAINTH
952 0x0002 //TX_DT_HARME_ENDF
@@ -27938,10 +27938,10 @@
976 0x00A0 //TX_EASSA_AEC_FEMALE_ECHO_TH
977 0x0032 //TX_EASSA_NONLECHO_TH
978 0x4E20 //TX_EASSA_NONLECHO_ECHOENTH
-979 0x0000 //TX_EASSA_NNG
-980 0x0800 //TX_EASSA_NONLHFG
+979 0x0400 //TX_EASSA_NNG
+980 0x2000 //TX_EASSA_NONLHFG
981 0x1000 //TX_EASSA_DT2000HZ_REFG
-982 0x0C00 //TX_EASSA_DT400HZ_MAING
+982 0x0200 //TX_EASSA_DT400HZ_MAING
983 0x3A98 //TX_EASSA_RATIODTH_THCUT_NSSA
984 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0
985 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1
diff --git a/audio/komodo/tuning/fortemedia/HEADSET.dat b/audio/komodo/tuning/fortemedia/HEADSET.dat
index b962e77..8090185 100644
--- a/audio/komodo/tuning/fortemedia/HEADSET.dat
+++ b/audio/komodo/tuning/fortemedia/HEADSET.dat
Binary files differ
diff --git a/audio/komodo/tuning/fortemedia/HEADSET.mods b/audio/komodo/tuning/fortemedia/HEADSET.mods
index f49b1df..2e9575a 100644
--- a/audio/komodo/tuning/fortemedia/HEADSET.mods
+++ b/audio/komodo/tuning/fortemedia/HEADSET.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HEADSET
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-06-06 17:28:21
+#SAVE_TIME 2024-07-19 14:39:20
#CASE_NAME HEADSET-USB_BLACKBIRD-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -29658,7 +29658,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x003B //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0001 //TX_SAMPLINGFREQ_SIG
7 0x0001 //TX_SAMPLINGFREQ_PROC
@@ -30051,7 +30051,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x4000 //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -32353,7 +32353,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -32514,9 +32514,9 @@
162 0x7800 //TX_MIN_EQ_RE_EST_10
163 0x7800 //TX_MIN_EQ_RE_EST_11
164 0x7800 //TX_MIN_EQ_RE_EST_12
-165 0x1000 //TX_LAMBDA_RE_EST
+165 0x8000 //TX_LAMBDA_RE_EST
166 0x3000 //TX_LAMBDA_CB_NLE
-167 0x0000 //TX_C_POST_FLT
+167 0x4000 //TX_C_POST_FLT
168 0x4000 //TX_GAIN_NP
169 0x0270 //TX_SE_HOLD_N
170 0x00C8 //TX_DT_HOLD_N
@@ -32575,15 +32575,15 @@
223 0x0001 //TX_RATIO_DT_L_TH_LOW
224 0x3A98 //TX_RATIO_DT_H_TH_LOW
225 0x3E80 //TX_RATIO_DT_L_TH_HIGH
-226 0x6590 //TX_RATIO_DT_H_TH_HIGH
+226 0x4E20 //TX_RATIO_DT_H_TH_HIGH
227 0x0001 //TX_RATIO_DT_L0_TH
-228 0x7FFF //TX_B_POST_FILT_ECHO_L
+228 0x2000 //TX_B_POST_FILT_ECHO_L
229 0x7FFF //TX_B_POST_FILT_ECHO_H
230 0x0200 //TX_MIN_G_CTRL_ECHO
231 0x1000 //TX_B_LESSCUT_RTO_ECHO
232 0x0000 //TX_EPD_OFFSET_00
233 0x0000 //TX_EPD_OFFST_01
-234 0x0FA0 //TX_RATIO_DT_L0_TH_HIGH
+234 0x2328 //TX_RATIO_DT_L0_TH_HIGH
235 0x7FFF //TX_RATIO_DT_H_TH_CUT
236 0x7FFF //TX_MIN_EQ_RE_EST_13
237 0x0000 //TX_DTD_THR1_7
@@ -32641,7 +32641,7 @@
289 0x0020 //TX_MIN_GAIN_S_0
290 0x0004 //TX_MIN_GAIN_S_1
291 0x0016 //TX_MIN_GAIN_S_2
-292 0x0020 //TX_MIN_GAIN_S_3
+292 0x0010 //TX_MIN_GAIN_S_3
293 0x0020 //TX_MIN_GAIN_S_4
294 0x0020 //TX_MIN_GAIN_S_5
295 0x0020 //TX_MIN_GAIN_S_6
@@ -32746,7 +32746,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -33298,7 +33298,7 @@
946 0x000A //TX_MUTE_REF_POW_TH
947 0x0014 //TX_MIC0_MUTE_INITECHO_CUT_LEN
948 0x0014 //TX_MIC1_MUTE_INITECHO_CUT_LEN
-949 0x4000 //TX_PRE_MASK_SUP
+949 0x6000 //TX_PRE_MASK_SUP
950 0x00C0 //TX_SDPCRN_GAIN
951 0x7333 //TX_EASSA_CUT_GAINTH
952 0x0002 //TX_DT_HARME_ENDF
@@ -33328,10 +33328,10 @@
976 0x00A0 //TX_EASSA_AEC_FEMALE_ECHO_TH
977 0x0032 //TX_EASSA_NONLECHO_TH
978 0x4E20 //TX_EASSA_NONLECHO_ECHOENTH
-979 0x0000 //TX_EASSA_NNG
-980 0x0800 //TX_EASSA_NONLHFG
+979 0x0400 //TX_EASSA_NNG
+980 0x2000 //TX_EASSA_NONLHFG
981 0x1000 //TX_EASSA_DT2000HZ_REFG
-982 0x0C00 //TX_EASSA_DT400HZ_MAING
+982 0x0200 //TX_EASSA_DT400HZ_MAING
983 0x3A98 //TX_EASSA_RATIODTH_THCUT_NSSA
984 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0
985 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1
@@ -37743,7 +37743,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -37904,9 +37904,9 @@
162 0x7800 //TX_MIN_EQ_RE_EST_10
163 0x7800 //TX_MIN_EQ_RE_EST_11
164 0x7800 //TX_MIN_EQ_RE_EST_12
-165 0x1000 //TX_LAMBDA_RE_EST
+165 0x8000 //TX_LAMBDA_RE_EST
166 0x3000 //TX_LAMBDA_CB_NLE
-167 0x0000 //TX_C_POST_FLT
+167 0x4000 //TX_C_POST_FLT
168 0x4000 //TX_GAIN_NP
169 0x0270 //TX_SE_HOLD_N
170 0x00C8 //TX_DT_HOLD_N
@@ -37965,15 +37965,15 @@
223 0x0001 //TX_RATIO_DT_L_TH_LOW
224 0x3A98 //TX_RATIO_DT_H_TH_LOW
225 0x3E80 //TX_RATIO_DT_L_TH_HIGH
-226 0x6590 //TX_RATIO_DT_H_TH_HIGH
+226 0x4E20 //TX_RATIO_DT_H_TH_HIGH
227 0x0001 //TX_RATIO_DT_L0_TH
-228 0x7FFF //TX_B_POST_FILT_ECHO_L
+228 0x2000 //TX_B_POST_FILT_ECHO_L
229 0x7FFF //TX_B_POST_FILT_ECHO_H
230 0x0200 //TX_MIN_G_CTRL_ECHO
231 0x1000 //TX_B_LESSCUT_RTO_ECHO
232 0x0000 //TX_EPD_OFFSET_00
233 0x0000 //TX_EPD_OFFST_01
-234 0x0FA0 //TX_RATIO_DT_L0_TH_HIGH
+234 0x2328 //TX_RATIO_DT_L0_TH_HIGH
235 0x7FFF //TX_RATIO_DT_H_TH_CUT
236 0x7FFF //TX_MIN_EQ_RE_EST_13
237 0x0000 //TX_DTD_THR1_7
@@ -38031,7 +38031,7 @@
289 0x0020 //TX_MIN_GAIN_S_0
290 0x0004 //TX_MIN_GAIN_S_1
291 0x0016 //TX_MIN_GAIN_S_2
-292 0x0020 //TX_MIN_GAIN_S_3
+292 0x0010 //TX_MIN_GAIN_S_3
293 0x0020 //TX_MIN_GAIN_S_4
294 0x0020 //TX_MIN_GAIN_S_5
295 0x0020 //TX_MIN_GAIN_S_6
@@ -38136,7 +38136,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -38688,7 +38688,7 @@
946 0x000A //TX_MUTE_REF_POW_TH
947 0x0014 //TX_MIC0_MUTE_INITECHO_CUT_LEN
948 0x0014 //TX_MIC1_MUTE_INITECHO_CUT_LEN
-949 0x4000 //TX_PRE_MASK_SUP
+949 0x6000 //TX_PRE_MASK_SUP
950 0x00C0 //TX_SDPCRN_GAIN
951 0x7333 //TX_EASSA_CUT_GAINTH
952 0x0002 //TX_DT_HARME_ENDF
@@ -38718,10 +38718,10 @@
976 0x00A0 //TX_EASSA_AEC_FEMALE_ECHO_TH
977 0x0032 //TX_EASSA_NONLECHO_TH
978 0x4E20 //TX_EASSA_NONLECHO_ECHOENTH
-979 0x0000 //TX_EASSA_NNG
-980 0x0800 //TX_EASSA_NONLHFG
+979 0x0400 //TX_EASSA_NNG
+980 0x2000 //TX_EASSA_NONLHFG
981 0x1000 //TX_EASSA_DT2000HZ_REFG
-982 0x0C00 //TX_EASSA_DT400HZ_MAING
+982 0x0200 //TX_EASSA_DT400HZ_MAING
983 0x3A98 //TX_EASSA_RATIODTH_THCUT_NSSA
984 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0
985 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1
@@ -70083,7 +70083,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x003B //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0001 //TX_SAMPLINGFREQ_SIG
7 0x0001 //TX_SAMPLINGFREQ_PROC
@@ -70476,7 +70476,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x4000 //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -72778,7 +72778,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -72939,9 +72939,9 @@
162 0x7800 //TX_MIN_EQ_RE_EST_10
163 0x7800 //TX_MIN_EQ_RE_EST_11
164 0x7800 //TX_MIN_EQ_RE_EST_12
-165 0x1000 //TX_LAMBDA_RE_EST
+165 0x8000 //TX_LAMBDA_RE_EST
166 0x3000 //TX_LAMBDA_CB_NLE
-167 0x0000 //TX_C_POST_FLT
+167 0x4000 //TX_C_POST_FLT
168 0x4000 //TX_GAIN_NP
169 0x0270 //TX_SE_HOLD_N
170 0x00C8 //TX_DT_HOLD_N
@@ -73000,15 +73000,15 @@
223 0x0001 //TX_RATIO_DT_L_TH_LOW
224 0x3A98 //TX_RATIO_DT_H_TH_LOW
225 0x3E80 //TX_RATIO_DT_L_TH_HIGH
-226 0x6590 //TX_RATIO_DT_H_TH_HIGH
+226 0x4E20 //TX_RATIO_DT_H_TH_HIGH
227 0x0001 //TX_RATIO_DT_L0_TH
-228 0x7FFF //TX_B_POST_FILT_ECHO_L
+228 0x2000 //TX_B_POST_FILT_ECHO_L
229 0x7FFF //TX_B_POST_FILT_ECHO_H
230 0x0200 //TX_MIN_G_CTRL_ECHO
231 0x1000 //TX_B_LESSCUT_RTO_ECHO
232 0x0000 //TX_EPD_OFFSET_00
233 0x0000 //TX_EPD_OFFST_01
-234 0x0FA0 //TX_RATIO_DT_L0_TH_HIGH
+234 0x2328 //TX_RATIO_DT_L0_TH_HIGH
235 0x7FFF //TX_RATIO_DT_H_TH_CUT
236 0x7FFF //TX_MIN_EQ_RE_EST_13
237 0x0000 //TX_DTD_THR1_7
@@ -73066,7 +73066,7 @@
289 0x0020 //TX_MIN_GAIN_S_0
290 0x0004 //TX_MIN_GAIN_S_1
291 0x0016 //TX_MIN_GAIN_S_2
-292 0x0020 //TX_MIN_GAIN_S_3
+292 0x0010 //TX_MIN_GAIN_S_3
293 0x0020 //TX_MIN_GAIN_S_4
294 0x0020 //TX_MIN_GAIN_S_5
295 0x0020 //TX_MIN_GAIN_S_6
@@ -73171,7 +73171,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -73723,7 +73723,7 @@
946 0x000A //TX_MUTE_REF_POW_TH
947 0x0014 //TX_MIC0_MUTE_INITECHO_CUT_LEN
948 0x0014 //TX_MIC1_MUTE_INITECHO_CUT_LEN
-949 0x4000 //TX_PRE_MASK_SUP
+949 0x6000 //TX_PRE_MASK_SUP
950 0x00C0 //TX_SDPCRN_GAIN
951 0x7333 //TX_EASSA_CUT_GAINTH
952 0x0002 //TX_DT_HARME_ENDF
@@ -73753,10 +73753,10 @@
976 0x00A0 //TX_EASSA_AEC_FEMALE_ECHO_TH
977 0x0032 //TX_EASSA_NONLECHO_TH
978 0x4E20 //TX_EASSA_NONLECHO_ECHOENTH
-979 0x0000 //TX_EASSA_NNG
-980 0x0800 //TX_EASSA_NONLHFG
+979 0x0400 //TX_EASSA_NNG
+980 0x2000 //TX_EASSA_NONLHFG
981 0x1000 //TX_EASSA_DT2000HZ_REFG
-982 0x0C00 //TX_EASSA_DT400HZ_MAING
+982 0x0200 //TX_EASSA_DT400HZ_MAING
983 0x3A98 //TX_EASSA_RATIODTH_THCUT_NSSA
984 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0
985 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1
@@ -78168,7 +78168,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -78329,9 +78329,9 @@
162 0x7800 //TX_MIN_EQ_RE_EST_10
163 0x7800 //TX_MIN_EQ_RE_EST_11
164 0x7800 //TX_MIN_EQ_RE_EST_12
-165 0x1000 //TX_LAMBDA_RE_EST
+165 0x8000 //TX_LAMBDA_RE_EST
166 0x3000 //TX_LAMBDA_CB_NLE
-167 0x0000 //TX_C_POST_FLT
+167 0x4000 //TX_C_POST_FLT
168 0x4000 //TX_GAIN_NP
169 0x0270 //TX_SE_HOLD_N
170 0x00C8 //TX_DT_HOLD_N
@@ -78390,15 +78390,15 @@
223 0x0001 //TX_RATIO_DT_L_TH_LOW
224 0x3A98 //TX_RATIO_DT_H_TH_LOW
225 0x3E80 //TX_RATIO_DT_L_TH_HIGH
-226 0x6590 //TX_RATIO_DT_H_TH_HIGH
+226 0x4E20 //TX_RATIO_DT_H_TH_HIGH
227 0x0001 //TX_RATIO_DT_L0_TH
-228 0x7FFF //TX_B_POST_FILT_ECHO_L
+228 0x2000 //TX_B_POST_FILT_ECHO_L
229 0x7FFF //TX_B_POST_FILT_ECHO_H
230 0x0200 //TX_MIN_G_CTRL_ECHO
231 0x1000 //TX_B_LESSCUT_RTO_ECHO
232 0x0000 //TX_EPD_OFFSET_00
233 0x0000 //TX_EPD_OFFST_01
-234 0x0FA0 //TX_RATIO_DT_L0_TH_HIGH
+234 0x2328 //TX_RATIO_DT_L0_TH_HIGH
235 0x7FFF //TX_RATIO_DT_H_TH_CUT
236 0x7FFF //TX_MIN_EQ_RE_EST_13
237 0x0000 //TX_DTD_THR1_7
@@ -78456,7 +78456,7 @@
289 0x0020 //TX_MIN_GAIN_S_0
290 0x0004 //TX_MIN_GAIN_S_1
291 0x0016 //TX_MIN_GAIN_S_2
-292 0x0020 //TX_MIN_GAIN_S_3
+292 0x0010 //TX_MIN_GAIN_S_3
293 0x0020 //TX_MIN_GAIN_S_4
294 0x0020 //TX_MIN_GAIN_S_5
295 0x0020 //TX_MIN_GAIN_S_6
@@ -78561,7 +78561,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -79113,7 +79113,7 @@
946 0x000A //TX_MUTE_REF_POW_TH
947 0x0014 //TX_MIC0_MUTE_INITECHO_CUT_LEN
948 0x0014 //TX_MIC1_MUTE_INITECHO_CUT_LEN
-949 0x4000 //TX_PRE_MASK_SUP
+949 0x6000 //TX_PRE_MASK_SUP
950 0x00C0 //TX_SDPCRN_GAIN
951 0x7333 //TX_EASSA_CUT_GAINTH
952 0x0002 //TX_DT_HARME_ENDF
@@ -79143,10 +79143,10 @@
976 0x00A0 //TX_EASSA_AEC_FEMALE_ECHO_TH
977 0x0032 //TX_EASSA_NONLECHO_TH
978 0x4E20 //TX_EASSA_NONLECHO_ECHOENTH
-979 0x0000 //TX_EASSA_NNG
-980 0x0800 //TX_EASSA_NONLHFG
+979 0x0400 //TX_EASSA_NNG
+980 0x2000 //TX_EASSA_NONLHFG
981 0x1000 //TX_EASSA_DT2000HZ_REFG
-982 0x0C00 //TX_EASSA_DT400HZ_MAING
+982 0x0200 //TX_EASSA_DT400HZ_MAING
983 0x3A98 //TX_EASSA_RATIODTH_THCUT_NSSA
984 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_0
985 0x0000 //TX_EASSA_AEC_NSSA_REFG_MAINBLK_1
diff --git a/audio/komodo/tuning/spatializer/base b/audio/komodo/tuning/spatializer/base
index 38cc646..42b4329 100644
--- a/audio/komodo/tuning/spatializer/base
+++ b/audio/komodo/tuning/spatializer/base
Binary files differ
diff --git a/audio/komodo/tuning/spatializer/mode_2_ch b/audio/komodo/tuning/spatializer/mode_2_ch
index 470c56c..2610b2d 100644
--- a/audio/komodo/tuning/spatializer/mode_2_ch
+++ b/audio/komodo/tuning/spatializer/mode_2_ch
Binary files differ
diff --git a/audio/komodo/tuning/spatializer/mode_6_ch b/audio/komodo/tuning/spatializer/mode_6_ch
index 94ec635..0f432fa 100644
--- a/audio/komodo/tuning/spatializer/mode_6_ch
+++ b/audio/komodo/tuning/spatializer/mode_6_ch
Binary files differ
diff --git a/audio/komodo/tuning/spatializer/mode_xaural b/audio/komodo/tuning/spatializer/mode_xaural
index b3a3a96..619e215 100644
--- a/audio/komodo/tuning/spatializer/mode_xaural
+++ b/audio/komodo/tuning/spatializer/mode_xaural
Binary files differ
diff --git a/audio/tokay/aidl_config/audio_platform_configuration.xml b/audio/tokay/aidl_config/audio_platform_configuration.xml
index 3b7e970..3d89b97 100644
--- a/audio/tokay/aidl_config/audio_platform_configuration.xml
+++ b/audio/tokay/aidl_config/audio_platform_configuration.xml
@@ -68,7 +68,7 @@
<argument name="ThermistorsName" value="VIRTUAL-SKIN-SPEAKER" />
<argument name="Extensions" value="StereoSpatializerIndicator,SpeakerPowerLinkLaw" />
</tuner>
- <tuner type="telephony" name="fortemedia">
+ <tuner type="telephony" name="fmapmg3hybrid">
<argument name="VoIP_DLCHs" value="SPK:2,USB:2,BT:2" />
<argument name="VoIP_Rate" value="32000" />
<argument name="BOOST_USB_SWB_CLK" value="y" />
diff --git a/audio/tokay/aidl_config/mixer_paths_aidl.xml b/audio/tokay/aidl_config/mixer_paths_aidl.xml
index d7dc1bc..b2c458c 100644
--- a/audio/tokay/aidl_config/mixer_paths_aidl.xml
+++ b/audio/tokay/aidl_config/mixer_paths_aidl.xml
@@ -318,6 +318,7 @@
<ctl name="Incall Capture Stream0" value="Off" />
<ctl name="Incall Capture Stream1" value="Off" />
<ctl name="Incall Capture Stream2" value="Off" />
+ <ctl name="Incall Capture Stream3" value="Off" />
<!-- These two controls control the muting function of mics and sinks during the voice call. -->
<!-- They would be enabled by HAL. -->
@@ -423,6 +424,10 @@
<path name="primary-playback -> bt" />
</path>
+ <path name="primary-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="primary-playback -> bt" />
+ </path>
+
<path name="primary-playback-0 -> usb">
<ctl name="USB_RX Mixer EP2" value="1" />
</path>
@@ -495,6 +500,10 @@
<path name="raw-playback -> bt" />
</path>
+ <path name="raw-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="raw-playback -> bt" />
+ </path>
+
<path name="raw-playback-0 -> usb">
<ctl name="USB_RX Mixer RAW" value="1" />
</path>
@@ -567,6 +576,10 @@
<path name="deep-buffer-playback -> bt" />
</path>
+ <path name="deep-buffer-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="deep-buffer-playback -> bt" />
+ </path>
+
<path name="deep-buffer-playback-0 -> usb">
<ctl name="USB_RX Mixer EP6" value="1" />
</path>
@@ -644,6 +657,10 @@
<path name="compress-offload-playback -> bt" />
</path>
+ <path name="compress-offload-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="compress-offload-playback -> bt" />
+ </path>
+
<path name="compress-offload-playback-0 -> usb">
<ctl name="USB_RX Mixer EP7" value="1" />
</path>
@@ -716,6 +733,10 @@
<path name="mmap-playback -> bt" />
</path>
+ <path name="mmap-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="mmap-playback -> bt" />
+ </path>
+
<path name="mmap-playback-0 -> usb">
<ctl name="USB_RX Mixer EP1" value="1" />
</path>
@@ -800,6 +821,10 @@
<path name="voip-playback -> bt" />
</path>
+ <path name="voip-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="voip-playback -> bt" />
+ </path>
+
<path name="voip-playback-0 -> usb">
<ctl name="USB_RX Mixer VOIP" value="1" />
</path>
@@ -860,6 +885,10 @@
<path name="immersive-playback -> bt" />
</path>
+ <path name="immersive-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="immersive-playback -> bt" />
+ </path>
+
<path name="immersive-playback-0 -> usb">
<ctl name="USB_RX Mixer IMSV" value="1" />
</path>
@@ -924,6 +953,10 @@
<path name="spatializer-offload-playback -> bt" />
</path>
+ <path name="spatializer-offload-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="spatializer-offload-playback -> bt" />
+ </path>
+
<path name="spatializer-offload-playback-0 -> usb">
<ctl name="USB_RX Mixer EP4" value="1" />
</path>
@@ -994,6 +1027,10 @@
<path name="haptic-playback -> bt" />
</path>
+ <path name="haptic-playback-0 -> bluetooth-low-energy-broadcast">
+ <path name="haptic-playback -> bt" />
+ </path>
+
<path name="haptic-playback-0 -> usb">
<ctl name="USB_RX Mixer EP3" value="1" />
<ctl name="TDM_0_RX Mixer EP8" value="1" />
@@ -1068,6 +1105,39 @@
<ctl name="VOIP TX Mixer BT_TX" value="1" />
</path>
+ <path name="microphones -> voip-gsenet-capture-0">
+ <ctl name="Incall Capture Stream3" value="3MIC" />
+ <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" />
+ </path>
+
+ <path name="back-microphones -> voip-gsenet-capture-0">
+ <ctl name="Incall Capture Stream3" value="3MIC" />
+ <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" />
+ </path>
+
+ <path name="usb-microphones -> voip-gsenet-capture-0">
+ <ctl name="Incall Capture Stream3" value="3MIC" />
+ <ctl name="VOIP TX Mixer USB_TX" value="1" />
+ </path>
+
+ <path name="usb-headset-microphones -> voip-gsenet-capture-0">
+ <path name="usb-microphones -> voip-gsenet-capture-0" />
+ </path>
+
+ <path name="usb-device-microphones -> voip-gsenet-capture-0">
+ <path name="usb-microphones -> voip-gsenet-capture-0" />
+ </path>
+
+ <path name="bluetooth-sco-headset-microphones -> voip-gsenet-capture-0">
+ <ctl name="Incall Capture Stream3" value="3MIC" />
+ <ctl name="VOIP TX Mixer BT_TX" value="1" />
+ </path>
+
+ <path name="bluetooth-low-energy-headset-microphones -> voip-gsenet-capture-0">
+ <ctl name="Incall Capture Stream3" value="3MIC" />
+ <ctl name="VOIP TX Mixer BT_TX" value="1" />
+ </path>
+
<path name="microphones -> fast-capture-0">
<ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="1" />
</path>
@@ -1171,6 +1241,10 @@
<path name="voice-call-downlink-0 -> bt" />
</path>
+ <path name="voice-call-downlink-0 -> bluetooth-low-energy-broadcast">
+ <path name="voice-call-downlink-0 -> bt" />
+ </path>
+
<path name="voice-call-downlink-0 -> usb">
<ctl name="USB_RX Mixer EP5" value="1" />
</path>
diff --git a/audio/tokay/audio-tables.mk b/audio/tokay/audio-tables.mk
index 5aadc3e..58808a3 100644
--- a/audio/tokay/audio-tables.mk
+++ b/audio/tokay/audio-tables.mk
@@ -62,7 +62,25 @@
waves_preset.mps \
compens_spk_l.conf \
compens_spk_r.conf \
- default_mic_compensation.bin
+ default_mic_compensation.bin \
+ downlink_bluetooth_headset_config.pb \
+ downlink_dock_config.pb \
+ downlink_external_speaker_config.pb \
+ downlink_handset_config.pb \
+ downlink_speaker_config.pb \
+ downlink_wired_headset_config.pb \
+ uplink_bluetooth_headset_aec_off_config.pb \
+ uplink_bluetooth_headset_aec_on_config.pb \
+ uplink_dock_aec_off_config.pb \
+ uplink_dock_aec_on_config.pb \
+ uplink_external_speaker_aec_off_config.pb \
+ uplink_external_speaker_aec_on_config.pb \
+ uplink_handset_aec_off_config.pb \
+ uplink_handset_aec_on_config.pb \
+ uplink_speaker_aec_off_config.pb \
+ uplink_speaker_aec_on_config.pb \
+ uplink_wired_headset_aec_off_config.pb \
+ uplink_wired_headset_aec_on_config.pb
# userdebug and eng specific
PRODUCT_PACKAGES_DEBUG += \
@@ -73,7 +91,8 @@
template.xml \
tuning_constraints_combination.xml \
test_config.ini \
- test_preset.mps
+ test_preset.mps \
+ speaker_post_processing_volume_spec.xml
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
# Mixer Path Configuration for Audio Speaker Calibration Tool crus_sp_cal
diff --git a/audio/tokay/prebuilt/libspeechenhancer/Android.bp b/audio/tokay/prebuilt/libspeechenhancer/Android.bp
index 5b4b8ae..9d4a232 100644
--- a/audio/tokay/prebuilt/libspeechenhancer/Android.bp
+++ b/audio/tokay/prebuilt/libspeechenhancer/Android.bp
@@ -34,7 +34,9 @@
"libcutils",
"libEGL",
"libGLESv2",
+ "libbinder_ndk",
"liblog",
+ "libsync",
"libz",
"libnativewindow",
],
diff --git a/audio/tokay/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so b/audio/tokay/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
index b9f43a7..6bb4b10 100644
--- a/audio/tokay/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
+++ b/audio/tokay/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
Binary files differ
diff --git a/audio/tokay/tuning/Android.bp b/audio/tokay/tuning/Android.bp
index e81b4e9..10125af 100644
--- a/audio/tokay/tuning/Android.bp
+++ b/audio/tokay/tuning/Android.bp
@@ -35,16 +35,19 @@
src: "bluenote/recording.gatf",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "smartfeature.gstf",
src: "bluenote/smartfeature.gstf",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "template.xml",
src: "bluenote/template.xml",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "tuning_constraints_combination.xml",
src: "bluenote/tuning_constraints_combination.xml",
@@ -56,6 +59,7 @@
src: "compensation/compens_spk_l.conf",
soc_specific: true,
}
+
prebuilt_etc {
name: "compens_spk_r.conf",
src: "compensation/compens_spk_r.conf",
@@ -67,41 +71,49 @@
src: "fortemedia/BLUETOOTH.dat",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "BLUETOOTH.mods",
src: "fortemedia/BLUETOOTH.mods",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HANDSFREE.dat",
src: "fortemedia/HANDSFREE.dat",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HANDSFREE.mods",
src: "fortemedia/HANDSFREE.mods",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HANDSET.dat",
src: "fortemedia/HANDSET.dat",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HANDSET.mods",
src: "fortemedia/HANDSET.mods",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HEADSET.dat",
src: "fortemedia/HEADSET.dat",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "HEADSET.mods",
src: "fortemedia/HEADSET.mods",
defaults: ["aoc_defaults"],
}
+
prebuilt_etc {
name: "mcps.dat",
src: "fortemedia/mcps.dat",
@@ -109,20 +121,137 @@
}
prebuilt_etc {
+ name: "downlink_bluetooth_headset_config.pb",
+ src: "apmg3/downlink_bluetooth_headset_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "downlink_dock_config.pb",
+ src: "apmg3/downlink_dock_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "downlink_external_speaker_config.pb",
+ src: "apmg3/downlink_external_speaker_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "downlink_handset_config.pb",
+ src: "apmg3/downlink_handset_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "downlink_speaker_config.pb",
+ src: "apmg3/downlink_speaker_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "downlink_wired_headset_config.pb",
+ src: "apmg3/downlink_wired_headset_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_bluetooth_headset_aec_off_config.pb",
+ src: "apmg3/uplink_bluetooth_headset_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_bluetooth_headset_aec_on_config.pb",
+ src: "apmg3/uplink_bluetooth_headset_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_dock_aec_off_config.pb",
+ src: "apmg3/uplink_dock_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_dock_aec_on_config.pb",
+ src: "apmg3/uplink_dock_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_external_speaker_aec_off_config.pb",
+ src: "apmg3/uplink_external_speaker_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_external_speaker_aec_on_config.pb",
+ src: "apmg3/uplink_external_speaker_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_handset_aec_off_config.pb",
+ src: "apmg3/uplink_handset_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_handset_aec_on_config.pb",
+ src: "apmg3/uplink_handset_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_speaker_aec_off_config.pb",
+ src: "apmg3/uplink_speaker_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_speaker_aec_on_config.pb",
+ src: "apmg3/uplink_speaker_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_wired_headset_aec_off_config.pb",
+ src: "apmg3/uplink_wired_headset_aec_off_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
+ name: "uplink_wired_headset_aec_on_config.pb",
+ src: "apmg3/uplink_wired_headset_aec_on_config.pb",
+ defaults: ["aoc_defaults"],
+}
+
+prebuilt_etc {
name: "waves_config.ini",
src: "waves/waves_config.ini",
soc_specific: true,
}
+
prebuilt_etc {
name: "waves_preset.mps",
src: "waves/waves_preset.mps",
soc_specific: true,
}
+
+prebuilt_etc {
+ name: "speaker_post_processing_volume_spec.xml",
+ src: "pts/speaker_post_processing_volume_spec.xml",
+ defaults: ["aoc_defaults"],
+}
+
prebuilt_etc {
name: "test_config.ini",
src: "waves/tests/test_config.ini",
soc_specific: true,
}
+
prebuilt_etc {
name: "test_preset.mps",
src: "waves/tests/test_preset.mps",
diff --git a/audio/tokay/tuning/apmg3/downlink_bluetooth_headset_config.pb b/audio/tokay/tuning/apmg3/downlink_bluetooth_headset_config.pb
new file mode 100644
index 0000000..4d26cce
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/downlink_bluetooth_headset_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/downlink_dock_config.pb b/audio/tokay/tuning/apmg3/downlink_dock_config.pb
new file mode 100644
index 0000000..854a48d
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/downlink_dock_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/downlink_external_speaker_config.pb b/audio/tokay/tuning/apmg3/downlink_external_speaker_config.pb
new file mode 100644
index 0000000..f501ab8
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/downlink_external_speaker_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/downlink_handset_config.pb b/audio/tokay/tuning/apmg3/downlink_handset_config.pb
new file mode 100644
index 0000000..7129053
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/downlink_handset_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/downlink_speaker_config.pb b/audio/tokay/tuning/apmg3/downlink_speaker_config.pb
new file mode 100644
index 0000000..cd25bc7
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/downlink_speaker_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/downlink_wired_headset_config.pb b/audio/tokay/tuning/apmg3/downlink_wired_headset_config.pb
new file mode 100644
index 0000000..0f98f65
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/downlink_wired_headset_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb b/audio/tokay/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb
new file mode 100644
index 0000000..a6dfdce
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb b/audio/tokay/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb
new file mode 100644
index 0000000..58ac211
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_dock_aec_off_config.pb b/audio/tokay/tuning/apmg3/uplink_dock_aec_off_config.pb
new file mode 100644
index 0000000..06e4ef5
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_dock_aec_off_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_dock_aec_on_config.pb b/audio/tokay/tuning/apmg3/uplink_dock_aec_on_config.pb
new file mode 100644
index 0000000..979a200
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_dock_aec_on_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_external_speaker_aec_off_config.pb b/audio/tokay/tuning/apmg3/uplink_external_speaker_aec_off_config.pb
new file mode 100644
index 0000000..7103879
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_external_speaker_aec_off_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_external_speaker_aec_on_config.pb b/audio/tokay/tuning/apmg3/uplink_external_speaker_aec_on_config.pb
new file mode 100644
index 0000000..d747bc2
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_external_speaker_aec_on_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_handset_aec_off_config.pb b/audio/tokay/tuning/apmg3/uplink_handset_aec_off_config.pb
new file mode 100644
index 0000000..9351945
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_handset_aec_off_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_handset_aec_on_config.pb b/audio/tokay/tuning/apmg3/uplink_handset_aec_on_config.pb
new file mode 100644
index 0000000..58dc380
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_handset_aec_on_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_speaker_aec_off_config.pb b/audio/tokay/tuning/apmg3/uplink_speaker_aec_off_config.pb
new file mode 100644
index 0000000..02348b9
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_speaker_aec_off_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_speaker_aec_on_config.pb b/audio/tokay/tuning/apmg3/uplink_speaker_aec_on_config.pb
new file mode 100644
index 0000000..10f1ed7
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_speaker_aec_on_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_wired_headset_aec_off_config.pb b/audio/tokay/tuning/apmg3/uplink_wired_headset_aec_off_config.pb
new file mode 100644
index 0000000..679aa66
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_wired_headset_aec_off_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/apmg3/uplink_wired_headset_aec_on_config.pb b/audio/tokay/tuning/apmg3/uplink_wired_headset_aec_on_config.pb
new file mode 100644
index 0000000..fec3962
--- /dev/null
+++ b/audio/tokay/tuning/apmg3/uplink_wired_headset_aec_on_config.pb
Binary files differ
diff --git a/audio/tokay/tuning/fortemedia/BLUETOOTH.dat b/audio/tokay/tuning/fortemedia/BLUETOOTH.dat
index dde4998..3a06710 100644
--- a/audio/tokay/tuning/fortemedia/BLUETOOTH.dat
+++ b/audio/tokay/tuning/fortemedia/BLUETOOTH.dat
Binary files differ
diff --git a/audio/tokay/tuning/fortemedia/BLUETOOTH.mods b/audio/tokay/tuning/fortemedia/BLUETOOTH.mods
index ca001c6..66d607b 100644
--- a/audio/tokay/tuning/fortemedia/BLUETOOTH.mods
+++ b/audio/tokay/tuning/fortemedia/BLUETOOTH.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG BLUETOOTH
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-06-06 17:50:42
+#SAVE_TIME 2024-07-19 19:22:42
#CASE_NAME BLUETOOTH-BT_HAC-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -2708,7 +2708,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0001 //TX_SAMPLINGFREQ_SIG
7 0x0001 //TX_SAMPLINGFREQ_PROC
@@ -3101,7 +3101,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x3000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x4000 //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -5403,7 +5403,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -5796,7 +5796,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -10793,7 +10793,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -11186,7 +11186,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
diff --git a/audio/tokay/tuning/fortemedia/HANDSET.dat b/audio/tokay/tuning/fortemedia/HANDSET.dat
index bddf5ea..186d79c 100644
--- a/audio/tokay/tuning/fortemedia/HANDSET.dat
+++ b/audio/tokay/tuning/fortemedia/HANDSET.dat
Binary files differ
diff --git a/audio/tokay/tuning/fortemedia/HANDSET.mods b/audio/tokay/tuning/fortemedia/HANDSET.mods
index 573d6d4..9177ce5 100644
--- a/audio/tokay/tuning/fortemedia/HANDSET.mods
+++ b/audio/tokay/tuning/fortemedia/HANDSET.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HANDSET
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-06-06 17:50:41
+#SAVE_TIME 2024-07-19 19:22:41
#CASE_NAME HANDSET-HANDSET-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -3228,10 +3228,10 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -5923,10 +5923,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -14008,10 +14008,10 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -16703,10 +16703,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -22093,10 +22093,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -27483,10 +27483,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -32873,10 +32873,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -38263,10 +38263,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -43653,10 +43653,10 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -46348,10 +46348,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -54433,10 +54433,10 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -57128,10 +57128,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
@@ -62518,10 +62518,10 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_KIDDET_NTH
-525 0x0000 //TX_B_POST_FLT_KID
-526 0x122E //TX_T0_NE_TH
-527 0x1100 //TX_T0_NE_3_TH
+524 0x0003 //TX_KIDDET_NTH
+525 0x1000 //TX_B_POST_FLT_KID
+526 0x0DAC //TX_T0_NE_TH
+527 0x0FA0 //TX_T0_NE_3_TH
528 0x1333 //TX_WIND_MARK_TH
529 0x399A //TX_CORR_THR
530 0x0004 //TX_SNR_THR
diff --git a/audio/tokay/tuning/fortemedia/HANDSFREE.dat b/audio/tokay/tuning/fortemedia/HANDSFREE.dat
index 246cbe2..55f4e3e 100644
--- a/audio/tokay/tuning/fortemedia/HANDSFREE.dat
+++ b/audio/tokay/tuning/fortemedia/HANDSFREE.dat
Binary files differ
diff --git a/audio/tokay/tuning/fortemedia/HANDSFREE.mods b/audio/tokay/tuning/fortemedia/HANDSFREE.mods
index b4a80f3..e31f8d4 100644
--- a/audio/tokay/tuning/fortemedia/HANDSFREE.mods
+++ b/audio/tokay/tuning/fortemedia/HANDSFREE.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HANDSFREE
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-06-06 17:50:40
+#SAVE_TIME 2024-07-19 19:22:40
#CASE_NAME HANDSFREE-HANDSFREE-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -2708,7 +2708,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0001 //TX_SAMPLINGFREQ_SIG
7 0x0001 //TX_SAMPLINGFREQ_PROC
@@ -3101,7 +3101,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x3000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x4000 //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -5403,7 +5403,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -5796,7 +5796,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -10793,7 +10793,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F75 //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -11186,7 +11186,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -16183,7 +16183,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -16576,7 +16576,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -21573,7 +21573,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F55 //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -21966,7 +21966,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -26963,7 +26963,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -27356,7 +27356,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
diff --git a/audio/tokay/tuning/fortemedia/HEADSET.dat b/audio/tokay/tuning/fortemedia/HEADSET.dat
index 6bd1851..913c5bb 100644
--- a/audio/tokay/tuning/fortemedia/HEADSET.dat
+++ b/audio/tokay/tuning/fortemedia/HEADSET.dat
Binary files differ
diff --git a/audio/tokay/tuning/fortemedia/HEADSET.mods b/audio/tokay/tuning/fortemedia/HEADSET.mods
index 69c2b42..548cd37 100644
--- a/audio/tokay/tuning/fortemedia/HEADSET.mods
+++ b/audio/tokay/tuning/fortemedia/HEADSET.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HEADSET
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-06-06 17:50:38
+#SAVE_TIME 2024-07-19 19:22:38
#CASE_NAME HEADSET-USB_BLACKBIRD-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -29658,7 +29658,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0001 //TX_SAMPLINGFREQ_SIG
7 0x0001 //TX_SAMPLINGFREQ_PROC
@@ -30051,7 +30051,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x3000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x4000 //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -32353,7 +32353,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -32746,7 +32746,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -37743,7 +37743,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -38136,7 +38136,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -70083,7 +70083,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0001 //TX_SAMPLINGFREQ_SIG
7 0x0001 //TX_SAMPLINGFREQ_PROC
@@ -70476,7 +70476,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x3000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x4000 //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -72778,7 +72778,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -73171,7 +73171,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
@@ -78168,7 +78168,7 @@
1 0x0001 //TX_OPERATION_MODE_1
2 0x00BB //TX_PATCH_REG
3 0x6F7D //TX_SENDFUNC_MODE_0
-4 0x0080 //TX_SENDFUNC_MODE_1
+4 0x0000 //TX_SENDFUNC_MODE_1
5 0x0003 //TX_NUM_MIC
6 0x0003 //TX_SAMPLINGFREQ_SIG
7 0x0003 //TX_SAMPLINGFREQ_PROC
@@ -78561,7 +78561,7 @@
394 0x0000 //TX_MEL_G_R
395 0x0080 //TX_SUPHIGH_TH
396 0x0000 //TX_MASK_G_R
-397 0x0082 //TX_LOGSNR_THR
+397 0x8001 //TX_LOGSNR_THR
398 0x0000 //TX_C_POST_FLT_MASK
399 0x7FFF //TX_A_POST_FLT_WNS
400 0x0148 //TX_MIN_G_LOW300HZ
diff --git a/audio/tokay/tuning/pts/speaker_post_processing_volume_spec.xml b/audio/tokay/tuning/pts/speaker_post_processing_volume_spec.xml
new file mode 100644
index 0000000..969fd43
--- /dev/null
+++ b/audio/tokay/tuning/pts/speaker_post_processing_volume_spec.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" ?>
+<xml>
+ <spec feature="normal">
+ <vol step="1">-55.633537,-57.12799</vol>
+ <vol step="2">-52.74118,-54.248005</vol>
+ <vol step="3">-49.229015,-50.760155</vol>
+ <vol step="4">-46.39415,-47.93267</vol>
+ <vol step="5">-42.696896,-44.252502</vol>
+ <vol step="6">-39.243034,-40.831715</vol>
+ <vol step="7">-36.365067,-37.983456</vol>
+ <vol step="8">-33.502815,-35.130657</vol>
+ <vol step="9">-31.668825,-33.308605</vol>
+ <vol step="10">-29.462334,-31.116865</vol>
+ <vol step="11">-26.979172,-28.646566</vol>
+ <vol step="12">-24.473492,-26.155708</vol>
+ <vol step="13">-22.479034,-24.18116</vol>
+ <vol step="14">-20.641127,-22.376537</vol>
+ <vol step="15">-18.619516,-20.410694</vol>
+ <vol step="16">-17.039654,-18.978006</vol>
+ <vol step="17">-15.964582,-18.063643</vol>
+ <vol step="18">-14.847198,-17.068687</vol>
+ <vol step="19">-13.786341,-16.13179</vol>
+ <vol step="20">-12.377989,-14.879541</vol>
+ <vol step="21">-11.468842,-14.155666</vol>
+ <vol step="22">-10.673872,-13.19977</vol>
+ <vol step="23">-9.866504,-12.5231495</vol>
+ <vol step="24">-9.465342,-12.234019</vol>
+ <vol step="25">-9.418919,-12.183332</vol>
+ </spec>
+</xml>
+
diff --git a/audio/tokay/tuning/spatializer/base b/audio/tokay/tuning/spatializer/base
index 38cc646..42b4329 100644
--- a/audio/tokay/tuning/spatializer/base
+++ b/audio/tokay/tuning/spatializer/base
Binary files differ
diff --git a/audio/tokay/tuning/spatializer/mode_2_ch b/audio/tokay/tuning/spatializer/mode_2_ch
index 470c56c..2610b2d 100644
--- a/audio/tokay/tuning/spatializer/mode_2_ch
+++ b/audio/tokay/tuning/spatializer/mode_2_ch
Binary files differ
diff --git a/audio/tokay/tuning/spatializer/mode_6_ch b/audio/tokay/tuning/spatializer/mode_6_ch
index 94ec635..0f432fa 100644
--- a/audio/tokay/tuning/spatializer/mode_6_ch
+++ b/audio/tokay/tuning/spatializer/mode_6_ch
Binary files differ
diff --git a/audio/tokay/tuning/spatializer/mode_xaural b/audio/tokay/tuning/spatializer/mode_xaural
index b3a3a96..619e215 100644
--- a/audio/tokay/tuning/spatializer/mode_xaural
+++ b/audio/tokay/tuning/spatializer/mode_xaural
Binary files differ
diff --git a/bluetooth/audio_set_configurations.json b/bluetooth/audio_set_configurations.json
new file mode 100644
index 0000000..6a03f6b
--- /dev/null
+++ b/bluetooth/audio_set_configurations.json
@@ -0,0 +1,7492 @@
+{
+ "_comments_": [
+ " == Audio Set Configurations == ",
+ " Contains: ",
+ " 1. configurations : ",
+ " Maps configuration name with codec and qos config to be used",
+ " 2. codec_configurations : ",
+ " Array of codec specific configurations",
+ " 3. qos_configurations : ",
+ " Array of QoS specific configurations",
+ " QoS configuration values are as per BAP spec 1.0",
+ " Example values which can be used as 'codec_configuration.type'",
+ " Codec Configuration parameter types:",
+ " SUPPORTED_SAMPLING_FREQUENCY = 1",
+ " SUPPORTED_FRAME_DURATION = 2",
+ " SUPPORTED_OCTETS_PER_CODEC_FRAME = 4",
+ " SUPPORTED_CODEC_FRAME_BLOCKS_PER_SDU = 5",
+ " Example values which can be used as 'codec_configuration.compound_value'",
+ " Codec Coding formats:",
+ " LC3 = 6",
+ " Sampling Frequencies: ",
+ " 8000Hz = 1",
+ " 11025Hz = 2",
+ " 16000Hz = 3",
+ " 22050Hz = 4",
+ " 24000Hz = 5",
+ " 32000Hz = 6",
+ " 44100Hz = 7",
+ " 48000Hz = 8",
+ " 88200Hz = 9",
+ " 96000Hz = 10",
+ " 176400Hz = 11",
+ " 192000Hz = 12",
+ " 384000Hz = 13",
+ " Frame Durations:",
+ " 7500us = 0",
+ " 10000us = 1"
+ ],
+ "configurations": [
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1_1",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2_1",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1_1",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2_1",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_2"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_1_Low_Latency",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_1_Balanced_Reliability",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_1_1",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_1"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_1_2",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_2"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_2_Low_Latency",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_2_1",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_1"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_2_2",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_2"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_32_1_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_32_1",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_32_1_1",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_32_1",
+ "qos_config_name": [
+ "QoS_Config_32_1_1"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_32_1_2",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_32_1",
+ "qos_config_name": [
+ "QoS_Config_32_1_2"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_32_2_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_32_2_1",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_32_2_1"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_32_2_2",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_32_2_2"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_1_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_1_1",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_1"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_1_2",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_2_1",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_1"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_2_2",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_1",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_1",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_2"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_Low_Latency",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_1",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_32_2_1"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_Low_Latency",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_2",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_2"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_1",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_1"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_Low_Latency",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_2",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_2"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_1",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_1"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_1"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_2",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_2"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_1"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_2",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_2"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_48_4_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SrcAse-Lc3_48_4",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_48_3_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SrcAse-Lc3_48_3",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_48_2_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SrcAse-Lc3_48_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_48_1_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SrcAse-Lc3_48_1",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_32_1_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SrcAse-Lc3_32_1",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SrcAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_24_1_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SrcAse-Lc3_24_1",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_16_1_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_2",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+ "qos_config_name": [
+ "QoS_Config_16_1_2"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_1"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_2",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_16_2_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_24_1_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_24_1_Low_Latency",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_24_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_24_2_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_24_2_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_24_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_24_2_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_24_2_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_24_2_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_24_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_24_2_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_24_2_2"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_24_2_Low_Latency",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_24_2_Balanced_Reliability",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_24_2_2",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_24_2_2"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_24_2_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_24_2_2",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_24_2_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_1",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_32_2_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_32_2_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_32_2_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_32_1_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_32_1_Low_Latency",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_32_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_32_2_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_32_1_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_32_2_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_32_2_1"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_32_2_1"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_32_2_Low_Latency",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4_High_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4_1",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4",
+ "qos_config_name": [
+ "QoS_Config_48_4_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4",
+ "qos_config_name": [
+ "QoS_Config_48_4_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_3_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_3",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_3_High_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_3",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_3_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_3",
+ "qos_config_name": [
+ "QoS_Config_48_3_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_2_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_2_High_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_2",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_2_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_2",
+ "qos_config_name": [
+ "QoS_Config_48_2_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_1_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_1_High_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_1",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_1_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_1",
+ "qos_config_name": [
+ "QoS_Config_48_1_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4_High_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4_1",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4",
+ "qos_config_name": [
+ "QoS_Config_48_4_1"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4",
+ "qos_config_name": [
+ "QoS_Config_48_4_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_3_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_3",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_3_High_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_3",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_3_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_3",
+ "qos_config_name": [
+ "QoS_Config_48_3_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_2_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_2_High_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_2",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_2_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_2",
+ "qos_config_name": [
+ "QoS_Config_48_2_2"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_1_Low_Latency",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_1_High_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_1",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_1_2",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_1",
+ "qos_config_name": [
+ "QoS_Config_48_1_2"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4_High_Reliability",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4_1",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4",
+ "qos_config_name": [
+ "QoS_Config_48_4_1"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4_2",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4",
+ "qos_config_name": [
+ "QoS_Config_48_4_2"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_3_Low_Latency",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_3",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_3_High_Reliability",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_3",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_3_2",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_3",
+ "qos_config_name": [
+ "QoS_Config_48_3_2"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_2_Low_Latency",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_2_High_Reliability",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_2",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_2_2",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_2",
+ "qos_config_name": [
+ "QoS_Config_48_2_2"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_1_Low_Latency",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_1_High_Reliability",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_1",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_1_2",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_1",
+ "qos_config_name": [
+ "QoS_Config_48_1_2"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_4_High_Reliability",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_48_4",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_4_1",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_48_4",
+ "qos_config_name": [
+ "QoS_Config_48_4_1"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_4_2",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_48_4",
+ "qos_config_name": [
+ "QoS_Config_48_4_2"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_3_High_Reliability",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_48_3",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_3_2",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_48_3",
+ "qos_config_name": [
+ "QoS_Config_48_3_2"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_2_High_Reliability",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_48_2",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_2_2",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_48_2",
+ "qos_config_name": [
+ "QoS_Config_48_2_2"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_1_High_Reliability",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_48_1",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_1_2",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_48_1",
+ "qos_config_name": [
+ "QoS_Config_48_1_2"
+ ]
+ },
+ {
+ "name": "VND_SingleDev_TwoChanStereoSnk_OneChanStereoSrc_32khz_60octs_Low_Latency_1",
+ "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_OneChanStereoSrc_32khz_60octs_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "VND_SingleDev_TwoChanStereoSnk_OneChanStereoSrc_32khz_60oct_R3_L22_1",
+ "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_OneChanStereoSrc_32khz_60octs_1",
+ "qos_config_name": [
+ "VND_QoS_Config_R3_L22"
+ ]
+ },
+ {
+ "name": "VND_DualDev_OneChanStereoSnk_48khz_100octs_High_Reliability_1",
+ "codec_config_name": "VND_DualDev_OneChanStereoSnk_48khz_100octs_1",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "VND_DualDev_OneChanStereoSnk_48khz_100octs_R15_L70_1",
+ "codec_config_name": "VND_DualDev_OneChanStereoSnk_48khz_100octs_1",
+ "qos_config_name": [
+ "VND_QoS_Config_R15_L70"
+ ]
+ },
+ {
+ "name": "VND_SingleDev_OneChanStereoSnk_48khz_100octs_High_Reliability_1",
+ "codec_config_name": "VND_SingleDev_OneChanStereoSnk_48khz_100octs_1",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "VND_SingleDev_OneChanStereoSnk_48khz_100octs_R15_L70_1",
+ "codec_config_name": "VND_SingleDev_OneChanStereoSnk_48khz_100octs_1",
+ "qos_config_name": [
+ "VND_QoS_Config_R15_L70"
+ ]
+ },
+ {
+ "name": "VND_SingleDev_TwoChanStereoSnk_48khz_100octs_High_Reliability_1",
+ "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_48khz_100octs_1",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "VND_SingleDev_TwoChanStereoSnk_48khz_100octs_R15_L70_1",
+ "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_48khz_100octs_1",
+ "qos_config_name": [
+ "VND_QoS_Config_R15_L70"
+ ]
+ },
+ {
+ "name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_High_Reliability_1",
+ "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_1",
+ "qos_config_name": [
+ "QoS_Config_High_Reliability"
+ ]
+ },
+ {
+ "name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_R5_L12_1",
+ "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_1",
+ "qos_config_name": [
+ "VND_QoS_Config_R5_L12"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "codec_config_name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "codec_config_name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "codec_config_name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1_Low_Latency",
+ "codec_config_name": "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1_Balanced_Reliability",
+ "codec_config_name": "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2_Low_Latency",
+ "codec_config_name": "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2",
+ "qos_config_name": [
+ "QoS_Config_Low_Latency"
+ ]
+ },
+ {
+ "name": "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2_Balanced_Reliability",
+ "codec_config_name": "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_Balanced_Reliability_1",
+ "codec_config_name": "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_1",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_R11_L40_1",
+ "codec_config_name": "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_1",
+ "qos_config_name": [
+ "VND_QoS_Config_R11_L40"
+ ]
+ },
+ {
+ "name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_R5_L12_TwoChanStereoSrc_16khz_30octs_R3_L12_1",
+ "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_TwoChanStereoSrc_16khz_30octs_1",
+ "qos_config_name": [
+ "VND_QoS_Config_R5_L12",
+ "VND_QoS_Config_R3_L12"
+ ]
+ },
+ {
+ "name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_TwoChanStereoSrc_16khz_30octs_Balanced_Reliability_1",
+ "codec_config_name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_TwoChanStereoSrc_16khz_30octs_1",
+ "qos_config_name": [
+ "QoS_Config_Balanced_Reliability"
+ ]
+ }
+ ],
+ "codec_configurations": [
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 30,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 30,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SrcAse-Lc3_16_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_24_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 5
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 60,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_32_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_32_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 60,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_32_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_32_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 60,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 30,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 2,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 30,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 2,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 30,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 30,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 30,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 30,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 30,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 30,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 30,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 30,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 30,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_48_4",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_48_3",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 90,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_48_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 100,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_48_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 75,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_32_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_32_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 60,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_24_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 5
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 45,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_16_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SrcAse-Lc3_16_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 30,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_3",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 90,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 100,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 75,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_3",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 90,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 100,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 75,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_4",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_3",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 90,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 100,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 75,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "VND_SingleDev_TwoChanStereoSnk_48khz_100octs_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 100,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "VND_DualDev_OneChanStereoSnk_48khz_100octs_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 100,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "VND_SingleDev_OneChanStereoSnk_48khz_100octs_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 100,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 75,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_32_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 2,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_24_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 2,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 5
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 60,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_16_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 2,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 5
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 60,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_32_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_24_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 5
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 60,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_16_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 5
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 60,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 5
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 60,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 120,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 40,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 75,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 75,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 100,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 100,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 100,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "VND_SingleDev_TwoChanStereoSnk_OneChanStereoSrc_32khz_60octs_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 60,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 60,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_TwoChanStereoSrc_16khz_30octs_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 8
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 75,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 3
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 30,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_24_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 5
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 60,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_24_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 5
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 45,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_24_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 5
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 60,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_24_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 5
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 45,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_24_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 5
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 60,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 2,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 2,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ },
+ {
+ "ase_cnt": 1,
+ "direction": "SOURCE",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 1
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_32_2",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 80,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ },
+ {
+ "name": "One-TwoChan-SnkAse-Lc3_32_1",
+ "subconfigurations": [
+ {
+ "ase_cnt": 1,
+ "direction": "SINK",
+ "codec_id": {
+ "coding_format": 6,
+ "vendor_company_id": 0,
+ "vendor_codec_id": 0
+ },
+ "codec_configuration": [
+ {
+ "name": "sampling_frequency",
+ "type": 1,
+ "compound_value": {
+ "value": [
+ 6
+ ]
+ }
+ },
+ {
+ "name": "frame_duration",
+ "type": 2,
+ "compound_value": {
+ "value": [
+ 0
+ ]
+ }
+ },
+ {
+ "name": "octets_per_codec_frame",
+ "type": 4,
+ "compound_value": {
+ "value": [
+ 60,
+ 0
+ ]
+ }
+ },
+ {
+ "name": "codec_frame_blocks_per_sdu",
+ "type": 5,
+ "compound_value": {
+ "value": [
+ 1
+ ]
+ }
+ }
+ ],
+ "ase_channel_cnt": 2
+ }
+ ]
+ }
+ ],
+ "qos_configurations": [
+ {
+ "name": "QoS_Config_16_1_1",
+ "retransmission_number": 2,
+ "max_transport_latency": 8
+ },
+ {
+ "name": "QoS_Config_16_1_2",
+ "retransmission_number": 13,
+ "max_transport_latency": 75
+ },
+ {
+ "name": "QoS_Config_16_2_1",
+ "retransmission_number": 2,
+ "max_transport_latency": 10
+ },
+ {
+ "name": "QoS_Config_16_2_2",
+ "retransmission_number": 13,
+ "max_transport_latency": 95
+ },
+ {
+ "name": "QoS_Config_24_1_1",
+ "retransmission_number": 2,
+ "max_transport_latency": 8
+ },
+ {
+ "name": "QoS_Config_24_1_2",
+ "retransmission_number": 13,
+ "max_transport_latency": 75
+ },
+ {
+ "name": "QoS_Config_24_2_1",
+ "retransmission_number": 2,
+ "max_transport_latency": 10
+ },
+ {
+ "name": "QoS_Config_24_2_2",
+ "retransmission_number": 13,
+ "max_transport_latency": 95
+ },
+ {
+ "name": "QoS_Config_32_1_1",
+ "retransmission_number": 2,
+ "max_transport_latency": 8
+ },
+ {
+ "name": "QoS_Config_32_1_2",
+ "retransmission_number": 13,
+ "max_transport_latency": 75
+ },
+ {
+ "name": "QoS_Config_32_2_1",
+ "retransmission_number": 2,
+ "max_transport_latency": 10
+ },
+ {
+ "name": "QoS_Config_32_2_2",
+ "retransmission_number": 13,
+ "max_transport_latency": 95
+ },
+ {
+ "name": "QoS_Config_48_1_2",
+ "retransmission_number": 13,
+ "max_transport_latency": 75
+ },
+ {
+ "name": "QoS_Config_48_2_2",
+ "retransmission_number": 13,
+ "max_transport_latency": 95
+ },
+ {
+ "name": "QoS_Config_48_3_2",
+ "retransmission_number": 13,
+ "max_transport_latency": 75
+ },
+ {
+ "name": "QoS_Config_48_4_1",
+ "retransmission_number": 5,
+ "max_transport_latency": 20
+ },
+ {
+ "name": "QoS_Config_48_4_2",
+ "retransmission_number": 13,
+ "max_transport_latency": 100
+ },
+ {
+ "name": "VND_QoS_Config_R3_L22",
+ "retransmission_number": 3,
+ "max_transport_latency": 22
+ },
+ {
+ "name": "VND_QoS_Config_R15_L70",
+ "retransmission_number": 15,
+ "max_transport_latency": 70
+ },
+ {
+ "name": "VND_QoS_Config_R5_L12",
+ "retransmission_number": 5,
+ "max_transport_latency": 12
+ },
+ {
+ "name": "VND_QoS_Config_R11_L40",
+ "retransmission_number": 11,
+ "max_transport_latency": 40
+ },
+ {
+ "name": "VND_QoS_Config_R3_L12",
+ "retransmission_number": 3,
+ "max_transport_latency": 12
+ },
+ {
+ "name": "QoS_Config_Low_Latency",
+ "target_latency": "LOW",
+ "retransmission_number": 0,
+ "max_transport_latency": 0
+ },
+ {
+ "name": "QoS_Config_Balanced_Reliability",
+ "target_latency": "BALANCED_RELIABILITY",
+ "retransmission_number": 0,
+ "max_transport_latency": 0
+ },
+ {
+ "name": "QoS_Config_High_Reliability",
+ "target_latency": "HIGH_RELIABILITY",
+ "retransmission_number": 0,
+ "max_transport_latency": 0
+ }
+ ]
+}
diff --git a/bluetooth/audio_set_scenarios.json b/bluetooth/audio_set_scenarios.json
new file mode 100644
index 0000000..ec36d87
--- /dev/null
+++ b/bluetooth/audio_set_scenarios.json
@@ -0,0 +1,259 @@
+{
+ "_comments_": [
+ "== Audio Set Scenarios ==",
+ " Each defined scenario references externally defined audio set",
+ " configurations, listed in the order of priority."
+ ],
+ "scenarios": [
+ {
+ "name": "Conversational",
+ "configurations": [
+ "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_1",
+ "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_1",
+ "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_2",
+ "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_1",
+ "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_2",
+ "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+ "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+ "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+ "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_1",
+ "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_1",
+ "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_2",
+ "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_1",
+ "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_2",
+ "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+ "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+ "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+ "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+ "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+ "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+ "Two-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_48_4_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_48_2_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_48_3_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_48_1_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_32_1_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_24_1_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_16_1_Balanced_Reliability",
+ "VND_SingleDev_TwoChanStereoSnk_OneChanStereoSrc_32khz_60oct_R3_L22_1",
+ "Two-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+ "One-TwoChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+ "One-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Media",
+ "configurations": [
+ "Two-OneChan-SnkAse-Lc3_48_4_High_Reliability",
+ "Two-OneChan-SnkAse-Lc3_48_4_2",
+ "Two-OneChan-SnkAse-Lc3_48_2_High_Reliability",
+ "Two-OneChan-SnkAse-Lc3_48_2_2",
+ "Two-OneChan-SnkAse-Lc3_48_3_High_Reliability",
+ "Two-OneChan-SnkAse-Lc3_48_3_2",
+ "Two-OneChan-SnkAse-Lc3_48_1_High_Reliability",
+ "Two-OneChan-SnkAse-Lc3_48_1_2",
+ "Two-OneChan-SnkAse-Lc3_24_2_Balanced_Reliability",
+ "Two-OneChan-SnkAse-Lc3_24_2_2",
+ "Two-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+ "Two-OneChan-SnkAse-Lc3_16_2_2",
+ "Two-OneChan-SnkAse-Lc3_16_1_Balanced_Reliability",
+ "Two-OneChan-SnkAse-Lc3_16_1_2",
+ "One-TwoChan-SnkAse-Lc3_48_4_High_Reliability",
+ "One-TwoChan-SnkAse-Lc3_48_4_2",
+ "One-TwoChan-SnkAse-Lc3_48_2_High_Reliability",
+ "One-TwoChan-SnkAse-Lc3_48_2_2",
+ "One-TwoChan-SnkAse-Lc3_48_3_High_Reliability",
+ "One-TwoChan-SnkAse-Lc3_48_3_2",
+ "One-TwoChan-SnkAse-Lc3_48_1_High_Reliability",
+ "One-TwoChan-SnkAse-Lc3_48_1_2",
+ "One-TwoChan-SnkAse-Lc3_24_2_Balanced_Reliability",
+ "One-TwoChan-SnkAse-Lc3_24_2_2",
+ "One-TwoChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+ "One-TwoChan-SnkAse-Lc3_16_2_2",
+ "One-TwoChan-SnkAse-Lc3_16_1_Balanced_Reliability",
+ "One-TwoChan-SnkAse-Lc3_16_1_2",
+ "One-OneChan-SnkAse-Lc3_48_4_High_Reliability",
+ "One-OneChan-SnkAse-Lc3_48_4_2",
+ "One-OneChan-SnkAse-Lc3_48_2_High_Reliability",
+ "One-OneChan-SnkAse-Lc3_48_2_2",
+ "One-OneChan-SnkAse-Lc3_48_3_High_Reliability",
+ "One-OneChan-SnkAse-Lc3_48_3_2",
+ "One-OneChan-SnkAse-Lc3_48_1_High_Reliability",
+ "One-OneChan-SnkAse-Lc3_48_1_2",
+ "One-OneChan-SnkAse-Lc3_32_2_Balanced_Reliability",
+ "One-OneChan-SnkAse-Lc3_32_2_2",
+ "One-OneChan-SnkAse-Lc3_32_1_Balanced_Reliability",
+ "One-OneChan-SnkAse-Lc3_32_1_2",
+ "One-OneChan-SnkAse-Lc3_24_2_Balanced_Reliability",
+ "One-OneChan-SnkAse-Lc3_24_2_2",
+ "One-OneChan-SnkAse-Lc3_16_2_Balanced_Reliability",
+ "One-OneChan-SnkAse-Lc3_16_2_2",
+ "One-OneChan-SnkAse-Lc3_16_1_Balanced_Reliability",
+ "One-OneChan-SnkAse-Lc3_16_1_2",
+ "VND_DualDev_OneChanStereoSnk_48khz_100octs_High_Reliability_1",
+ "VND_DualDev_OneChanStereoSnk_48khz_100octs_R15_L70_1",
+ "VND_SingleDev_TwoChanStereoSnk_48khz_100octs_High_Reliability_1",
+ "VND_SingleDev_TwoChanStereoSnk_48khz_100octs_R15_L70_1",
+ "VND_SingleDev_OneChanStereoSnk_48khz_100octs_High_Reliability_1",
+ "VND_SingleDev_OneChanStereoSnk_48khz_100octs_R15_L70_1",
+ "Two-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Game",
+ "configurations": [
+ "One-TwoChan-SnkAse-Lc3_48_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_48_3_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_48_1_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_32_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_32_1_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_24_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_24_1_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_1_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_1",
+ "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2_Low_Latency",
+ "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_TwoChanStereoSrc_16khz_30octs_Balanced_Reliability_1",
+ "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_R5_L12_TwoChanStereoSrc_16khz_30octs_R3_L12_1",
+ "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_High_Reliability_1",
+ "VND_SingleDev_TwoChanStereoSnk_48khz_75octs_R5_L12_1",
+ "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+ "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_48_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_48_3_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_48_1_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_32_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_32_1_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_24_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_24_1_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_1_Low_Latency"
+ ]
+ },
+ {
+ "name": "VoiceAssistants",
+ "configurations": [
+ "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_1",
+ "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_1",
+ "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_1",
+ "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2_Balanced_Reliability",
+ "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1_Balanced_Reliability",
+ "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_1",
+ "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_1",
+ "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_1",
+ "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+ "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+ "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+ "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+ "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+ "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+ "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+ "Two-OneChan-SnkAse-Lc3_48_4-Two-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+ "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+ "Two-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+ "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+ "One-TwoChan-SnkAse-Lc3_48_4-One-TwoChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+ "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+ "One-TwoChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+ "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_24_2_Balanced_Reliability",
+ "One-OneChan-SnkAse-Lc3_48_4-One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability"
+ ]
+ },
+ {
+ "name": "Live",
+ "configurations": [
+ "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_Balanced_Reliability_1",
+ "VND_SingleDev_TwoChanStereoSrc_48khz_100octs_R11_L40_1",
+ "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_1",
+ "Two-OneChan-SnkAse-Lc3_32_2-Two-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_2-Two-OneChan-SrcAse-Lc3_16_2_1",
+ "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_1-Two-OneChan-SrcAse-Lc3_16_1_1",
+ "Two-TwoChan-SnkAse-Lc3_48_2-Two-TwoChan-SrcAse-Lc3_48_2_Balanced_Reliability",
+ "Two-TwoChan-SnkAse-Lc3_48_1-Two-TwoChan-SrcAse-Lc3_48_1_Balanced_Reliability",
+ "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_32_2-One-TwoChan-SrcAse-Lc3_32_2_1",
+ "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_2-One-TwoChan-SrcAse-Lc3_16_2_1",
+ "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_1-One-TwoChan-SrcAse-Lc3_16_1_1",
+ "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+ "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+ "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "One-TwoChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+ "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+ "Two-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+ "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "Two-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+ "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_Low_Latency",
+ "One-OneChan-SnkAse-Lc3_32_2-One-OneChan-SrcAse-Lc3_32_2_1",
+ "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_Low_Latency",
+ "One-OneChan-SnkAse-Lc3_16_2-One-OneChan-SrcAse-Lc3_16_2_1",
+ "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_Low_Latency",
+ "One-OneChan-SnkAse-Lc3_16_1-One-OneChan-SrcAse-Lc3_16_1_1",
+ "One-OneChan-SrcAse-Lc3_48_2_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_48_1_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_32_2_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_32_1_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_16_2_Balanced_Reliability",
+ "One-OneChan-SrcAse-Lc3_16_1_Balanced_Reliability"
+ ]
+ }
+ ]
+}
diff --git a/bluetooth/bt_vendor_overlay_caiman.conf b/bluetooth/bt_vendor_overlay_caiman.conf
index c784f0e..6f6100f 100644
--- a/bluetooth/bt_vendor_overlay_caiman.conf
+++ b/bluetooth/bt_vendor_overlay_caiman.conf
@@ -40,3 +40,9 @@
HwStageWithOldChipFwNoLongerSupport = EVT1.0-PROTO1.0-PROTO1.1
ThreadDispatcherEnabled = true
+
+# A2DP_LDAC_QUALITY_HIGH 0 // Equal to 990/909(kbps)
+# A2DP_LDAC_QUALITY_MID 1 // Equal to 660/606(kbps)
+# A2DP_LDAC_QUALITY_LOW 2 // Equal to 330/303(kbps)
+# A2DP_LDAC_QUALITY_ABR 3 // ABR mode, range: 990,660,492,396,330(kbps)
+LdacDefaultQualityMode = 1
diff --git a/bluetooth/bt_vendor_overlay_komodo.conf b/bluetooth/bt_vendor_overlay_komodo.conf
index c784f0e..6f6100f 100644
--- a/bluetooth/bt_vendor_overlay_komodo.conf
+++ b/bluetooth/bt_vendor_overlay_komodo.conf
@@ -40,3 +40,9 @@
HwStageWithOldChipFwNoLongerSupport = EVT1.0-PROTO1.0-PROTO1.1
ThreadDispatcherEnabled = true
+
+# A2DP_LDAC_QUALITY_HIGH 0 // Equal to 990/909(kbps)
+# A2DP_LDAC_QUALITY_MID 1 // Equal to 660/606(kbps)
+# A2DP_LDAC_QUALITY_LOW 2 // Equal to 330/303(kbps)
+# A2DP_LDAC_QUALITY_ABR 3 // ABR mode, range: 990,660,492,396,330(kbps)
+LdacDefaultQualityMode = 1
diff --git a/bluetooth/bt_vendor_overlay_tokay.conf b/bluetooth/bt_vendor_overlay_tokay.conf
index c784f0e..6f6100f 100644
--- a/bluetooth/bt_vendor_overlay_tokay.conf
+++ b/bluetooth/bt_vendor_overlay_tokay.conf
@@ -40,3 +40,9 @@
HwStageWithOldChipFwNoLongerSupport = EVT1.0-PROTO1.0-PROTO1.1
ThreadDispatcherEnabled = true
+
+# A2DP_LDAC_QUALITY_HIGH 0 // Equal to 990/909(kbps)
+# A2DP_LDAC_QUALITY_MID 1 // Equal to 660/606(kbps)
+# A2DP_LDAC_QUALITY_LOW 2 // Equal to 330/303(kbps)
+# A2DP_LDAC_QUALITY_ABR 3 // ABR mode, range: 990,660,492,396,330(kbps)
+LdacDefaultQualityMode = 1
diff --git a/caiman/BoardConfig.mk b/caiman/BoardConfig.mk
index 5cf4452..034b3e7 100644
--- a/caiman/BoardConfig.mk
+++ b/caiman/BoardConfig.mk
@@ -20,10 +20,15 @@
BOARD_USES_GENERIC_AUDIO := true
USES_DEVICE_GOOGLE_CAIMITO := true
+RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_CAIMAN_RADIO_DIR)
+RELEASE_GOOGLE_PRODUCT_RADIOCFG_DIR := $(RELEASE_GOOGLE_CAIMAN_RADIOCFG_DIR)
+RELEASE_GOOGLE_PRODUCT_NTNRADIO_DIR := $(RELEASE_GOOGLE_CAIMAN_NTNRADIO_DIR)
+
include device/google/caimito/device-caimito-common.mk
include device/google/zumapro/BoardConfig-common.mk
-include vendor/google_devices/zumapro/prebuilts/BoardConfigVendor.mk
+include device/google/gs-common/check_current_prebuilt/check_current_prebuilt.mk
-include vendor/google_devices/caiman/proprietary/BoardConfigVendor.mk
include device/google/caimito-sepolicy/caiman-sepolicy.mk
include device/google/caimito/wifi/BoardConfig-wifi.mk
diff --git a/caiman/overlay/frameworks/base/core/res/res/values/config.xml b/caiman/overlay/frameworks/base/core/res/res/values/config.xml
index 024b6c4..ada5548 100644
--- a/caiman/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/caiman/overlay/frameworks/base/core/res/res/values/config.xml
@@ -54,6 +54,10 @@
<!-- 140 nits: (140-2)/(1250-2)*(0.61-0.0)+0.0 = 0.067451923 -->
<item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.067451923</item>
+ <!-- The maximum range of gamma adjustment possible using the screen
+ auto-brightness adjustment setting. -->
+ <fraction name="config_autoBrightnessAdjustmentMaxGamma">105%</fraction>
+
<!-- The default refresh rate. Pixel 6 manages this using the peak refresh rate setting, so set
this value to 0 so it has no effect. -->
<integer name="config_defaultRefreshRate">0</integer>
@@ -173,9 +177,12 @@
<!-- The max vibration strength allowed in audio haptic channels. -->
<item name="config_hapticChannelMaxVibrationAmplitude" format="float" type="dimen">0.335</item>
- <dimen name="status_bar_height_default">52dp</dimen>
- <dimen name="status_bar_height_portrait">52dp</dimen>
- <dimen name="status_bar_height_landscape">52dp</dimen>
+ <!-- Align to camera cutout's height. -->
+ <dimen name="status_bar_height_portrait">68dp</dimen>
+ <!-- Since @dimen/status_bar_height_portrait is modified in overlay, need to restore its value
+ from original folder. This should be done even looks no effect on some apps because
+ some other apps may reference to it. -->
+ <dimen name="status_bar_height_landscape">24dp</dimen>
<!-- Whether the display cutout region of the main built-in display should be forced to
black in software (to avoid aliasing or emulate a cutout that is not physically existent).
@@ -187,8 +194,10 @@
@left
</string>
+ <!-- This configuartion effects status bar's height actually. Set its height as double
+ y position of @dimen/config_mainBuiltInDisplayCutout to make cutout center vertically -->
<string translatable="false" name="config_mainBuiltInDisplayCutoutRectApproximation">
- m 586,0 h 108.5 v 155.5 H 586 Z
+ m 586,0 h 108.5 v 204 H 586 Z
@left
</string>
<!-- A string config in svg path format for the main display shape.
diff --git a/caiman/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/caiman/overlay/frameworks/base/core/res/res/xml/power_profile.xml
index dd14f6a..36a3c33 100644
--- a/caiman/overlay/frameworks/base/core/res/res/xml/power_profile.xml
+++ b/caiman/overlay/frameworks/base/core/res/res/xml/power_profile.xml
@@ -184,11 +184,11 @@
</array>
<item name="gps.voltage">3700</item>
<!-- Idle Receive current for wifi radio in mA.-->
- <item name="wifi.controller.idle">79</item>
+ <item name="wifi.controller.idle">31</item>
<!-- Rx current for wifi radio in mA.-->
- <item name="wifi.controller.rx">118</item>
+ <item name="wifi.controller.rx">39</item>
<!-- Tx current for wifi radio in mA-->
- <item name="wifi.controller.tx">331</item>
+ <item name="wifi.controller.tx">540</item>
<!-- Operating voltage for wifi radio in mV.-->
- <item name="wifi.controller.voltage">3700</item>
+ <item name="wifi.controller.voltage">3850</item>
</device>
diff --git a/caiman/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/caiman/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
index 116b0df..2e6af64 100644
--- a/caiman/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
+++ b/caiman/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
@@ -40,16 +40,6 @@
<string name="doze_brightness_sensor_type" translatable="false">com.google.sensor.binned_brightness</string>
<!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
- to brightness values; -1 means keeping the current brightness. -->
- <integer-array name="config_doze_brightness_sensor_to_brightness">
- <item>-1</item> <!-- 0: OFF -->
- <item>1</item> <!-- 1: NIGHT (1-1)/(255-1)*(2050-2)+2 = 2 nits -->
- <item>2</item> <!-- 2: LOW (2-1)/(255-1)*(2050-2)+2 = 10.1 nits -->
- <item>7</item> <!-- 3: HIGH (7-1)/(255-1)*(2050-2)+2 = 50.4 nits -->
- <item>7</item> <!-- 4: SUN -->
- </integer-array>
-
- <!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
to an opacity value for a black scrim that is overlaid in AOD1.
Valid range is from 0 (transparent) to 255 (opaque).
-1 means keeping the current opacity. -->
diff --git a/caiman/rro_overlays/NfcOverlay/res/values/config.xml b/caiman/rro_overlays/NfcOverlay/res/values/config.xml
index 6ca3d09..0d5fe75 100644
--- a/caiman/rro_overlays/NfcOverlay/res/values/config.xml
+++ b/caiman/rro_overlays/NfcOverlay/res/values/config.xml
@@ -31,6 +31,6 @@
<item>36</item>
</integer-array>
<integer-array name="antenna_y">
- <item>108</item>
+ <item>44</item>
</integer-array>
</resources>
diff --git a/caiman/rro_overlays/UwbOverlay/Android.bp b/caiman/rro_overlays/UwbOverlay/Android.bp
new file mode 100644
index 0000000..db283b4
--- /dev/null
+++ b/caiman/rro_overlays/UwbOverlay/Android.bp
@@ -0,0 +1,18 @@
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "//device/google/caimito:device_google_caimito_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: [
+ "//device/google/caimito:device_google_caimito_license",
+ ],
+}
+
+runtime_resource_overlay {
+ name: "UwbOverlayCM4",
+ theme: "UwbOverlayCM4",
+ certificate: "platform",
+ sdk_version: "current",
+ product_specific: true,
+}
diff --git a/caiman/rro_overlays/UwbOverlay/AndroidManifest.xml b/caiman/rro_overlays/UwbOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..216c3f1
--- /dev/null
+++ b/caiman/rro_overlays/UwbOverlay/AndroidManifest.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2024 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- Pixel specific uwb overlays -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.uwb.resources.pixel"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <application android:hasCode="false" />
+ <overlay
+ android:targetPackage="com.android.uwb.resources"
+ android:targetName="UwbCustomization"
+ android:isStatic="true"
+ android:priority="0"/>
+</manifest>
diff --git a/caiman/rro_overlays/UwbOverlay/OWNERS b/caiman/rro_overlays/UwbOverlay/OWNERS
new file mode 100644
index 0000000..2395d7f
--- /dev/null
+++ b/caiman/rro_overlays/UwbOverlay/OWNERS
@@ -0,0 +1,3 @@
+# People who can approve changes for submission
+include platform/packages/modules/Uwb:/OWNERS
[email protected]
diff --git a/caiman/rro_overlays/UwbOverlay/res/values/config.xml b/caiman/rro_overlays/UwbOverlay/res/values/config.xml
new file mode 100644
index 0000000..2e9b322
--- /dev/null
+++ b/caiman/rro_overlays/UwbOverlay/res/values/config.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<resources>
+ <!-- When true, the filter engine will alter UWB values to improve accuracy. -->
+ <bool name="enable_filters">true</bool>
+
+ <!-- Enables the AoA conversion primer. This is needed on hardware that does not convert AoA
+ to spherical coordinates, including hardware that does not support elevation.-->
+ <bool name="enable_primer_aoa">true</bool>
+
+ <!-- Whether background ranging is enabled or not
+ If enabled:
+ * Background 3p apps are allowed to open new ranging sessions
+ * When previously foreground 3p apps moves to background, sessions are not terminated
+ -->
+ <bool name = "background_ranging_enabled">true</bool>
+
+ <!-- Whether multicast list update notification v2 is supported or not.
+ If enabled, the notification will be parsed into version 2 if uci major version is 2.0. -->
+ <bool name = "is_multicast_list_update_ntf_v2_supported">true</bool>
+
+ <!-- Whether multicast list update response v2 is supported or not.
+ If enabled, the response will be parsed into version 2 if uci major version is 2.0. -->
+ <bool name = "is_multicast_list_update_rsp_v2_supported">true</bool>
+</resources>
diff --git a/caiman/uwb/Android.bp b/caiman/uwb/Android.bp
index de2da1f..3b575b1 100644
--- a/caiman/uwb/Android.bp
+++ b/caiman/uwb/Android.bp
@@ -69,3 +69,9 @@
defaults: ["conf_defaults"],
}
+prebuilt_etc {
+ name: "capabilities.conf",
+ src: "capabilities.conf",
+ defaults: ["conf_defaults"],
+}
+
diff --git a/caiman/uwb/capabilities.conf b/caiman/uwb/capabilities.conf
new file mode 100644
index 0000000..792aff1
--- /dev/null
+++ b/caiman/uwb/capabilities.conf
@@ -0,0 +1,8 @@
+# Tag 0x13
+# Length 1
+# b0 : Azimuth AoA -90° to 90°
+# b1 : Azimuth AoA -180° to 180°
+# b2 : Elevation AoA
+# b3 : AoA FoM
+# b7-b4 : RFU
+AOA_SUPPORT=0x0B
diff --git a/caiman/uwb/uwb_calibration.mk b/caiman/uwb/uwb_calibration.mk
index 09c4f13..7dc89a9 100644
--- a/caiman/uwb/uwb_calibration.mk
+++ b/caiman/uwb/uwb_calibration.mk
@@ -21,4 +21,5 @@
calibration-FCC.conf \
calibration-JP.conf \
calibration-TW.conf \
- calibration-RESTRICTED.conf
+ calibration-RESTRICTED.conf \
+ capabilities.conf
diff --git a/conf/init.caiman.rc b/conf/init.caiman.rc
index 215e60d..0898984 100644
--- a/conf/init.caiman.rc
+++ b/conf/init.caiman.rc
@@ -10,6 +10,7 @@
on init
# eSE streset tool name
setprop persist.vendor.se.streset libstreset24
+ setprop persist.vendor.nfc.streset libstreset24
# No se_chip_en for P1.0
on late-init && property:ro.boot.hardware.revision=PROTO1.0
setprop persist.vendor.se.reset.chip_en false
diff --git a/conf/init.komodo.rc b/conf/init.komodo.rc
index 97a6e22..e118f36 100644
--- a/conf/init.komodo.rc
+++ b/conf/init.komodo.rc
@@ -10,6 +10,7 @@
on init
# eSE streset tool name
setprop persist.vendor.se.streset libstreset24
+ setprop persist.vendor.nfc.streset libstreset24
# No se_chip_en for P1.0
on late-init && property:ro.boot.hardware.revision=PROTO1.0
setprop persist.vendor.se.reset.chip_en false
diff --git a/conf/init.tokay.rc b/conf/init.tokay.rc
index 99963f9..17e5c79 100644
--- a/conf/init.tokay.rc
+++ b/conf/init.tokay.rc
@@ -10,6 +10,7 @@
on init
# eSE streset tool name
setprop persist.vendor.se.streset libstreset24
+ setprop persist.vendor.nfc.streset libstreset24
# No se_chip_en for P1.0
on late-init && property:ro.boot.hardware.revision=PROTO1.0
setprop persist.vendor.se.reset.chip_en false
diff --git a/device-caiman.mk b/device-caiman.mk
index 4b83325..ce43669 100644
--- a/device-caiman.mk
+++ b/device-caiman.mk
@@ -14,6 +14,8 @@
# limitations under the License.
#
+SHIPPING_API_LEVEL := 34
+
ifdef RELEASE_GOOGLE_CAIMAN_RADIO_DIR
RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_CAIMAN_RADIO_DIR)
endif
@@ -27,6 +29,9 @@
ifdef RELEASE_KERNEL_CAIMAN_DIR
TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_CAIMAN_DIR)
TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_CAIMAN_DIR)/kernel-headers
+
+include device/google/caimito/device-caimito-16k-common.mk
+
else
TARGET_KERNEL_DIR ?= device/google/caimito-kernels/6.1/24D1
TARGET_BOARD_KERNEL_HEADERS ?= device/google/caimito-kernels/6.1/24D1/kernel-headers
@@ -67,6 +72,7 @@
include device/google/caimito/fingerprint/ultrasonic_udfps.mk
include device/google/gs-common/modem/radio_ext/radio_ext.mk
include device/google/gs-common/pixelsupport/pixelsupport.mk
+include device/google/gs-common/gril/hidl/1.7/gril_hidl.mk
# Increment the SVN for any official public releases
ifdef RELEASE_SVN_CAIMAN
@@ -79,6 +85,25 @@
PRODUCT_VENDOR_PROPERTIES += \
ro.vendor.build.svn=$(TARGET_SVN)
+# Set device family property for SMR
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.build.device_family=CM4KM4TK4TG4
+
+# Set build properties for SMR builds
+ifeq ($(RELEASE_IS_SMR), true)
+ ifneq (,$(RELEASE_BASE_OS_CAIMAN))
+ PRODUCT_BASE_OS := $(RELEASE_BASE_OS_CAIMAN)
+ endif
+endif
+
+# Set build properties for EMR builds
+ifeq ($(RELEASE_IS_EMR), true)
+ ifneq (,$(RELEASE_BASE_OS_CAIMAN))
+ PRODUCT_PROPERTY_OVERRIDES += \
+ ro.build.version.emergency_base_os=$(RELEASE_BASE_OS_CAIMAN)
+ endif
+endif
+
# go/lyric-soong-variables
$(call soong_config_set,lyric,camera_hardware,caiman)
$(call soong_config_set,lyric,tuning_product,caiman)
@@ -266,6 +291,10 @@
PRODUCT_SOONG_NAMESPACES += \
device/google/caimito/powerstats/caiman
+# UWB Overlay
+PRODUCT_PACKAGES += \
+ UwbOverlayCM4
+
# WiFi Overlay
PRODUCT_PACKAGES += \
WifiOverlay2024
@@ -335,6 +364,11 @@
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.vendor.primarydisplay.vrr.expected_present.timeout_ns=500000000
endif
+# Display OP HZ Config
+PRODUCT_VENDOR_PROPERTIES += \
+ vendor.primarydisplay.op.hs_hz=120 \
+ vendor.primarydisplay.op.ns_hz=120
+
# Display fixed TE2
PRODUCT_VENDOR_PROPERTIES += vendor.primarydisplay.fixed_te2.default_rate_hz=120
@@ -353,6 +387,10 @@
persist.vendor.vibrator.hal.context.settlingtime=5000 \
ro.vendor.vibrator.hal.pm.activetimeout=5
+# Override Output Distortion Gain
+PRODUCT_VENDOR_PROPERTIES += \
+ vendor.audio.hapticgenerator.distortion.output.gain=0.48
+
# PKVM Memory Reclaim
PRODUCT_VENDOR_PROPERTIES += \
hypervisor.memory_reclaim.supported=1
@@ -404,7 +442,7 @@
# LE Audio Unicast Allowlist
PRODUCT_PRODUCT_PROPERTIES += \
- persist.bluetooth.leaudio.allow_list=SM-R510
+ persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5
# Support LE & Classic concurrent encryption (b/330704060)
PRODUCT_PRODUCT_PROPERTIES += \
@@ -431,13 +469,30 @@
# Window Extensions
$(call inherit-product, $(SRC_TARGET_DIR)/product/window_extensions.mk)
-# Connectivity Resources Overlay
+# Connectivity Resources Overlay for Thread host settings
PRODUCT_PACKAGES += \
ConnectivityResourcesOverlayCaimitoOverride
+# Thread Dispatcher enablement in Bluetooth HAL
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.bluetooth.thread_dispatcher.enabled=false
+
#Component Override for Pixel Troubleshooting App
PRODUCT_COPY_FILES += \
device/google/caimito/caiman/caiman-component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/caiman-component-overrides.xml
+# Bluetooth device id
+# Caiman: 0x4110
PRODUCT_PRODUCT_PROPERTIES += \
- persist.bluetooth.thread_dispatcher.enabled=true
+ bluetooth.device_id.product_id=16656
+
+# Set support for LEA multicodec
+PRODUCT_PRODUCT_PROPERTIES += \
+ bluetooth.core.le_audio.codec_extension_aidl.enabled=true
+
+# LE Audio configuration scenarios
+PRODUCT_COPY_FILES += \
+ device/google/caimito/bluetooth/audio_set_scenarios.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_scenarios.json
+
+PRODUCT_COPY_FILES += \
+ device/google/caimito/bluetooth/audio_set_configurations.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_configurations.json
diff --git a/device-caimito-16k-common.mk b/device-caimito-16k-common.mk
new file mode 100644
index 0000000..b969354
--- /dev/null
+++ b/device-caimito-16k-common.mk
@@ -0,0 +1,20 @@
+#
+# Copyright (C) 2024 The Android Open-Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+ifeq ($(TARGET_BOOTS_16K),true)
+# Configures the 16kb kernel directory.
+TARGET_KERNEL_DIR := $(TARGET_KERNEL_DIR)/16kb
+endif
diff --git a/device-komodo.mk b/device-komodo.mk
index 30d54d6..18d62ad 100644
--- a/device-komodo.mk
+++ b/device-komodo.mk
@@ -14,6 +14,8 @@
# limitations under the License.
#
+SHIPPING_API_LEVEL := 34
+
ifdef RELEASE_GOOGLE_KOMODO_RADIO_DIR
RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_KOMODO_RADIO_DIR)
endif
@@ -27,6 +29,9 @@
ifdef RELEASE_KERNEL_KOMODO_DIR
TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_KOMODO_DIR)
TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_KOMODO_DIR)/kernel-headers
+
+include device/google/caimito/device-caimito-16k-common.mk
+
else
TARGET_KERNEL_DIR ?= device/google/caimito-kernels/6.1/24D1
TARGET_BOARD_KERNEL_HEADERS ?= device/google/caimito-kernels/6.1/24D1/kernel-headers
@@ -67,6 +72,7 @@
include device/google/caimito/fingerprint/ultrasonic_udfps.mk
include device/google/gs-common/modem/radio_ext/radio_ext.mk
include device/google/gs-common/pixelsupport/pixelsupport.mk
+include device/google/gs-common/gril/hidl/1.7/gril_hidl.mk
# Increment the SVN for any official public releases
ifdef RELEASE_SVN_KOMODO
@@ -79,6 +85,25 @@
PRODUCT_VENDOR_PROPERTIES += \
ro.vendor.build.svn=$(TARGET_SVN)
+# Set device family property for SMR
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.build.device_family=CM4KM4TK4TG4
+
+# Set build properties for SMR builds
+ifeq ($(RELEASE_IS_SMR), true)
+ ifneq (,$(RELEASE_BASE_OS_KOMODO))
+ PRODUCT_BASE_OS := $(RELEASE_BASE_OS_KOMODO)
+ endif
+endif
+
+# Set build properties for EMR builds
+ifeq ($(RELEASE_IS_EMR), true)
+ ifneq (,$(RELEASE_BASE_OS_KOMODO))
+ PRODUCT_PROPERTY_OVERRIDES += \
+ ro.build.version.emergency_base_os=$(RELEASE_BASE_OS_KOMODO)
+ endif
+endif
+
# go/lyric-soong-variables
$(call soong_config_set,lyric,camera_hardware,komodo)
$(call soong_config_set,lyric,tuning_product,komodo)
@@ -97,6 +122,11 @@
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.ignore_hdr_camera_layers=true
+# Display OP HZ Config
+PRODUCT_VENDOR_PROPERTIES += \
+ vendor.primarydisplay.op.hs_hz=120 \
+ vendor.primarydisplay.op.ns_hz=120
+
# Display fixed TE2
PRODUCT_VENDOR_PROPERTIES += vendor.primarydisplay.fixed_te2.default_rate_hz=120
@@ -281,6 +311,10 @@
PRODUCT_SOONG_NAMESPACES += \
device/google/caimito/powerstats/komodo
+# UWB Overlay
+PRODUCT_PACKAGES += \
+ UwbOverlayKM4
+
# WiFi Overlay
PRODUCT_PACKAGES += \
WifiOverlay2024
@@ -354,6 +388,10 @@
persist.vendor.vibrator.hal.context.settlingtime=5000 \
ro.vendor.vibrator.hal.pm.activetimeout=5
+# Override Output Distortion Gain
+PRODUCT_VENDOR_PROPERTIES += \
+ vendor.audio.hapticgenerator.distortion.output.gain=0.48
+
# PKVM Memory Reclaim
PRODUCT_VENDOR_PROPERTIES += \
hypervisor.memory_reclaim.supported=1
@@ -401,7 +439,7 @@
# LE Audio Unicast Allowlist
PRODUCT_PRODUCT_PROPERTIES += \
- persist.bluetooth.leaudio.allow_list=SM-R510
+ persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5
# Support LE & Classic concurrent encryption (b/330704060)
PRODUCT_PRODUCT_PROPERTIES += \
@@ -432,13 +470,30 @@
$(call inherit-product-if-exists, device/google/common/etm/device-userdebug-modules.mk)
endif
-# Connectivity Resources Overlay
+# Connectivity Resources Overlay for Thread host settings
PRODUCT_PACKAGES += \
ConnectivityResourcesOverlayCaimitoOverride
+# Thread Dispatcher enablement in Bluetooth HAL
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.bluetooth.thread_dispatcher.enabled=false
+
#Component Override for Pixel Troubleshooting App
PRODUCT_COPY_FILES += \
device/google/caimito/komodo/komodo-component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/komodo-component-overrides.xml
+# Bluetooth device id
+# Komodo: 0x4111
PRODUCT_PRODUCT_PROPERTIES += \
- persist.bluetooth.thread_dispatcher.enabled=true
+ bluetooth.device_id.product_id=16657
+
+# Set support for LEA multicodec
+PRODUCT_PRODUCT_PROPERTIES += \
+ bluetooth.core.le_audio.codec_extension_aidl.enabled=true
+
+# LE Audio configuration scenarios
+PRODUCT_COPY_FILES += \
+ device/google/caimito/bluetooth/audio_set_scenarios.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_scenarios.json
+
+PRODUCT_COPY_FILES += \
+ device/google/caimito/bluetooth/audio_set_configurations.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_configurations.json
diff --git a/device-ripcurrent24.mk b/device-ripcurrent24.mk
index 062f26d..0711143 100644
--- a/device-ripcurrent24.mk
+++ b/device-ripcurrent24.mk
@@ -14,6 +14,8 @@
# limitations under the License.
#
+SHIPPING_API_LEVEL := 34
+
ifdef RELEASE_GOOGLE_RIPCURRENT24_RADIO_DIR
RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_RIPCURRENT24_RADIO_DIR)
endif
@@ -44,6 +46,7 @@
include device/google/gs-common/bcmbt/bluetooth.mk
include device/google/gs-common/touch/stm/stm20.mk
include device/google/caimito/fingerprint/ultrasonic_udfps.mk
+include device/google/gs-common/gril/hidl/1.7/gril_hidl.mk
# go/lyric-soong-variables
# Set to 'ripcurrent' as ripcurrent camera service is compatible with ripcurrent24.
diff --git a/device-ripcurrentpro.mk b/device-ripcurrentpro.mk
index c02b719..29f52b6 100644
--- a/device-ripcurrentpro.mk
+++ b/device-ripcurrentpro.mk
@@ -14,6 +14,8 @@
# limitations under the License.
#
+SHIPPING_API_LEVEL := 34
+
ifdef RELEASE_GOOGLE_RIPCURRENTPRO_RADIO_DIR
RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_RIPCURRENTPRO_RADIO_DIR)
endif
@@ -47,6 +49,7 @@
include device/google/gs-common/bcmbt/bluetooth.mk
include device/google/gs-common/touch/stm/stm20.mk
include device/google/caimito/fingerprint/ultrasonic_udfps.mk
+include device/google/gs-common/gril/hidl/1.7/gril_hidl.mk
# go/lyric-soong-variables
$(call soong_config_set,lyric,camera_hardware,ripcurrentpro)
@@ -243,3 +246,7 @@
# PKVM Memory Reclaim
PRODUCT_VENDOR_PROPERTIES += \
hypervisor.memory_reclaim.supported=1
+
+# Thread HAL
+PRODUCT_PACKAGES += \
+ com.google.caimito.hardware.threadnetwork
diff --git a/device-tokay.mk b/device-tokay.mk
index c65bc59..5d7f4c0 100644
--- a/device-tokay.mk
+++ b/device-tokay.mk
@@ -14,6 +14,8 @@
# limitations under the License.
#
+SHIPPING_API_LEVEL := 34
+
ifdef RELEASE_GOOGLE_TOKAY_RADIO_DIR
RELEASE_GOOGLE_PRODUCT_RADIO_DIR ?= $(RELEASE_GOOGLE_TOKAY_RADIO_DIR)
endif
@@ -27,6 +29,9 @@
ifdef RELEASE_KERNEL_TOKAY_DIR
TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_TOKAY_DIR)
TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_TOKAY_DIR)/kernel-headers
+
+include device/google/caimito/device-caimito-16k-common.mk
+
else
TARGET_KERNEL_DIR ?= device/google/caimito-kernels/6.1/24D1
TARGET_BOARD_KERNEL_HEADERS ?= device/google/caimito-kernels/6.1/24D1/kernel-headers
@@ -57,6 +62,7 @@
include device/google/caimito/fingerprint/ultrasonic_udfps.mk
include device/google/gs-common/modem/radio_ext/radio_ext.mk
include device/google/gs-common/pixelsupport/pixelsupport.mk
+include device/google/gs-common/gril/hidl/1.7/gril_hidl.mk
# Increment the SVN for any official public releases
ifdef RELEASE_SVN_TOKAY
@@ -69,6 +75,25 @@
PRODUCT_VENDOR_PROPERTIES += \
ro.vendor.build.svn=$(TARGET_SVN)
+# Set device family property for SMR
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.build.device_family=CM4KM4TK4TG4
+
+# Set build properties for SMR builds
+ifeq ($(RELEASE_IS_SMR), true)
+ ifneq (,$(RELEASE_BASE_OS_TOKAY))
+ PRODUCT_BASE_OS := $(RELEASE_BASE_OS_TOKAY)
+ endif
+endif
+
+# Set build properties for EMR builds
+ifeq ($(RELEASE_IS_EMR), true)
+ ifneq (,$(RELEASE_BASE_OS_TOKAY))
+ PRODUCT_PROPERTY_OVERRIDES += \
+ ro.build.version.emergency_base_os=$(RELEASE_BASE_OS_TOKAY)
+ endif
+endif
+
# go/lyric-soong-variables
$(call soong_config_set,lyric,camera_hardware,tokay)
$(call soong_config_set,lyric,tuning_product,tokay)
@@ -277,8 +302,11 @@
# For GPS property
PRODUCT_VENDOR_PROPERTIES += ro.vendor.gps.pps.enabled=true
-# Display LBE
-PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.lbe.supported=1
+# Display function property settings
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
+ vendor.display.lbe.supported=1 \
+ ro.vendor.primarydisplay.google-tk4c.temperature_path=/dev/thermal/tz-by-name/disp_therm/temp \
+ ro.vendor.display.read_temp_interval=30
#Thermal VT estimator
PRODUCT_PACKAGES += \
@@ -325,6 +353,10 @@
persist.vendor.vibrator.hal.context.settlingtime=5000 \
ro.vendor.vibrator.hal.pm.activetimeout=5
+# Override Output Distortion Gain
+PRODUCT_VENDOR_PROPERTIES += \
+ vendor.audio.hapticgenerator.distortion.output.gain=0.48
+
# PKVM Memory Reclaim
PRODUCT_VENDOR_PROPERTIES += \
hypervisor.memory_reclaim.supported=1
@@ -376,7 +408,7 @@
# LE Audio Unicast Allowlist
PRODUCT_PRODUCT_PROPERTIES += \
- persist.bluetooth.leaudio.allow_list=SM-R510
+ persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5
# Support LE & Classic concurrent encryption (b/330704060)
PRODUCT_PRODUCT_PROPERTIES += \
@@ -403,17 +435,34 @@
$(call inherit-product-if-exists, device/google/common/etm/device-userdebug-modules.mk)
endif
-# Connectivity Resources Overlay
+# Connectivity Resources Overlay for Thread host settings
PRODUCT_PACKAGES += \
ConnectivityResourcesOverlayCaimitoOverride
+# Thread Dispatcher enablement in Bluetooth HAL
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.bluetooth.thread_dispatcher.enabled=false
+
#Component Override for Pixel Troubleshooting App
PRODUCT_COPY_FILES += \
device/google/caimito/tokay/tokay-component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/tokay-component-overrides.xml
+# Bluetooth device id
+# Tokay: 0x4112
PRODUCT_PRODUCT_PROPERTIES += \
- persist.bluetooth.thread_dispatcher.enabled=true
+ bluetooth.device_id.product_id=16658
+
+# Set support for LEA multicodec
+PRODUCT_PRODUCT_PROPERTIES += \
+ bluetooth.core.le_audio.codec_extension_aidl.enabled=true
# Reduce lmkd aggressiveness
PRODUCT_PROPERTY_OVERRIDES += \
ro.lmk.swap_free_low_percentage=7
+
+# LE Audio configuration scenarios
+PRODUCT_COPY_FILES += \
+ device/google/caimito/bluetooth/audio_set_scenarios.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_scenarios.json
+
+PRODUCT_COPY_FILES += \
+ device/google/caimito/bluetooth/audio_set_configurations.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_configurations.json
diff --git a/komodo/BoardConfig.mk b/komodo/BoardConfig.mk
index ede93d4..6b30ab1 100644
--- a/komodo/BoardConfig.mk
+++ b/komodo/BoardConfig.mk
@@ -20,10 +20,15 @@
BOARD_USES_GENERIC_AUDIO := true
USES_DEVICE_GOOGLE_CAIMITO := true
+RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_KOMODO_RADIO_DIR)
+RELEASE_GOOGLE_PRODUCT_RADIOCFG_DIR := $(RELEASE_GOOGLE_KOMODO_RADIOCFG_DIR)
+RELEASE_GOOGLE_PRODUCT_NTNRADIO_DIR := $(RELEASE_GOOGLE_KOMODO_NTNRADIO_DIR)
+
include device/google/caimito/device-caimito-common.mk
include device/google/zumapro/BoardConfig-common.mk
-include vendor/google_devices/zumapro/prebuilts/BoardConfigVendor.mk
+include device/google/gs-common/check_current_prebuilt/check_current_prebuilt.mk
-include vendor/google_devices/komodo/proprietary/BoardConfigVendor.mk
include device/google/caimito-sepolicy/komodo-sepolicy.mk
include device/google/caimito/wifi/BoardConfig-wifi.mk
diff --git a/komodo/overlay/frameworks/base/core/res/res/values/config.xml b/komodo/overlay/frameworks/base/core/res/res/values/config.xml
index 157f42c..5910fc6 100644
--- a/komodo/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/komodo/overlay/frameworks/base/core/res/res/values/config.xml
@@ -54,6 +54,10 @@
<!-- 140 nits: (140-2)/(1250-2)*(0.61-0.0)+0.0 = 0.067451923 -->
<item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.067451923</item>
+ <!-- The maximum range of gamma adjustment possible using the screen
+ auto-brightness adjustment setting. -->
+ <fraction name="config_autoBrightnessAdjustmentMaxGamma">105%</fraction>
+
<!-- The default refresh rate. Pixel 6 manages this using the peak refresh rate setting, so set
this value to 0 so it has no effect. -->
<integer name="config_defaultRefreshRate">0</integer>
@@ -173,9 +177,12 @@
<!-- The max vibration strength allowed in audio haptic channels. -->
<item name="config_hapticChannelMaxVibrationAmplitude" format="float" type="dimen">0.335</item>
- <dimen name="status_bar_height_default">52dp</dimen>
- <dimen name="status_bar_height_portrait">52dp</dimen>
- <dimen name="status_bar_height_landscape">52dp</dimen>
+ <!-- Align to camera cutout's height. -->
+ <dimen name="status_bar_height_portrait">66dp</dimen>
+ <!-- Since @dimen/status_bar_height_portrait is modified in overlay, need to restore its value
+ from original folder. This should be done even looks no effect on some apps because
+ some other apps may reference to it. -->
+ <dimen name="status_bar_height_landscape">24dp</dimen>
<!-- Whether the display cutout region of the main built-in display should be forced to
black in software (to avoid aliasing or emulate a cutout that is not physically existent).
@@ -187,8 +194,10 @@
@left
</string>
+ <!-- This configuartion effects status bar's height actually. Set its height as double
+ y position of @dimen/config_mainBuiltInDisplayCutout to make cutout center vertically -->
<string translatable="false" name="config_mainBuiltInDisplayCutoutRectApproximation">
- m 614.53715,0 h 115 v 158.5 h -115 z
+ m 614.53715,0 h 115 v 199 h -115 z
@left
</string>
<!-- A string config in svg path format for the main display shape.
diff --git a/komodo/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/komodo/overlay/frameworks/base/core/res/res/xml/power_profile.xml
index dd14f6a..36a3c33 100644
--- a/komodo/overlay/frameworks/base/core/res/res/xml/power_profile.xml
+++ b/komodo/overlay/frameworks/base/core/res/res/xml/power_profile.xml
@@ -184,11 +184,11 @@
</array>
<item name="gps.voltage">3700</item>
<!-- Idle Receive current for wifi radio in mA.-->
- <item name="wifi.controller.idle">79</item>
+ <item name="wifi.controller.idle">31</item>
<!-- Rx current for wifi radio in mA.-->
- <item name="wifi.controller.rx">118</item>
+ <item name="wifi.controller.rx">39</item>
<!-- Tx current for wifi radio in mA-->
- <item name="wifi.controller.tx">331</item>
+ <item name="wifi.controller.tx">540</item>
<!-- Operating voltage for wifi radio in mV.-->
- <item name="wifi.controller.voltage">3700</item>
+ <item name="wifi.controller.voltage">3850</item>
</device>
diff --git a/komodo/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/komodo/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
index 7b3e4c7..c8756fa 100644
--- a/komodo/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
+++ b/komodo/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
@@ -40,16 +40,6 @@
<string name="doze_brightness_sensor_type" translatable="false">com.google.sensor.binned_brightness</string>
<!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
- to brightness values; -1 means keeping the current brightness. -->
- <integer-array name="config_doze_brightness_sensor_to_brightness">
- <item>-1</item> <!-- 0: OFF -->
- <item>1</item> <!-- 1: NIGHT (1-1)/(255-1)*(2050-2)+2 = 2 nits -->
- <item>2</item> <!-- 2: LOW (2-1)/(255-1)*(2050-2)+2 = 10.1 nits -->
- <item>7</item> <!-- 3: HIGH (7-1)/(255-1)*(2050-2)+2 = 50.4 nits -->
- <item>7</item> <!-- 4: SUN -->
- </integer-array>
-
- <!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
to an opacity value for a black scrim that is overlaid in AOD1.
Valid range is from 0 (transparent) to 255 (opaque).
-1 means keeping the current opacity. -->
diff --git a/komodo/rro_overlays/NfcOverlay/res/values/config.xml b/komodo/rro_overlays/NfcOverlay/res/values/config.xml
index 1f9d2c4..4b87d82 100644
--- a/komodo/rro_overlays/NfcOverlay/res/values/config.xml
+++ b/komodo/rro_overlays/NfcOverlay/res/values/config.xml
@@ -31,6 +31,6 @@
<item>38</item>
</integer-array>
<integer-array name="antenna_y">
- <item>112</item>
+ <item>50</item>
</integer-array>
</resources>
diff --git a/komodo/rro_overlays/UwbOverlay/res/values/config.xml b/komodo/rro_overlays/UwbOverlay/res/values/config.xml
index bf8d264..be74e3e 100644
--- a/komodo/rro_overlays/UwbOverlay/res/values/config.xml
+++ b/komodo/rro_overlays/UwbOverlay/res/values/config.xml
@@ -30,4 +30,12 @@
* When previously foreground 3p apps moves to background, sessions are not terminated
-->
<bool name = "background_ranging_enabled">true</bool>
+
+ <!-- Whether multicast list update notification v2 is supported or not.
+ If enabled, the notification will be parsed into version 2 if uci major version is 2.0. -->
+ <bool name = "is_multicast_list_update_ntf_v2_supported">true</bool>
+
+ <!-- Whether multicast list update response v2 is supported or not.
+ If enabled, the response will be parsed into version 2 if uci major version is 2.0. -->
+ <bool name = "is_multicast_list_update_rsp_v2_supported">true</bool>
</resources>
diff --git a/komodo/uwb/Android.bp b/komodo/uwb/Android.bp
index de2da1f..3b575b1 100644
--- a/komodo/uwb/Android.bp
+++ b/komodo/uwb/Android.bp
@@ -69,3 +69,9 @@
defaults: ["conf_defaults"],
}
+prebuilt_etc {
+ name: "capabilities.conf",
+ src: "capabilities.conf",
+ defaults: ["conf_defaults"],
+}
+
diff --git a/komodo/uwb/capabilities.conf b/komodo/uwb/capabilities.conf
new file mode 100644
index 0000000..792aff1
--- /dev/null
+++ b/komodo/uwb/capabilities.conf
@@ -0,0 +1,8 @@
+# Tag 0x13
+# Length 1
+# b0 : Azimuth AoA -90° to 90°
+# b1 : Azimuth AoA -180° to 180°
+# b2 : Elevation AoA
+# b3 : AoA FoM
+# b7-b4 : RFU
+AOA_SUPPORT=0x0B
diff --git a/komodo/uwb/uwb_calibration.mk b/komodo/uwb/uwb_calibration.mk
index 09c4f13..7dc89a9 100644
--- a/komodo/uwb/uwb_calibration.mk
+++ b/komodo/uwb/uwb_calibration.mk
@@ -21,4 +21,5 @@
calibration-FCC.conf \
calibration-JP.conf \
calibration-TW.conf \
- calibration-RESTRICTED.conf
+ calibration-RESTRICTED.conf \
+ capabilities.conf
diff --git a/location/caiman/user/gps.cfg b/location/caiman/user/gps.cfg
index 8c6515a..d329a77 100644
--- a/location/caiman/user/gps.cfg
+++ b/location/caiman/user/gps.cfg
@@ -18,6 +18,7 @@
gnss_device_data_port_chpp_present=1
GlueLayer_YearOfHW=2023
scheduling_enabled=1
+ChipCfg_Timemark_Option=1
ChipCfg_VDR_high_end_Distance = 200
ChipCfg_VDR_low_end_Distance = 200
ChipCfg_VDR_high_end_Time = 20
@@ -28,6 +29,7 @@
Chip_Configuration_GNSSConstConstraintDef = 0x60FF
LocTech_Constraints = 0x60FF
Chip_Configuration_RfMiscCtrl = 0x80008001
+Chip_Configuration_ntn_option=2
bdsUsedInUSPolicy=2
sbasUsedInUSPolicy=2
qzssUsedInUSPolicy=2
@@ -54,6 +56,12 @@
GlueLayer_IsMemsEnable=1
GlueLayer_MeasCorrCap=7
Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
CP_LocTech_PrimaryConst=0
CP_LocTech_Constraints=1
@@ -72,6 +80,10 @@
MultiBandNmTrkPower=28
SingleBandUdTrkPower=14
MultiBandUdTrkPower=18
+path_delay_glo_12fx_cm = -5076,-5076,-5064,-5022,-4982,-4916,-4879,-4800,-4704,-4647,-4628,-4573,-4522,-4493
+path_delay_gps_2fx_cm = 12371
+path_delay_bds_4fx_cm = 123
+path_delay_l5_20fx_cm = 105888
RfPathLossDb_Ap=3210
RfPathLossDb_Cp=3210
RfPathLossDb_L5_Ap=4450
@@ -110,12 +122,16 @@
ENABLE_LPP_UP=0
ENABLE_LPPE_CP=3
ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
ENABLE_NLP_IN_LPPE=1
ENABLE_NLP_IN_AGNSS=0
ENABLE_LPP_HA_GAD_SHAPE=0
USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
GNSS_CARRIER_ID=2
ENABLE_3G_CP_CAPS_MSA=0
@@ -125,7 +141,6 @@
ENABLE_LPP_HA_GAD_SHAPE=1
GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
ENABLE_LPP_UP=1
ENABLE_LPPE_UP=3
SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/caiman/userdebug/gps.cfg b/location/caiman/userdebug/gps.cfg
index 9276d62..61c7f3e 100644
--- a/location/caiman/userdebug/gps.cfg
+++ b/location/caiman/userdebug/gps.cfg
@@ -53,6 +53,9 @@
GlueLayer_YearOfHW=2023
scheduling_enabled=1
+# 1pps timemark output: 0: disable 1: enable
+ChipCfg_Timemark_Option=1
+
# VDR End condition (meter, meter, sec, sec)
ChipCfg_VDR_high_end_Distance = 200
ChipCfg_VDR_low_end_Distance = 200
@@ -112,6 +115,11 @@
#Chip_Configuration_RfMiscCtrl=0x8001
#Chip_Configuration_IspTestConfig=0x22242822
+#Chip_Configuration_ntn_option=0 means no NTN blackout IPC handling
+#Chip_Configuration_ntn_option=1 means L1 blanking during NTN blackout period.
+#Chip_Configuration_ntn_option=2 means turning GNSS off during NTN blackout period.
+Chip_Configuration_ntn_option=2
+
# Disable BDS in the U.S.
# 0-enabled (default), 1-disabled, 2-auto(disabled in US)
#gloUsedInUSPolicy=2
@@ -189,6 +197,12 @@
# 0x0010: CHIP_CONFIG_MEMS_ORIENTATION_AVAILABLE
# 0x0020: CHIP_CONFIG_MEMS_STEPCOUNTER_AVAILABLE
Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
CP_LocTech_PrimaryConst=0
CP_LocTech_Constraints=1
@@ -210,6 +224,11 @@
SingleBandUdTrkPower=14
MultiBandUdTrkPower=18
+path_delay_glo_12fx_cm = -5076,-5076,-5064,-5022,-4982,-4916,-4879,-4800,-4704,-4647,-4628,-4573,-4522,-4493
+path_delay_gps_2fx_cm = 12371
+path_delay_bds_4fx_cm = 123
+path_delay_l5_20fx_cm = 105888
+
RfPathLossDb_Ap=3210
RfPathLossDb_Cp=3210
RfPathLossDb_L5_Ap=4450
@@ -266,12 +285,16 @@
ENABLE_LPP_UP=0
ENABLE_LPPE_CP=3
ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
ENABLE_NLP_IN_LPPE=1
ENABLE_NLP_IN_AGNSS=0
ENABLE_LPP_HA_GAD_SHAPE=0
USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
# ATT
GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
# TMO
GNSS_CARRIER_ID=2
ENABLE_3G_CP_CAPS_MSA=0
@@ -281,7 +304,6 @@
ENABLE_LPP_HA_GAD_SHAPE=1
# VZW
GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
ENABLE_LPP_UP=1
ENABLE_LPPE_UP=3
SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/komodo/user/gps.cfg b/location/komodo/user/gps.cfg
index fcbf35c..f9e6e7c 100644
--- a/location/komodo/user/gps.cfg
+++ b/location/komodo/user/gps.cfg
@@ -18,6 +18,7 @@
gnss_device_data_port_chpp_present=1
GlueLayer_YearOfHW=2023
scheduling_enabled=1
+ChipCfg_Timemark_Option=1
ChipCfg_VDR_high_end_Distance = 200
ChipCfg_VDR_low_end_Distance = 200
ChipCfg_VDR_high_end_Time = 20
@@ -28,6 +29,7 @@
Chip_Configuration_GNSSConstConstraintDef = 0x60FF
LocTech_Constraints = 0x60FF
Chip_Configuration_RfMiscCtrl = 0x80008001
+Chip_Configuration_ntn_option=2
bdsUsedInUSPolicy=2
sbasUsedInUSPolicy=2
qzssUsedInUSPolicy=2
@@ -54,6 +56,12 @@
GlueLayer_IsMemsEnable=1
GlueLayer_MeasCorrCap=7
Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
CP_LocTech_PrimaryConst=0
CP_LocTech_Constraints=1
@@ -72,6 +80,10 @@
MultiBandNmTrkPower=28
SingleBandUdTrkPower=14
MultiBandUdTrkPower=18
+path_delay_glo_12fx_cm = -5185,-5158,-5112,-5111,-5031,-4972,-4900,-4823,-4765,-4714,-4625,-4613,-4553,-4553
+path_delay_gps_2fx_cm = 12378
+path_delay_bds_4fx_cm = 168
+path_delay_l5_20fx_cm = 105902
RfPathLossDb_Ap=3520
RfPathLossDb_Cp=3520
RfPathLossDb_L5_Ap=3700
@@ -110,12 +122,16 @@
ENABLE_LPP_UP=0
ENABLE_LPPE_CP=3
ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
ENABLE_NLP_IN_LPPE=1
ENABLE_NLP_IN_AGNSS=0
ENABLE_LPP_HA_GAD_SHAPE=0
USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
GNSS_CARRIER_ID=2
ENABLE_3G_CP_CAPS_MSA=0
@@ -125,7 +141,6 @@
ENABLE_LPP_HA_GAD_SHAPE=1
GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
ENABLE_LPP_UP=1
ENABLE_LPPE_UP=3
SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/komodo/userdebug/gps.cfg b/location/komodo/userdebug/gps.cfg
index f700583..3aae35e 100644
--- a/location/komodo/userdebug/gps.cfg
+++ b/location/komodo/userdebug/gps.cfg
@@ -53,6 +53,9 @@
GlueLayer_YearOfHW=2023
scheduling_enabled=1
+# 1pps timemark output: 0: disable 1: enable
+ChipCfg_Timemark_Option=1
+
# VDR End condition (meter, meter, sec, sec)
ChipCfg_VDR_high_end_Distance = 200
ChipCfg_VDR_low_end_Distance = 200
@@ -112,6 +115,11 @@
#Chip_Configuration_RfMiscCtrl=0x8001
#Chip_Configuration_IspTestConfig=0x22242822
+#Chip_Configuration_ntn_option=0 means no NTN blackout IPC handling
+#Chip_Configuration_ntn_option=1 means L1 blanking during NTN blackout period.
+#Chip_Configuration_ntn_option=2 means turning GNSS off during NTN blackout period.
+Chip_Configuration_ntn_option=2
+
# Disable BDS in the U.S.
# 0-enabled (default), 1-disabled, 2-auto(disabled in US)
#gloUsedInUSPolicy=2
@@ -189,6 +197,12 @@
# 0x0010: CHIP_CONFIG_MEMS_ORIENTATION_AVAILABLE
# 0x0020: CHIP_CONFIG_MEMS_STEPCOUNTER_AVAILABLE
Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
CP_LocTech_PrimaryConst=0
CP_LocTech_Constraints=1
@@ -210,6 +224,11 @@
SingleBandUdTrkPower=14
MultiBandUdTrkPower=18
+path_delay_glo_12fx_cm = -5185,-5158,-5112,-5111,-5031,-4972,-4900,-4823,-4765,-4714,-4625,-4613,-4553,-4553
+path_delay_gps_2fx_cm = 12378
+path_delay_bds_4fx_cm = 168
+path_delay_l5_20fx_cm = 105902
+
RfPathLossDb_Ap=3520
RfPathLossDb_Cp=3520
RfPathLossDb_L5_Ap=3700
@@ -266,12 +285,16 @@
ENABLE_LPP_UP=0
ENABLE_LPPE_CP=3
ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
ENABLE_NLP_IN_LPPE=1
ENABLE_NLP_IN_AGNSS=0
ENABLE_LPP_HA_GAD_SHAPE=0
USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
# ATT
GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
# TMO
GNSS_CARRIER_ID=2
ENABLE_3G_CP_CAPS_MSA=0
@@ -281,7 +304,6 @@
ENABLE_LPP_HA_GAD_SHAPE=1
# VZW
GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
ENABLE_LPP_UP=1
ENABLE_LPPE_UP=3
SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/ripcurrent24/user/gps.cfg b/location/ripcurrent24/user/gps.cfg
index 337e44b..bd26a81 100644
--- a/location/ripcurrent24/user/gps.cfg
+++ b/location/ripcurrent24/user/gps.cfg
@@ -18,6 +18,7 @@
gnss_device_data_port_chpp_present=1
GlueLayer_YearOfHW=2023
scheduling_enabled=1
+ChipCfg_Timemark_Option=1
ChipCfg_VDR_high_end_Distance = 200
ChipCfg_VDR_low_end_Distance = 200
ChipCfg_VDR_high_end_Time = 20
@@ -28,6 +29,7 @@
Chip_Configuration_GNSSConstConstraintDef = 0x60FF
LocTech_Constraints = 0x60FF
Chip_Configuration_RfMiscCtrl = 0x80008001
+Chip_Configuration_ntn_option=2
bdsUsedInUSPolicy=2
sbasUsedInUSPolicy=2
qzssUsedInUSPolicy=2
@@ -54,6 +56,12 @@
GlueLayer_IsMemsEnable=1
GlueLayer_MeasCorrCap=7
Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
CP_LocTech_PrimaryConst=0
CP_LocTech_Constraints=1
@@ -106,12 +114,16 @@
ENABLE_LPP_UP=0
ENABLE_LPPE_CP=3
ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
ENABLE_NLP_IN_LPPE=1
ENABLE_NLP_IN_AGNSS=0
ENABLE_LPP_HA_GAD_SHAPE=0
USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
GNSS_CARRIER_ID=2
ENABLE_3G_CP_CAPS_MSA=0
@@ -121,7 +133,6 @@
ENABLE_LPP_HA_GAD_SHAPE=1
GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
ENABLE_LPP_UP=1
ENABLE_LPPE_UP=3
SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/ripcurrent24/userdebug/gps.cfg b/location/ripcurrent24/userdebug/gps.cfg
index 418045c..f6ff481 100644
--- a/location/ripcurrent24/userdebug/gps.cfg
+++ b/location/ripcurrent24/userdebug/gps.cfg
@@ -53,6 +53,9 @@
GlueLayer_YearOfHW=2023
scheduling_enabled=1
+# 1pps timemark output: 0: disable 1: enable
+ChipCfg_Timemark_Option=1
+
# VDR End condition (meter, meter, sec, sec)
ChipCfg_VDR_high_end_Distance = 200
ChipCfg_VDR_low_end_Distance = 200
@@ -112,6 +115,11 @@
#Chip_Configuration_RfMiscCtrl=0x8001
#Chip_Configuration_IspTestConfig=0x22242822
+#Chip_Configuration_ntn_option=0 means no NTN blackout IPC handling
+#Chip_Configuration_ntn_option=1 means L1 blanking during NTN blackout period.
+#Chip_Configuration_ntn_option=2 means turning GNSS off during NTN blackout period.
+Chip_Configuration_ntn_option=2
+
# Disable BDS in the U.S.
# 0-enabled (default), 1-disabled, 2-auto(disabled in US)
#gloUsedInUSPolicy=2
@@ -189,6 +197,12 @@
# 0x0010: CHIP_CONFIG_MEMS_ORIENTATION_AVAILABLE
# 0x0020: CHIP_CONFIG_MEMS_STEPCOUNTER_AVAILABLE
Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
CP_LocTech_PrimaryConst=0
CP_LocTech_Constraints=1
@@ -262,12 +276,16 @@
ENABLE_LPP_UP=0
ENABLE_LPPE_CP=3
ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
ENABLE_NLP_IN_LPPE=1
ENABLE_NLP_IN_AGNSS=0
ENABLE_LPP_HA_GAD_SHAPE=0
USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
# ATT
GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
# TMO
GNSS_CARRIER_ID=2
ENABLE_3G_CP_CAPS_MSA=0
@@ -277,7 +295,6 @@
ENABLE_LPP_HA_GAD_SHAPE=1
# VZW
GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
ENABLE_LPP_UP=1
ENABLE_LPPE_UP=3
SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/ripcurrentpro/user/gps.cfg b/location/ripcurrentpro/user/gps.cfg
index 337e44b..bd26a81 100644
--- a/location/ripcurrentpro/user/gps.cfg
+++ b/location/ripcurrentpro/user/gps.cfg
@@ -18,6 +18,7 @@
gnss_device_data_port_chpp_present=1
GlueLayer_YearOfHW=2023
scheduling_enabled=1
+ChipCfg_Timemark_Option=1
ChipCfg_VDR_high_end_Distance = 200
ChipCfg_VDR_low_end_Distance = 200
ChipCfg_VDR_high_end_Time = 20
@@ -28,6 +29,7 @@
Chip_Configuration_GNSSConstConstraintDef = 0x60FF
LocTech_Constraints = 0x60FF
Chip_Configuration_RfMiscCtrl = 0x80008001
+Chip_Configuration_ntn_option=2
bdsUsedInUSPolicy=2
sbasUsedInUSPolicy=2
qzssUsedInUSPolicy=2
@@ -54,6 +56,12 @@
GlueLayer_IsMemsEnable=1
GlueLayer_MeasCorrCap=7
Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
CP_LocTech_PrimaryConst=0
CP_LocTech_Constraints=1
@@ -106,12 +114,16 @@
ENABLE_LPP_UP=0
ENABLE_LPPE_CP=3
ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
ENABLE_NLP_IN_LPPE=1
ENABLE_NLP_IN_AGNSS=0
ENABLE_LPP_HA_GAD_SHAPE=0
USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
GNSS_CARRIER_ID=2
ENABLE_3G_CP_CAPS_MSA=0
@@ -121,7 +133,6 @@
ENABLE_LPP_HA_GAD_SHAPE=1
GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
ENABLE_LPP_UP=1
ENABLE_LPPE_UP=3
SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/ripcurrentpro/userdebug/gps.cfg b/location/ripcurrentpro/userdebug/gps.cfg
index 418045c..f6ff481 100644
--- a/location/ripcurrentpro/userdebug/gps.cfg
+++ b/location/ripcurrentpro/userdebug/gps.cfg
@@ -53,6 +53,9 @@
GlueLayer_YearOfHW=2023
scheduling_enabled=1
+# 1pps timemark output: 0: disable 1: enable
+ChipCfg_Timemark_Option=1
+
# VDR End condition (meter, meter, sec, sec)
ChipCfg_VDR_high_end_Distance = 200
ChipCfg_VDR_low_end_Distance = 200
@@ -112,6 +115,11 @@
#Chip_Configuration_RfMiscCtrl=0x8001
#Chip_Configuration_IspTestConfig=0x22242822
+#Chip_Configuration_ntn_option=0 means no NTN blackout IPC handling
+#Chip_Configuration_ntn_option=1 means L1 blanking during NTN blackout period.
+#Chip_Configuration_ntn_option=2 means turning GNSS off during NTN blackout period.
+Chip_Configuration_ntn_option=2
+
# Disable BDS in the U.S.
# 0-enabled (default), 1-disabled, 2-auto(disabled in US)
#gloUsedInUSPolicy=2
@@ -189,6 +197,12 @@
# 0x0010: CHIP_CONFIG_MEMS_ORIENTATION_AVAILABLE
# 0x0020: CHIP_CONFIG_MEMS_STEPCOUNTER_AVAILABLE
Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
CP_LocTech_PrimaryConst=0
CP_LocTech_Constraints=1
@@ -262,12 +276,16 @@
ENABLE_LPP_UP=0
ENABLE_LPPE_CP=3
ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
ENABLE_NLP_IN_LPPE=1
ENABLE_NLP_IN_AGNSS=0
ENABLE_LPP_HA_GAD_SHAPE=0
USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
# ATT
GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
# TMO
GNSS_CARRIER_ID=2
ENABLE_3G_CP_CAPS_MSA=0
@@ -277,7 +295,6 @@
ENABLE_LPP_HA_GAD_SHAPE=1
# VZW
GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
ENABLE_LPP_UP=1
ENABLE_LPPE_UP=3
SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/tokay/user/gps.cfg b/location/tokay/user/gps.cfg
index 6a6f63d..cf7ed87 100644
--- a/location/tokay/user/gps.cfg
+++ b/location/tokay/user/gps.cfg
@@ -18,6 +18,7 @@
gnss_device_data_port_chpp_present=1
GlueLayer_YearOfHW=2023
scheduling_enabled=1
+ChipCfg_Timemark_Option=1
ChipCfg_VDR_high_end_Distance = 200
ChipCfg_VDR_low_end_Distance = 200
ChipCfg_VDR_high_end_Time = 20
@@ -28,6 +29,7 @@
Chip_Configuration_GNSSConstConstraintDef = 0x60FF
LocTech_Constraints = 0x60FF
Chip_Configuration_RfMiscCtrl = 0x80008001
+Chip_Configuration_ntn_option=2
bdsUsedInUSPolicy=2
sbasUsedInUSPolicy=2
qzssUsedInUSPolicy=2
@@ -54,6 +56,12 @@
GlueLayer_IsMemsEnable=1
GlueLayer_MeasCorrCap=7
Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
CP_LocTech_PrimaryConst=0
CP_LocTech_Constraints=1
@@ -72,6 +80,10 @@
MultiBandNmTrkPower=28
SingleBandUdTrkPower=14
MultiBandUdTrkPower=18
+path_delay_glo_12fx_cm = -5166,-5149,-5097,-5104,-5021,-4992,-4936,-4854,-4776,-4719,-4656,-4619,-4581,-4544
+path_delay_gps_2fx_cm = 12368
+path_delay_bds_4fx_cm = 164
+path_delay_l5_20fx_cm = 105888
RfPathLossDb_Ap=3550
RfPathLossDb_Cp=3550
RfPathLossDb_L5_Ap=3870
@@ -110,12 +122,16 @@
ENABLE_LPP_UP=0
ENABLE_LPPE_CP=3
ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
ENABLE_NLP_IN_LPPE=1
ENABLE_NLP_IN_AGNSS=0
ENABLE_LPP_HA_GAD_SHAPE=0
USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
GNSS_CARRIER_ID=2
ENABLE_3G_CP_CAPS_MSA=0
@@ -125,7 +141,6 @@
ENABLE_LPP_HA_GAD_SHAPE=1
GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
ENABLE_LPP_UP=1
ENABLE_LPPE_UP=3
SUPL_SSL_METHOD=TLSv1_2
diff --git a/location/tokay/userdebug/gps.cfg b/location/tokay/userdebug/gps.cfg
index 74f5246..1389d99 100644
--- a/location/tokay/userdebug/gps.cfg
+++ b/location/tokay/userdebug/gps.cfg
@@ -53,6 +53,9 @@
GlueLayer_YearOfHW=2023
scheduling_enabled=1
+# 1pps timemark output: 0: disable 1: enable
+ChipCfg_Timemark_Option=1
+
# VDR End condition (meter, meter, sec, sec)
ChipCfg_VDR_high_end_Distance = 200
ChipCfg_VDR_low_end_Distance = 200
@@ -112,6 +115,11 @@
#Chip_Configuration_RfMiscCtrl=0x8001
#Chip_Configuration_IspTestConfig=0x22242822
+#Chip_Configuration_ntn_option=0 means no NTN blackout IPC handling
+#Chip_Configuration_ntn_option=1 means L1 blanking during NTN blackout period.
+#Chip_Configuration_ntn_option=2 means turning GNSS off during NTN blackout period.
+Chip_Configuration_ntn_option=2
+
# Disable BDS in the U.S.
# 0-enabled (default), 1-disabled, 2-auto(disabled in US)
#gloUsedInUSPolicy=2
@@ -189,6 +197,12 @@
# 0x0010: CHIP_CONFIG_MEMS_ORIENTATION_AVAILABLE
# 0x0020: CHIP_CONFIG_MEMS_STEPCOUNTER_AVAILABLE
Chip_Configuration_mems_data_Configuration=0x25
+AccelSamplingPeriodUs=10000
+MagnSamplingPeriodUs=10000
+GyroSamplingPeriodUs=10000
+PressSamplingPeriodUs=50000
+OrientationSamplingPeriodUs=10000
+StepCounterSamplingPeriodUs=1000000
Chip_Configuration_FeatureCfg_ANDRD_MEAS_CORR_ENABLE=1
CP_LocTech_PrimaryConst=0
CP_LocTech_Constraints=1
@@ -210,6 +224,11 @@
SingleBandUdTrkPower=14
MultiBandUdTrkPower=18
+path_delay_glo_12fx_cm = -5166,-5149,-5097,-5104,-5021,-4992,-4936,-4854,-4776,-4719,-4656,-4619,-4581,-4544
+path_delay_gps_2fx_cm = 12368
+path_delay_bds_4fx_cm = 164
+path_delay_l5_20fx_cm = 105888
+
RfPathLossDb_Ap=3550
RfPathLossDb_Cp=3550
RfPathLossDb_L5_Ap=3870
@@ -266,12 +285,16 @@
ENABLE_LPP_UP=0
ENABLE_LPPE_CP=3
ENABLE_LPPE_UP=0
+ENABLE_NLP_ALONG_WITH_UBP=0
ENABLE_NLP_IN_LPPE=1
ENABLE_NLP_IN_AGNSS=0
ENABLE_LPP_HA_GAD_SHAPE=0
USE_EMER_PDN_FOR_EMER_SUPL=1
+CP_LOCTECH_CONSTRAINTS=1
+UP_LOCTECH_CONSTRAINTS=1
# ATT
GNSS_CARRIER_ID=1
+CP_LOCTECH_CONSTRAINTS=5
# TMO
GNSS_CARRIER_ID=2
ENABLE_3G_CP_CAPS_MSA=0
@@ -281,7 +304,6 @@
ENABLE_LPP_HA_GAD_SHAPE=1
# VZW
GNSS_CARRIER_ID=3
-ENABLE_CAPS_OTDOA=0
ENABLE_LPP_UP=1
ENABLE_LPPE_UP=3
SUPL_SSL_METHOD=TLSv1_2
diff --git a/manifest.xml b/manifest.xml
index e01d156..18109c6 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -49,15 +49,6 @@
</interface>
</hal>
<hal format="hidl">
- <name>android.hardware.graphics.mapper</name>
- <transport arch="32+64">passthrough</transport>
- <version>4.0</version>
- <interface>
- <name>IMapper</name>
- <instance>default</instance>
- </interface>
- </hal>
- <hal format="hidl">
<name>android.hardware.graphics.composer</name>
<transport>hwbinder</transport>
<version>2.4</version>
diff --git a/perf/powerhint-caiman.json b/perf/powerhint-caiman.json
index 8b42d97..ebe5dfd 100644
--- a/perf/powerhint-caiman.json
+++ b/perf/powerhint-caiman.json
@@ -46,7 +46,7 @@
"9999999",
"1425000",
"1197000",
- "0"
+ "820000"
],
"ResetOnInit": true
},
@@ -56,6 +56,7 @@
"Values": [
"5000",
"2000",
+ "1000",
"500"
],
"DefaultIndex": 0,
@@ -94,6 +95,7 @@
"Path": "/sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us",
"Values": [
"20000",
+ "5000",
"3000",
"2000",
"500"
@@ -168,7 +170,6 @@
"0",
"1"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -295,7 +296,6 @@
"0x0",
"0x80"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -339,6 +339,42 @@
"ResetOnInit": true
},
{
+ "Name": "TAUclampMinOnNiceEnable",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
+ "Values": [
+ "1",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "TAUclampMinOnNiceMidValue",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
+ "Values": [
+ "600",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "TAUclampMinOnNiceHighPrio",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
+ "Values": [
+ "119",
+ "120"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "TAUclampMinOnNiceMidPrio",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
+ "Values": [
+ "128",
+ "130"
+ ],
+ "ResetOnInit": true
+ },
+ {
"Name": "FGUClampBoost",
"Path": "/proc/vendor_sched/groups/fg/uclamp_min",
"Values": [
@@ -446,7 +482,6 @@
"1",
"0"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -454,6 +489,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high",
"Values": [
"0xff",
+ "0xf0",
"0x7f"
],
"ResetOnInit": true
@@ -463,6 +499,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_mid",
"Values": [
"0xff",
+ "0xf0",
"0x7f"
],
"ResetOnInit": true
@@ -472,6 +509,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_low",
"Values": [
"0xff",
+ "0xf0",
"0x7f"
],
"ResetOnInit": true
@@ -483,7 +521,6 @@
"1",
"0"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -893,6 +930,34 @@
"67000"
],
"ResetOnInit": true
+ },
+ {
+ "Name": "PA_KILL",
+ "Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
+ "Values": [
+ "102400",
+ "0"
+ ],
+ "ResetOnInit": false
+ },
+ {
+ "Name": "KswapdUclaimMin",
+ "Path": "/sys/kernel/vendor_mm/kswapd_uclamp_min",
+ "Values": [
+ "0",
+ "200"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "MaxLoadBalanceInterval",
+ "Path": "/proc/vendor_sched/max_load_balance_interval",
+ "Values": [
+ "1",
+ "4"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
}
],
"Actions": [
@@ -1355,17 +1420,23 @@
},
{
"PowerHint": "DISPLAY_INACTIVE",
- "Node": "SysGroupCfsSkipMask",
- "Duration": 0,
- "Value": "0x80"
- },
- {
- "PowerHint": "DISPLAY_INACTIVE",
"Node": "PerTaskMaxIowaitBoost",
"Duration": 0,
"Value": "0"
},
{
+ "PowerHint": "DISPLAY_INACTIVE",
+ "Node": "KswapdUclaimMin",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "CAMERA_PA_KILL_BOOST",
+ "Node": "PA_KILL",
+ "Duration": 0,
+ "Value": "102400"
+ },
+ {
"PowerHint": "CAMERA_LAUNCH",
"Node": "CPUSkipMask",
"Duration": 1000,
@@ -1553,9 +1624,57 @@
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
- "Node": "TAUClampBoost",
+ "Node": "ReducePreferIdle",
"Duration": 3000,
- "Value": "600"
+ "Value": "0"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAPreferredIdleMaskHigh",
+ "Duration": 3000,
+ "Value": "0xf0"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAPreferredIdleMaskMid",
+ "Duration": 3000,
+ "Value": "0xf0"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAPreferredIdleMaskLow",
+ "Duration": 3000,
+ "Value": "0xf0"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceEnable",
+ "Duration": 3000,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceMidValue",
+ "Duration": 3000,
+ "Value": "600"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceHighPrio",
+ "Duration": 3000,
+ "Value": "119"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceMidPrio",
+ "Duration": 3000,
+ "Value": "128"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAPreferIdle",
+ "Duration": 3000,
+ "Value": "1"
},
{
"PowerHint": "CAMERA_THERMAL_SEVERE_BOOST",
@@ -1909,13 +2028,13 @@
"PowerHint": "CAMERA_STREAMING_EXTREME",
"Node": "CPULittleClusterDownRateLimitUs",
"Duration": 0,
- "Value": "5000"
+ "Value": "1000"
},
{
"PowerHint": "CAMERA_STREAMING_EXTREME",
"Node": "CPUMidClusterDownRateLimitUs",
"Duration": 0,
- "Value": "20000"
+ "Value": "5000"
},
{
"PowerHint": "CAMERA_STREAMING_EXTREME",
@@ -2002,6 +2121,12 @@
"Value": "0x0"
},
{
+ "PowerHint": "CAMERA_STREAMING_EXTREME",
+ "Node": "MaxLoadBalanceInterval",
+ "Duration": 0,
+ "Value": "4"
+ },
+ {
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "PowerHALCameraRunning",
"Duration": 0,
@@ -2083,13 +2208,13 @@
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "CPULittleClusterDownRateLimitUs",
"Duration": 0,
- "Value": "5000"
+ "Value": "1000"
},
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "CPUMidClusterDownRateLimitUs",
"Duration": 0,
- "Value": "20000"
+ "Value": "5000"
},
{
"PowerHint": "CAMERA_STREAMING_HIGH",
@@ -2194,6 +2319,12 @@
"Value": "0x80"
},
{
+ "PowerHint": "CAMERA_STREAMING_HIGH",
+ "Node": "MaxLoadBalanceInterval",
+ "Duration": 0,
+ "Value": "4"
+ },
+ {
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "AutoPreferIdle",
"Duration": 0,
@@ -2281,13 +2412,13 @@
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "CPULittleClusterDownRateLimitUs",
"Duration": 0,
- "Value": "5000"
+ "Value": "1000"
},
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "CPUMidClusterDownRateLimitUs",
"Duration": 0,
- "Value": "20000"
+ "Value": "5000"
},
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
@@ -2368,6 +2499,12 @@
"Value": "0x80"
},
{
+ "PowerHint": "CAMERA_STREAMING_STANDARD",
+ "Node": "MaxLoadBalanceInterval",
+ "Duration": 0,
+ "Value": "4"
+ },
+ {
"PowerHint": "CAMERA_STREAMING_LOW",
"Node": "AutoPreferIdle",
"Duration": 0,
@@ -2951,18 +3088,6 @@
"Value": "1"
},
{
- "PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
- "Node": "LimitFlashCurrent",
- "Duration": 0,
- "Value": "100"
- },
- {
- "PowerHint": "THERMAL_FLASH_LED_REDUCE_NONE",
- "Node": "LimitFlashCurrent",
- "Duration": 0,
- "Value": "1500"
- },
- {
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "PowerHALRenderingState",
"Duration": 0,
@@ -3140,7 +3265,7 @@
"PowerHint": "GAME",
"Node": "AutoPreferIdle",
"Duration": 0,
- "Value": "0"
+ "Value": "1"
},
{
"PowerHint": "GAME",
@@ -3471,11 +3596,12 @@
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
- "HBoostOnMissedCycles": 8,
- "HBoostOffMaxAvgRatio": 4.0,
- "HBoostOffMissedCycles": 5,
- "HBoostPidPuFactor": 0.5,
- "HBoostUclampMin": 722,
+ "HBoostModerateJankThreshold": 2,
+ "HBoostOffMaxAvgDurRatio": 4.0,
+ "HBoostSevereJankPidPu": 0.3,
+ "HBoostSevereJankThreshold": 8,
+ "HBoostUclampMinCeilingRange": [480, 722],
+ "HBoostUclampMinFloorRange": [230, 410],
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300,
@@ -3508,11 +3634,12 @@
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
- "HBoostOnMissedCycles": 8,
- "HBoostOffMaxAvgRatio": 4.0,
- "HBoostOffMissedCycles": 5,
- "HBoostPidPuFactor": 0.5,
- "HBoostUclampMin": 722,
+ "HBoostModerateJankThreshold": 2,
+ "HBoostOffMaxAvgDurRatio": 4.0,
+ "HBoostSevereJankPidPu": 0.35,
+ "HBoostSevereJankThreshold": 8,
+ "HBoostUclampMinCeilingRange": [480, 722],
+ "HBoostUclampMinFloorRange": [230, 410],
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300,
@@ -3545,11 +3672,12 @@
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
- "HBoostOnMissedCycles": 8,
- "HBoostOffMaxAvgRatio": 4.0,
- "HBoostOffMissedCycles": 5,
- "HBoostPidPuFactor": 0.5,
- "HBoostUclampMin": 722,
+ "HBoostModerateJankThreshold": 2,
+ "HBoostOffMaxAvgDurRatio": 4.0,
+ "HBoostSevereJankPidPu": 0.25,
+ "HBoostSevereJankThreshold": 8,
+ "HBoostUclampMinCeilingRange": [480, 722],
+ "HBoostUclampMinFloorRange": [230, 410],
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300,
diff --git a/perf/powerhint-komodo.json b/perf/powerhint-komodo.json
index 644f2b2..19f55f0 100644
--- a/perf/powerhint-komodo.json
+++ b/perf/powerhint-komodo.json
@@ -46,7 +46,7 @@
"9999999",
"1425000",
"1197000",
- "0"
+ "820000"
],
"ResetOnInit": true
},
@@ -56,6 +56,7 @@
"Values": [
"5000",
"2000",
+ "1000",
"500"
],
"DefaultIndex": 0,
@@ -94,6 +95,7 @@
"Path": "/sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us",
"Values": [
"20000",
+ "5000",
"3000",
"2000",
"500"
@@ -168,7 +170,6 @@
"0",
"1"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -295,7 +296,6 @@
"0x0",
"0x80"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -339,6 +339,42 @@
"ResetOnInit": true
},
{
+ "Name": "TAUclampMinOnNiceEnable",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
+ "Values": [
+ "1",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "TAUclampMinOnNiceMidValue",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
+ "Values": [
+ "600",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "TAUclampMinOnNiceHighPrio",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
+ "Values": [
+ "119",
+ "120"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "TAUclampMinOnNiceMidPrio",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
+ "Values": [
+ "128",
+ "130"
+ ],
+ "ResetOnInit": true
+ },
+ {
"Name": "FGUClampBoost",
"Path": "/proc/vendor_sched/groups/fg/uclamp_min",
"Values": [
@@ -446,7 +482,6 @@
"1",
"0"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -454,6 +489,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high",
"Values": [
"0xff",
+ "0xf0",
"0x7f"
],
"ResetOnInit": true
@@ -463,6 +499,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_mid",
"Values": [
"0xff",
+ "0xf0",
"0x7f"
],
"ResetOnInit": true
@@ -472,6 +509,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_low",
"Values": [
"0xff",
+ "0xf0",
"0x7f"
],
"ResetOnInit": true
@@ -483,7 +521,6 @@
"1",
"0"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -893,6 +930,34 @@
"67000"
],
"ResetOnInit": true
+ },
+ {
+ "Name": "PA_KILL",
+ "Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
+ "Values": [
+ "102400",
+ "0"
+ ],
+ "ResetOnInit": false
+ },
+ {
+ "Name": "KswapdUclaimMin",
+ "Path": "/sys/kernel/vendor_mm/kswapd_uclamp_min",
+ "Values": [
+ "0",
+ "200"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "MaxLoadBalanceInterval",
+ "Path": "/proc/vendor_sched/max_load_balance_interval",
+ "Values": [
+ "1",
+ "4"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
}
],
"Actions": [
@@ -1355,17 +1420,23 @@
},
{
"PowerHint": "DISPLAY_INACTIVE",
- "Node": "SysGroupCfsSkipMask",
- "Duration": 0,
- "Value": "0x80"
- },
- {
- "PowerHint": "DISPLAY_INACTIVE",
"Node": "PerTaskMaxIowaitBoost",
"Duration": 0,
"Value": "0"
},
{
+ "PowerHint": "DISPLAY_INACTIVE",
+ "Node": "KswapdUclaimMin",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "CAMERA_PA_KILL_BOOST",
+ "Node": "PA_KILL",
+ "Duration": 0,
+ "Value": "102400"
+ },
+ {
"PowerHint": "CAMERA_LAUNCH",
"Node": "CPUSkipMask",
"Duration": 1000,
@@ -1552,12 +1623,60 @@
"Value": "0"
},
{
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "ReducePreferIdle",
+ "Duration": 3000,
+ "Value": "0"
+ },
+ {
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
- "Node": "TAUClampBoost",
+ "Node": "TAPreferredIdleMaskHigh",
+ "Duration": 3000,
+ "Value": "0xf0"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAPreferredIdleMaskMid",
+ "Duration": 3000,
+ "Value": "0xf0"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAPreferredIdleMaskLow",
+ "Duration": 3000,
+ "Value": "0xf0"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceEnable",
+ "Duration": 3000,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceMidValue",
"Duration": 3000,
"Value": "600"
},
{
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceHighPrio",
+ "Duration": 3000,
+ "Value": "119"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceMidPrio",
+ "Duration": 3000,
+ "Value": "128"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAPreferIdle",
+ "Duration": 3000,
+ "Value": "1"
+ },
+ {
"PowerHint": "CAMERA_THERMAL_SEVERE_BOOST",
"Node": "CDPreferHighCap",
"Duration": 0,
@@ -1909,13 +2028,13 @@
"PowerHint": "CAMERA_STREAMING_EXTREME",
"Node": "CPULittleClusterDownRateLimitUs",
"Duration": 0,
- "Value": "5000"
+ "Value": "1000"
},
{
"PowerHint": "CAMERA_STREAMING_EXTREME",
"Node": "CPUMidClusterDownRateLimitUs",
"Duration": 0,
- "Value": "20000"
+ "Value": "5000"
},
{
"PowerHint": "CAMERA_STREAMING_EXTREME",
@@ -2002,6 +2121,12 @@
"Value": "0x0"
},
{
+ "PowerHint": "CAMERA_STREAMING_EXTREME",
+ "Node": "MaxLoadBalanceInterval",
+ "Duration": 0,
+ "Value": "4"
+ },
+ {
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "PowerHALCameraRunning",
"Duration": 0,
@@ -2083,13 +2208,13 @@
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "CPULittleClusterDownRateLimitUs",
"Duration": 0,
- "Value": "5000"
+ "Value": "1000"
},
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "CPUMidClusterDownRateLimitUs",
"Duration": 0,
- "Value": "20000"
+ "Value": "5000"
},
{
"PowerHint": "CAMERA_STREAMING_HIGH",
@@ -2194,6 +2319,12 @@
"Value": "0x80"
},
{
+ "PowerHint": "CAMERA_STREAMING_HIGH",
+ "Node": "MaxLoadBalanceInterval",
+ "Duration": 0,
+ "Value": "4"
+ },
+ {
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "AutoPreferIdle",
"Duration": 0,
@@ -2281,13 +2412,13 @@
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "CPULittleClusterDownRateLimitUs",
"Duration": 0,
- "Value": "5000"
+ "Value": "1000"
},
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "CPUMidClusterDownRateLimitUs",
"Duration": 0,
- "Value": "20000"
+ "Value": "5000"
},
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
@@ -2368,6 +2499,12 @@
"Value": "0x80"
},
{
+ "PowerHint": "CAMERA_STREAMING_STANDARD",
+ "Node": "MaxLoadBalanceInterval",
+ "Duration": 0,
+ "Value": "4"
+ },
+ {
"PowerHint": "CAMERA_STREAMING_LOW",
"Node": "AutoPreferIdle",
"Duration": 0,
@@ -2951,18 +3088,6 @@
"Value": "1"
},
{
- "PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
- "Node": "LimitFlashCurrent",
- "Duration": 0,
- "Value": "100"
- },
- {
- "PowerHint": "THERMAL_FLASH_LED_REDUCE_NONE",
- "Node": "LimitFlashCurrent",
- "Duration": 0,
- "Value": "1500"
- },
- {
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "PowerHALRenderingState",
"Duration": 0,
@@ -3140,7 +3265,7 @@
"PowerHint": "GAME",
"Node": "AutoPreferIdle",
"Duration": 0,
- "Value": "0"
+ "Value": "1"
},
{
"PowerHint": "GAME",
@@ -3471,11 +3596,12 @@
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
- "HBoostOnMissedCycles": 8,
- "HBoostOffMaxAvgRatio": 4.0,
- "HBoostOffMissedCycles": 5,
- "HBoostPidPuFactor": 0.5,
- "HBoostUclampMin": 722,
+ "HBoostModerateJankThreshold": 2,
+ "HBoostOffMaxAvgDurRatio": 4.0,
+ "HBoostSevereJankPidPu": 0.3,
+ "HBoostSevereJankThreshold": 8,
+ "HBoostUclampMinCeilingRange": [480, 722],
+ "HBoostUclampMinFloorRange": [230, 410],
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300,
@@ -3508,11 +3634,12 @@
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
- "HBoostOnMissedCycles": 8,
- "HBoostOffMaxAvgRatio": 4.0,
- "HBoostOffMissedCycles": 5,
- "HBoostPidPuFactor": 0.5,
- "HBoostUclampMin": 722,
+ "HBoostModerateJankThreshold": 2,
+ "HBoostOffMaxAvgDurRatio": 4.0,
+ "HBoostSevereJankPidPu": 0.35,
+ "HBoostSevereJankThreshold": 8,
+ "HBoostUclampMinCeilingRange": [480, 722],
+ "HBoostUclampMinFloorRange": [230, 410],
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300,
@@ -3545,11 +3672,12 @@
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
- "HBoostOnMissedCycles": 8,
- "HBoostOffMaxAvgRatio": 4.0,
- "HBoostOffMissedCycles": 5,
- "HBoostPidPuFactor": 0.5,
- "HBoostUclampMin": 722,
+ "HBoostModerateJankThreshold": 2,
+ "HBoostOffMaxAvgDurRatio": 4.0,
+ "HBoostSevereJankPidPu": 0.25,
+ "HBoostSevereJankThreshold": 8,
+ "HBoostUclampMinCeilingRange": [480, 722],
+ "HBoostUclampMinFloorRange": [230, 410],
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300,
diff --git a/perf/powerhint-ripcurrent24.json b/perf/powerhint-ripcurrent24.json
index 8d96044..ccab4c1 100644
--- a/perf/powerhint-ripcurrent24.json
+++ b/perf/powerhint-ripcurrent24.json
@@ -338,6 +338,16 @@
"ResetOnInit": true
},
{
+ "Name": "PowerHALLaunch",
+ "Path": "vendor.powerhal.is_launch",
+ "Values": [
+ "1",
+ "0"
+ ],
+ "Type": "Property",
+ "ResetOnInit": true
+ },
+ {
"Name": "INTCAMFreq",
"Path": "/sys/devices/platform/17000030.devfreq_intcam/devfreq/17000030.devfreq_intcam/min_freq",
"Values": [
@@ -594,6 +604,15 @@
"0,1,2,3,4,5,6,7,8"
],
"Type": "Property"
+ },
+ {
+ "Name": "PA_KILL",
+ "Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
+ "Values": [
+ "102400",
+ "0"
+ ],
+ "ResetOnInit": false
}
],
"Actions": [
@@ -705,6 +724,12 @@
"Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
},
{
+ "PowerHint": "LAUNCH",
+ "Node": "PowerHALLaunch",
+ "Duration": 5000,
+ "Value": "1"
+ },
+ {
"PowerHint": "LAUNCH_PMU",
"Node": "PMU_POLL",
"Duration": 3000,
@@ -724,6 +749,13 @@
},
{
"PowerHint": "CAMERA_LAUNCH",
+ "Node": "PA_KILL",
+ "EnableProperty": "vendor.powerhal.is_launch",
+ "Duration": 0,
+ "Value": "102400"
+ },
+ {
+ "PowerHint": "CAMERA_LAUNCH",
"Node": "MemFreq",
"Duration": 1000,
"Value": "3744000"
@@ -1606,18 +1638,6 @@
"Value": "1"
},
{
- "PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
- "Node": "LimitFlashCurrent",
- "Duration": 0,
- "Value": "100"
- },
- {
- "PowerHint": "THERMAL_FLASH_LED_REDUCE_NONE",
- "Node": "LimitFlashCurrent",
- "Duration": 0,
- "Value": "1500"
- },
- {
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "PowerHALRenderingState",
"Duration": 0,
diff --git a/perf/powerhint-ripcurrentpro.json b/perf/powerhint-ripcurrentpro.json
index 3912d9b..b74fd19 100644
--- a/perf/powerhint-ripcurrentpro.json
+++ b/perf/powerhint-ripcurrentpro.json
@@ -100,7 +100,7 @@
"9999999",
"1425000",
"1197000",
- "0"
+ "820000"
],
"ResetOnInit": true
},
@@ -222,7 +222,6 @@
"0",
"1"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -285,7 +284,6 @@
"0x0",
"0x80"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -329,6 +327,42 @@
"ResetOnInit": true
},
{
+ "Name": "TAUclampMinOnNiceEnable",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
+ "Values": [
+ "1",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "TAUclampMinOnNiceMidValue",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
+ "Values": [
+ "600",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "TAUclampMinOnNiceHighPrio",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
+ "Values": [
+ "119",
+ "120"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "TAUclampMinOnNiceMidPrio",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
+ "Values": [
+ "128",
+ "130"
+ ],
+ "ResetOnInit": true
+ },
+ {
"Name": "FGUClampBoost",
"Path": "/proc/vendor_sched/groups/fg/uclamp_min",
"Values": [
@@ -436,7 +470,6 @@
"1",
"0"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -444,6 +477,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high",
"Values": [
"0xff",
+ "0xf0",
"0x7f"
],
"ResetOnInit": true
@@ -453,6 +487,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_mid",
"Values": [
"0xff",
+ "0xf0",
"0x7f"
],
"ResetOnInit": true
@@ -462,6 +497,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_low",
"Values": [
"0xff",
+ "0xf0",
"0x7f"
],
"ResetOnInit": true
@@ -473,7 +509,6 @@
"1",
"0"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -819,6 +854,34 @@
"20 40"
],
"ResetOnInit": true
+ },
+ {
+ "Name": "PA_KILL",
+ "Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
+ "Values": [
+ "102400",
+ "0"
+ ],
+ "ResetOnInit": false
+ },
+ {
+ "Name": "KswapdUclaimMin",
+ "Path": "/sys/kernel/vendor_mm/kswapd_uclamp_min",
+ "Values": [
+ "0",
+ "200"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "MaxLoadBalanceInterval",
+ "Path": "/proc/vendor_sched/max_load_balance_interval",
+ "Values": [
+ "1",
+ "4"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
}
],
"Actions": [
@@ -1281,9 +1344,15 @@
},
{
"PowerHint": "DISPLAY_INACTIVE",
- "Node": "SysGroupCfsSkipMask",
+ "Node": "KswapdUclaimMin",
"Duration": 0,
- "Value": "0x80"
+ "Value": "0"
+ },
+ {
+ "PowerHint": "CAMERA_PA_KILL_BOOST",
+ "Node": "PA_KILL",
+ "Duration": 0,
+ "Value": "102400"
},
{
"PowerHint": "CAMERA_LAUNCH",
@@ -1473,9 +1542,57 @@
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
- "Node": "TAUClampBoost",
+ "Node": "ReducePreferIdle",
"Duration": 3000,
- "Value": "600"
+ "Value": "0"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAPreferredIdleMaskHigh",
+ "Duration": 3000,
+ "Value": "0xf0"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAPreferredIdleMaskMid",
+ "Duration": 3000,
+ "Value": "0xf0"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAPreferredIdleMaskLow",
+ "Duration": 3000,
+ "Value": "0xf0"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceEnable",
+ "Duration": 3000,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceMidValue",
+ "Duration": 3000,
+ "Value": "600"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceHighPrio",
+ "Duration": 3000,
+ "Value": "119"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceMidPrio",
+ "Duration": 3000,
+ "Value": "128"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAPreferIdle",
+ "Duration": 3000,
+ "Value": "1"
},
{
"PowerHint": "CAMERA_THERMAL_SEVERE_BOOST",
@@ -1886,6 +2003,12 @@
"Value": "0x0"
},
{
+ "PowerHint": "CAMERA_STREAMING_EXTREME",
+ "Node": "MaxLoadBalanceInterval",
+ "Duration": 0,
+ "Value": "4"
+ },
+ {
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "PowerHALCameraRunning",
"Duration": 0,
@@ -2042,6 +2165,12 @@
"Value": "0x80"
},
{
+ "PowerHint": "CAMERA_STREAMING_HIGH",
+ "Node": "MaxLoadBalanceInterval",
+ "Duration": 0,
+ "Value": "4"
+ },
+ {
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "AutoPreferIdle",
"Duration": 0,
@@ -2180,6 +2309,12 @@
"Value": "0x80"
},
{
+ "PowerHint": "CAMERA_STREAMING_STANDARD",
+ "Node": "MaxLoadBalanceInterval",
+ "Duration": 0,
+ "Value": "4"
+ },
+ {
"PowerHint": "CAMERA_STREAMING_LOW",
"Node": "AutoPreferIdle",
"Duration": 0,
@@ -2697,18 +2832,6 @@
"Value": "1"
},
{
- "PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
- "Node": "LimitFlashCurrent",
- "Duration": 0,
- "Value": "100"
- },
- {
- "PowerHint": "THERMAL_FLASH_LED_REDUCE_NONE",
- "Node": "LimitFlashCurrent",
- "Duration": 0,
- "Value": "1500"
- },
- {
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "PowerHALRenderingState",
"Duration": 0,
@@ -2994,7 +3117,7 @@
"PowerHint": "CAMERA_PROJECT11",
"Node": "PMU_BIG_SPC_THRESHOLD",
"Duration": 0,
- "Value": "50"
+ "Value": "20"
},
{
"PowerHint": "CAMERA_PROJECT11",
diff --git a/perf/powerhint-tokay.json b/perf/powerhint-tokay.json
index 8b42d97..ebe5dfd 100644
--- a/perf/powerhint-tokay.json
+++ b/perf/powerhint-tokay.json
@@ -46,7 +46,7 @@
"9999999",
"1425000",
"1197000",
- "0"
+ "820000"
],
"ResetOnInit": true
},
@@ -56,6 +56,7 @@
"Values": [
"5000",
"2000",
+ "1000",
"500"
],
"DefaultIndex": 0,
@@ -94,6 +95,7 @@
"Path": "/sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us",
"Values": [
"20000",
+ "5000",
"3000",
"2000",
"500"
@@ -168,7 +170,6 @@
"0",
"1"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -295,7 +296,6 @@
"0x0",
"0x80"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -339,6 +339,42 @@
"ResetOnInit": true
},
{
+ "Name": "TAUclampMinOnNiceEnable",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
+ "Values": [
+ "1",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "TAUclampMinOnNiceMidValue",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
+ "Values": [
+ "600",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "TAUclampMinOnNiceHighPrio",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
+ "Values": [
+ "119",
+ "120"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "TAUclampMinOnNiceMidPrio",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
+ "Values": [
+ "128",
+ "130"
+ ],
+ "ResetOnInit": true
+ },
+ {
"Name": "FGUClampBoost",
"Path": "/proc/vendor_sched/groups/fg/uclamp_min",
"Values": [
@@ -446,7 +482,6 @@
"1",
"0"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -454,6 +489,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high",
"Values": [
"0xff",
+ "0xf0",
"0x7f"
],
"ResetOnInit": true
@@ -463,6 +499,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_mid",
"Values": [
"0xff",
+ "0xf0",
"0x7f"
],
"ResetOnInit": true
@@ -472,6 +509,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_low",
"Values": [
"0xff",
+ "0xf0",
"0x7f"
],
"ResetOnInit": true
@@ -483,7 +521,6 @@
"1",
"0"
],
- "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -893,6 +930,34 @@
"67000"
],
"ResetOnInit": true
+ },
+ {
+ "Name": "PA_KILL",
+ "Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
+ "Values": [
+ "102400",
+ "0"
+ ],
+ "ResetOnInit": false
+ },
+ {
+ "Name": "KswapdUclaimMin",
+ "Path": "/sys/kernel/vendor_mm/kswapd_uclamp_min",
+ "Values": [
+ "0",
+ "200"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "MaxLoadBalanceInterval",
+ "Path": "/proc/vendor_sched/max_load_balance_interval",
+ "Values": [
+ "1",
+ "4"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
}
],
"Actions": [
@@ -1355,17 +1420,23 @@
},
{
"PowerHint": "DISPLAY_INACTIVE",
- "Node": "SysGroupCfsSkipMask",
- "Duration": 0,
- "Value": "0x80"
- },
- {
- "PowerHint": "DISPLAY_INACTIVE",
"Node": "PerTaskMaxIowaitBoost",
"Duration": 0,
"Value": "0"
},
{
+ "PowerHint": "DISPLAY_INACTIVE",
+ "Node": "KswapdUclaimMin",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "CAMERA_PA_KILL_BOOST",
+ "Node": "PA_KILL",
+ "Duration": 0,
+ "Value": "102400"
+ },
+ {
"PowerHint": "CAMERA_LAUNCH",
"Node": "CPUSkipMask",
"Duration": 1000,
@@ -1553,9 +1624,57 @@
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
- "Node": "TAUClampBoost",
+ "Node": "ReducePreferIdle",
"Duration": 3000,
- "Value": "600"
+ "Value": "0"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAPreferredIdleMaskHigh",
+ "Duration": 3000,
+ "Value": "0xf0"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAPreferredIdleMaskMid",
+ "Duration": 3000,
+ "Value": "0xf0"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAPreferredIdleMaskLow",
+ "Duration": 3000,
+ "Value": "0xf0"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceEnable",
+ "Duration": 3000,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceMidValue",
+ "Duration": 3000,
+ "Value": "600"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceHighPrio",
+ "Duration": 3000,
+ "Value": "119"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAUclampMinOnNiceMidPrio",
+ "Duration": 3000,
+ "Value": "128"
+ },
+ {
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "TAPreferIdle",
+ "Duration": 3000,
+ "Value": "1"
},
{
"PowerHint": "CAMERA_THERMAL_SEVERE_BOOST",
@@ -1909,13 +2028,13 @@
"PowerHint": "CAMERA_STREAMING_EXTREME",
"Node": "CPULittleClusterDownRateLimitUs",
"Duration": 0,
- "Value": "5000"
+ "Value": "1000"
},
{
"PowerHint": "CAMERA_STREAMING_EXTREME",
"Node": "CPUMidClusterDownRateLimitUs",
"Duration": 0,
- "Value": "20000"
+ "Value": "5000"
},
{
"PowerHint": "CAMERA_STREAMING_EXTREME",
@@ -2002,6 +2121,12 @@
"Value": "0x0"
},
{
+ "PowerHint": "CAMERA_STREAMING_EXTREME",
+ "Node": "MaxLoadBalanceInterval",
+ "Duration": 0,
+ "Value": "4"
+ },
+ {
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "PowerHALCameraRunning",
"Duration": 0,
@@ -2083,13 +2208,13 @@
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "CPULittleClusterDownRateLimitUs",
"Duration": 0,
- "Value": "5000"
+ "Value": "1000"
},
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "CPUMidClusterDownRateLimitUs",
"Duration": 0,
- "Value": "20000"
+ "Value": "5000"
},
{
"PowerHint": "CAMERA_STREAMING_HIGH",
@@ -2194,6 +2319,12 @@
"Value": "0x80"
},
{
+ "PowerHint": "CAMERA_STREAMING_HIGH",
+ "Node": "MaxLoadBalanceInterval",
+ "Duration": 0,
+ "Value": "4"
+ },
+ {
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "AutoPreferIdle",
"Duration": 0,
@@ -2281,13 +2412,13 @@
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "CPULittleClusterDownRateLimitUs",
"Duration": 0,
- "Value": "5000"
+ "Value": "1000"
},
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "CPUMidClusterDownRateLimitUs",
"Duration": 0,
- "Value": "20000"
+ "Value": "5000"
},
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
@@ -2368,6 +2499,12 @@
"Value": "0x80"
},
{
+ "PowerHint": "CAMERA_STREAMING_STANDARD",
+ "Node": "MaxLoadBalanceInterval",
+ "Duration": 0,
+ "Value": "4"
+ },
+ {
"PowerHint": "CAMERA_STREAMING_LOW",
"Node": "AutoPreferIdle",
"Duration": 0,
@@ -2951,18 +3088,6 @@
"Value": "1"
},
{
- "PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
- "Node": "LimitFlashCurrent",
- "Duration": 0,
- "Value": "100"
- },
- {
- "PowerHint": "THERMAL_FLASH_LED_REDUCE_NONE",
- "Node": "LimitFlashCurrent",
- "Duration": 0,
- "Value": "1500"
- },
- {
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "PowerHALRenderingState",
"Duration": 0,
@@ -3140,7 +3265,7 @@
"PowerHint": "GAME",
"Node": "AutoPreferIdle",
"Duration": 0,
- "Value": "0"
+ "Value": "1"
},
{
"PowerHint": "GAME",
@@ -3471,11 +3596,12 @@
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
- "HBoostOnMissedCycles": 8,
- "HBoostOffMaxAvgRatio": 4.0,
- "HBoostOffMissedCycles": 5,
- "HBoostPidPuFactor": 0.5,
- "HBoostUclampMin": 722,
+ "HBoostModerateJankThreshold": 2,
+ "HBoostOffMaxAvgDurRatio": 4.0,
+ "HBoostSevereJankPidPu": 0.3,
+ "HBoostSevereJankThreshold": 8,
+ "HBoostUclampMinCeilingRange": [480, 722],
+ "HBoostUclampMinFloorRange": [230, 410],
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300,
@@ -3508,11 +3634,12 @@
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
- "HBoostOnMissedCycles": 8,
- "HBoostOffMaxAvgRatio": 4.0,
- "HBoostOffMissedCycles": 5,
- "HBoostPidPuFactor": 0.5,
- "HBoostUclampMin": 722,
+ "HBoostModerateJankThreshold": 2,
+ "HBoostOffMaxAvgDurRatio": 4.0,
+ "HBoostSevereJankPidPu": 0.35,
+ "HBoostSevereJankThreshold": 8,
+ "HBoostUclampMinCeilingRange": [480, 722],
+ "HBoostUclampMinFloorRange": [230, 410],
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300,
@@ -3545,11 +3672,12 @@
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
- "HBoostOnMissedCycles": 8,
- "HBoostOffMaxAvgRatio": 4.0,
- "HBoostOffMissedCycles": 5,
- "HBoostPidPuFactor": 0.5,
- "HBoostUclampMin": 722,
+ "HBoostModerateJankThreshold": 2,
+ "HBoostOffMaxAvgDurRatio": 4.0,
+ "HBoostSevereJankPidPu": 0.25,
+ "HBoostSevereJankThreshold": 8,
+ "HBoostUclampMinCeilingRange": [480, 722],
+ "HBoostUclampMinFloorRange": [230, 410],
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300,
diff --git a/perf/powerhint-zuma.json b/perf/powerhint-zuma.json
index 84f89f2..996ecf9 100644
--- a/perf/powerhint-zuma.json
+++ b/perf/powerhint-zuma.json
@@ -486,6 +486,16 @@
"ResetOnInit": true
},
{
+ "Name": "PowerHALLaunch",
+ "Path": "vendor.powerhal.is_launch",
+ "Values": [
+ "1",
+ "0"
+ ],
+ "Type": "Property",
+ "ResetOnInit": true
+ },
+ {
"Name": "INTCAMFreq",
"Path": "/sys/devices/platform/17000030.devfreq_intcam/devfreq/17000030.devfreq_intcam/min_freq",
"Values": [
@@ -778,6 +788,15 @@
"20 40"
],
"ResetOnInit": true
+ },
+ {
+ "Name": "PA_KILL",
+ "Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
+ "Values": [
+ "102400",
+ "0"
+ ],
+ "ResetOnInit": false
}
],
"Actions": [
@@ -935,6 +954,12 @@
"Value": "1"
},
{
+ "PowerHint": "LAUNCH",
+ "Node": "PowerHALLaunch",
+ "Duration": 5000,
+ "Value": "1"
+ },
+ {
"PowerHint": "LAUNCH_EXTEND",
"Node": "CPUBigClusterMaxFreq",
"Duration": 2000,
@@ -1079,6 +1104,13 @@
},
{
"PowerHint": "CAMERA_LAUNCH",
+ "Node": "PA_KILL",
+ "EnableProperty": "vendor.powerhal.is_launch",
+ "Duration": 0,
+ "Value": "102400"
+ },
+ {
+ "PowerHint": "CAMERA_LAUNCH",
"Node": "CPU_BIG_TSKIN_BYPASS",
"Duration": 1000,
"Value": "1"
@@ -2381,18 +2413,6 @@
"Value": "1"
},
{
- "PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
- "Node": "LimitFlashCurrent",
- "Duration": 0,
- "Value": "100"
- },
- {
- "PowerHint": "THERMAL_FLASH_LED_REDUCE_NONE",
- "Node": "LimitFlashCurrent",
- "Duration": 0,
- "Value": "1500"
- },
- {
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "PowerHALRenderingState",
"Duration": 0,
diff --git a/ripcurrent24/BoardConfig.mk b/ripcurrent24/BoardConfig.mk
index 58b90fe..e9121e9 100644
--- a/ripcurrent24/BoardConfig.mk
+++ b/ripcurrent24/BoardConfig.mk
@@ -24,5 +24,6 @@
include device/google/zumapro/BoardConfig-common.mk
-include vendor/google_devices/zumapro/prebuilts/BoardConfigVendor.mk
+include device/google/gs-common/check_current_prebuilt/check_current_prebuilt.mk
include device/google/caimito-sepolicy/ripcurrent24-sepolicy.mk
include device/google/caimito/wifi/BoardConfig-wifi.mk
diff --git a/ripcurrentpro/BoardConfig.mk b/ripcurrentpro/BoardConfig.mk
index ca496d0..bc66ab0 100644
--- a/ripcurrentpro/BoardConfig.mk
+++ b/ripcurrentpro/BoardConfig.mk
@@ -24,5 +24,6 @@
include device/google/zumapro/BoardConfig-common.mk
-include vendor/google_devices/zumapro/prebuilts/BoardConfigVendor.mk
+include device/google/gs-common/check_current_prebuilt/check_current_prebuilt.mk
include device/google/caimito-sepolicy/ripcurrentpro-sepolicy.mk
include device/google/caimito/wifi/BoardConfig-wifi.mk
diff --git a/thermal/thermal_info_config_caiman.json b/thermal/thermal_info_config_caiman.json
index 03f0f21..7eaed01 100644
--- a/thermal/thermal_info_config_caiman.json
+++ b/thermal/thermal_info_config_caiman.json
@@ -78,30 +78,6 @@
"PassiveDelay":7000
},
{
- "Name":"battery_cycle",
- "Type":"BCL_VOLTAGE"
- },
- {
- "Name":"soc",
- "Type":"BCL_PERCENTAGE",
- "HotThreshold":["NAN", "NAN", 80, "NAN", "NAN", "NAN", "NAN"],
- "Multiplier":1
- },
- {
- "Name":"BCL_AUDIO_BAACL",
- "Type":"BCL_VOLTAGE",
- "VirtualSensor":true,
- "Formula":"COUNT_THRESHOLD",
- "TriggerSensor": "soc",
- "Combination":["battery", "soc"],
- "Coefficient":[-25000, 80],
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 2.0, "NAN", "NAN"],
- "PollingDelay":0,
- "PassiveDelay":1000,
- "Multiplier":1,
- "SendCallback":true
- },
- {
"Name":"VIRTUAL-BTS-WINDOW-PARTIAL",
"Type":"UNKNOWN",
"VirtualSensor":true,
diff --git a/thermal/thermal_info_config_komodo.json b/thermal/thermal_info_config_komodo.json
index 22db445..c329b20 100644
--- a/thermal/thermal_info_config_komodo.json
+++ b/thermal/thermal_info_config_komodo.json
@@ -78,30 +78,6 @@
"PassiveDelay":7000
},
{
- "Name":"battery_cycle",
- "Type":"BCL_VOLTAGE"
- },
- {
- "Name":"soc",
- "Type":"BCL_PERCENTAGE",
- "HotThreshold":["NAN", "NAN", 80, "NAN", "NAN", "NAN", "NAN"],
- "Multiplier":1
- },
- {
- "Name":"BCL_AUDIO_BAACL",
- "Type":"BCL_VOLTAGE",
- "VirtualSensor":true,
- "Formula":"COUNT_THRESHOLD",
- "TriggerSensor": "soc",
- "Combination":["battery", "soc"],
- "Coefficient":[-25000, 80],
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 2.0, "NAN", "NAN"],
- "PollingDelay":0,
- "PassiveDelay":1000,
- "Multiplier":1,
- "SendCallback":true
- },
- {
"Name":"VIRTUAL-BTS-WINDOW-PARTIAL",
"Type":"UNKNOWN",
"VirtualSensor":true,
diff --git a/thermal/thermal_info_config_ripcurrent24.json b/thermal/thermal_info_config_ripcurrent24.json
index e8ba936..f081771 100644
--- a/thermal/thermal_info_config_ripcurrent24.json
+++ b/thermal/thermal_info_config_ripcurrent24.json
@@ -508,20 +508,17 @@
{
"Name":"thermal-cpufreq-0",
"Type":"CPU",
- "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
- "State2Power":["1100", "1050", "1000", "950", "900", "850", "800", "750", "700", "650", "600"]
+ "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote"
},
{
"Name":"thermal-cpufreq-1",
"Type":"CPU",
- "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
- "State2Power":["1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
+ "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote"
},
{
"Name":"thermal-cpufreq-2",
"Type":"CPU",
- "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
- "State2Power":["1450", "1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
+ "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote"
},
{
"Name":"thermal-gpufreq-0",
diff --git a/thermal/thermal_info_config_ripcurrentpro.json b/thermal/thermal_info_config_ripcurrentpro.json
index a40bd59..6d05ad7 100644
--- a/thermal/thermal_info_config_ripcurrentpro.json
+++ b/thermal/thermal_info_config_ripcurrentpro.json
@@ -80,20 +80,17 @@
{
"Name":"thermal-cpufreq-0",
"Type":"CPU",
- "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
- "State2Power":["1100", "1050", "1000", "950", "900", "850", "800", "750", "700", "650", "600"]
+ "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote"
},
{
"Name":"thermal-cpufreq-1",
"Type":"CPU",
- "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
- "State2Power":["1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
+ "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote"
},
{
"Name":"thermal-cpufreq-2",
"Type":"CPU",
- "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
- "State2Power":["1450", "1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
+ "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote"
},
{
"Name":"thermal-gpufreq-0",
diff --git a/thermal/thermal_info_config_tokay.json b/thermal/thermal_info_config_tokay.json
index e2c7165..25aa5e7 100644
--- a/thermal/thermal_info_config_tokay.json
+++ b/thermal/thermal_info_config_tokay.json
@@ -78,30 +78,6 @@
"PassiveDelay":7000
},
{
- "Name":"battery_cycle",
- "Type":"BCL_VOLTAGE"
- },
- {
- "Name":"soc",
- "Type":"BCL_PERCENTAGE",
- "HotThreshold":["NAN", "NAN", 80, "NAN", "NAN", "NAN", "NAN"],
- "Multiplier":1
- },
- {
- "Name":"BCL_AUDIO_BAACL",
- "Type":"BCL_VOLTAGE",
- "VirtualSensor":true,
- "Formula":"COUNT_THRESHOLD",
- "TriggerSensor": "soc",
- "Combination":["battery", "soc"],
- "Coefficient":[-25000, 80],
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 2.0, "NAN", "NAN"],
- "PollingDelay":0,
- "PassiveDelay":1000,
- "Multiplier":1,
- "SendCallback":true
- },
- {
"Name": "VIRTUAL-SKIN-SUB-0",
"Type": "UNKNOWN",
"Hidden": true,
diff --git a/tokay/BoardConfig.mk b/tokay/BoardConfig.mk
index 7cf14bc..608b533 100644
--- a/tokay/BoardConfig.mk
+++ b/tokay/BoardConfig.mk
@@ -20,10 +20,15 @@
BOARD_USES_GENERIC_AUDIO := true
USES_DEVICE_GOOGLE_CAIMITO := true
+RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_TOKAY_RADIO_DIR)
+RELEASE_GOOGLE_PRODUCT_RADIOCFG_DIR := $(RELEASE_GOOGLE_TOKAY_RADIOCFG_DIR)
+RELEASE_GOOGLE_PRODUCT_NTNRADIO_DIR := $(RELEASE_GOOGLE_TOKAY_NTNRADIO_DIR)
+
include device/google/caimito/device-caimito-common.mk
include device/google/zumapro/BoardConfig-common.mk
-include vendor/google_devices/zumapro/prebuilts/BoardConfigVendor.mk
+include device/google/gs-common/check_current_prebuilt/check_current_prebuilt.mk
-include vendor/google_devices/tokay/proprietary/BoardConfigVendor.mk
include device/google/caimito-sepolicy/tokay-sepolicy.mk
include device/google/caimito/wifi/BoardConfig-wifi.mk
diff --git a/tokay/overlay/frameworks/base/core/res/res/values/config.xml b/tokay/overlay/frameworks/base/core/res/res/values/config.xml
index c5dafeb..0018e7c 100644
--- a/tokay/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/tokay/overlay/frameworks/base/core/res/res/values/config.xml
@@ -54,6 +54,10 @@
<!-- 140 nits: (140-2)/(1200-2)*(0.67-0.0)+0.0 = 0.077178631 -->
<item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.077178631</item>
+ <!-- The maximum range of gamma adjustment possible using the screen
+ auto-brightness adjustment setting. -->
+ <fraction name="config_autoBrightnessAdjustmentMaxGamma">105%</fraction>
+
<!-- The default refresh rate. Pixel 6 manages this using the peak refresh rate setting, so set
this value to 0 so it has no effect. -->
<integer name="config_defaultRefreshRate">0</integer>
@@ -173,9 +177,12 @@
<!-- The max vibration strength allowed in audio haptic channels. -->
<item name="config_hapticChannelMaxVibrationAmplitude" format="float" type="dimen">0.335</item>
- <dimen name="status_bar_height_default">52dp</dimen>
- <dimen name="status_bar_height_portrait">52dp</dimen>
- <dimen name="status_bar_height_landscape">52dp</dimen>
+ <!-- Align to camera cutout's height. -->
+ <dimen name="status_bar_height_portrait">66dp</dimen>
+ <!-- Since @dimen/status_bar_height_portrait is modified in overlay, need to restore its value
+ from original folder. This should be done even looks no effect on some apps because
+ some other apps may reference to it. -->
+ <dimen name="status_bar_height_landscape">24dp</dimen>
<!-- Whether the display cutout region of the main built-in display should be forced to
black in software (to avoid aliasing or emulate a cutout that is not physically existent).
@@ -187,8 +194,10 @@
@left
</string>
+ <!-- This configuartion effects status bar's height actually. Set its height as double
+ y position of @dimen/config_mainBuiltInDisplayCutout to make cutout center vertically -->
<string translatable="false" name="config_mainBuiltInDisplayCutoutRectApproximation">
- m 484.5,0 h 110 v 141.5 h -110 z
+ m 484.5,0 h 110 v 173 h -110 z
@left
</string>
<!-- A string config in svg path format for the main display shape.
diff --git a/tokay/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/tokay/overlay/frameworks/base/core/res/res/xml/power_profile.xml
index dd14f6a..36a3c33 100644
--- a/tokay/overlay/frameworks/base/core/res/res/xml/power_profile.xml
+++ b/tokay/overlay/frameworks/base/core/res/res/xml/power_profile.xml
@@ -184,11 +184,11 @@
</array>
<item name="gps.voltage">3700</item>
<!-- Idle Receive current for wifi radio in mA.-->
- <item name="wifi.controller.idle">79</item>
+ <item name="wifi.controller.idle">31</item>
<!-- Rx current for wifi radio in mA.-->
- <item name="wifi.controller.rx">118</item>
+ <item name="wifi.controller.rx">39</item>
<!-- Tx current for wifi radio in mA-->
- <item name="wifi.controller.tx">331</item>
+ <item name="wifi.controller.tx">540</item>
<!-- Operating voltage for wifi radio in mV.-->
- <item name="wifi.controller.voltage">3700</item>
+ <item name="wifi.controller.voltage">3850</item>
</device>
diff --git a/tokay/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/tokay/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
index 6564d57..27be1cd 100644
--- a/tokay/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
+++ b/tokay/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
@@ -26,16 +26,6 @@
<string name="doze_brightness_sensor_type" translatable="false">com.google.sensor.binned_brightness</string>
<!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
- to brightness values; -1 means keeping the current brightness. -->
- <integer-array name="config_doze_brightness_sensor_to_brightness">
- <item>-1</item> <!-- 0: OFF -->
- <item>1</item> <!-- 1: NIGHT (1-1)/(255-1)*(1800-2)+2 = 2 nits -->
- <item>2</item> <!-- 2: LOW (2-1)/(255-1)*(1800-2)+2 = 9.08 nits -->
- <item>8</item> <!-- 3: HIGH (8-1)/(255-1)*(1800-2)+2 = 51.55 nits -->
- <item>8</item> <!-- 4: SUN -->
- </integer-array>
-
- <!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
to an opacity value for a black scrim that is overlaid in AOD1.
Valid range is from 0 (transparent) to 255 (opaque).
-1 means keeping the current opacity. -->
diff --git a/tokay/rro_overlays/NfcOverlay/res/values/config.xml b/tokay/rro_overlays/NfcOverlay/res/values/config.xml
index 15af9e0..f00a894 100644
--- a/tokay/rro_overlays/NfcOverlay/res/values/config.xml
+++ b/tokay/rro_overlays/NfcOverlay/res/values/config.xml
@@ -31,6 +31,6 @@
<item>31</item>
</integer-array>
<integer-array name="antenna_y">
- <item>111</item>
+ <item>41</item>
</integer-array>
</resources>