Merge changes from topic "presubmit-am-9d5ed059f6d04c20b6b6c9f357d33061" into sc-v2-dev-plus-aosp
* changes:
[automerge] Update oriole SVN to 25 2p: 380c525541
Update oriole SVN to 25 Bug: 223313197
diff --git a/audio/oriole/audio-tables.mk b/audio/oriole/audio-tables.mk
index 79fff6b..98dd6a6 100644
--- a/audio/oriole/audio-tables.mk
+++ b/audio/oriole/audio-tables.mk
@@ -23,7 +23,8 @@
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_a2dp_offload_disabled.xml \
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/audio_platform_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_configuration.xml \
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/sound_trigger_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_configuration.xml \
- device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml
+ device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
+ device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml
# AudioEffectHAL Configuration
PRODUCT_COPY_FILES += \
diff --git a/audio/oriole/config/audio_effects.xml b/audio/oriole/config/audio_effects.xml
index 1718057..e35bfbd 100644
--- a/audio/oriole/config/audio_effects.xml
+++ b/audio/oriole/config/audio_effects.xml
@@ -10,6 +10,7 @@
<library name="proxy" path="libeffectproxy.so"/>
<library name="offload_effect" path="liboffloadeffect.so"/>
<library name="haptic_generator" path="libhapticgenerator.so"/>
+ <library name="spatializer" path="libspatialaudio.so"/>
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="2f0871a2-c93c-4824-9664-42eb2909f2ef">
@@ -51,6 +52,7 @@
<effect name="ns" library="offload_effect" uuid="62ff2836-d050-43c3-9c2d-94a73dad2c64"/>
<effect name="haptic_generator" library="haptic_generator" uuid="97c4acd1-8b82-4f2f-832e-c2fe5d7a9931"/>
<effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
+ <effect name="spatializer" library="spatializer" uuid="cc4677de-ff72-11eb-9a03-0242ac130003"/>
</effects>
<postprocess>
</postprocess>
diff --git a/audio/oriole/config/audio_platform_configuration.xml b/audio/oriole/config/audio_platform_configuration.xml
index 6bc6159..f8cd663 100644
--- a/audio/oriole/config/audio_platform_configuration.xml
+++ b/audio/oriole/config/audio_platform_configuration.xml
@@ -182,6 +182,7 @@
<usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
<!-- dev1: voice-call downlink dev2: voice-clal uplink -->
<usecase id="UC_VOICE_CALL" dev1="4" dev2="11"/>
+ <usecase id="UC_IMMERSIVE_PLAYBACK" dev1="3"/>
<!-- for output with AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD, 4 * 128KB buffer -->
<usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" dev1="6" dyn_path="true" dsp_vol="true" mmap="false" period="131072" period_num="4" pre_proc_id="14"/>
<!-- dev1: audio dev2: haptic -->
diff --git a/audio/oriole/config/audio_policy_configuration.xml b/audio/oriole/config/audio_policy_configuration.xml
index 90ee1c3..8d732a1 100644
--- a/audio/oriole/config/audio_policy_configuration.xml
+++ b/audio/oriole/config/audio_policy_configuration.xml
@@ -63,6 +63,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_FAST AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
+ <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
<mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@@ -185,21 +189,21 @@
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Speaker"
- sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="BT A2DP Out"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Headphones"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Speaker"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="USB Device Out"
- sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Headset Out"
- sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
<route type="mix" sink="BT SCO Headset"
diff --git a/audio/oriole/config/audio_policy_configuration_a2dp_offload_disabled.xml b/audio/oriole/config/audio_policy_configuration_a2dp_offload_disabled.xml
index ea540e8..86c3104 100644
--- a/audio/oriole/config/audio_policy_configuration_a2dp_offload_disabled.xml
+++ b/audio/oriole/config/audio_policy_configuration_a2dp_offload_disabled.xml
@@ -63,6 +63,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_FAST AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
+ <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
<mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@@ -170,15 +174,15 @@
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Speaker"
- sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="USB Device Out"
- sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Headset Out"
- sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
<route type="mix" sink="BT SCO Headset"
diff --git a/audio/oriole/config/bluetooth_audio_policy_configuration_7_0.xml b/audio/oriole/config/bluetooth_audio_policy_configuration_7_0.xml
new file mode 100644
index 0000000..3a07ded
--- /dev/null
+++ b/audio/oriole/config/bluetooth_audio_policy_configuration_7_0.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Bluetooth Audio HAL Audio Policy Configuration file -->
+<module name="bluetooth" halVersion="2.0">
+ <mixPorts>
+ <!-- A2DP Audio Ports -->
+ <mixPort name="a2dp output" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER AUDIO_OUTPUT_FLAG_FAST"/>
+ <!-- Hearing AIDs Audio Ports -->
+ <mixPort name="hearing aid output" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="24000 16000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ </mixPorts>
+ <devicePorts>
+ <!-- A2DP Audio Ports -->
+ <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000 88200 96000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000 88200 96000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000 88200 96000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <!-- Hearing AIDs Audio Ports -->
+ <devicePort tagName="BT Hearing Aid Out" type="AUDIO_DEVICE_OUT_HEARING_AID" role="sink"/>
+ </devicePorts>
+ <routes>
+ <route type="mix" sink="BT A2DP Out"
+ sources="a2dp output"/>
+ <route type="mix" sink="BT A2DP Headphones"
+ sources="a2dp output"/>
+ <route type="mix" sink="BT A2DP Speaker"
+ sources="a2dp output"/>
+ <route type="mix" sink="BT Hearing Aid Out"
+ sources="hearing aid output"/>
+ </routes>
+</module>
diff --git a/audio/oriole/config/mixer_paths.xml b/audio/oriole/config/mixer_paths.xml
index 55d5252..e2f724e 100644
--- a/audio/oriole/config/mixer_paths.xml
+++ b/audio/oriole/config/mixer_paths.xml
@@ -429,6 +429,18 @@
<path name="compress-offload-playback" />
</path>
+ <path name="immersive-playbackP">
+ <ctl name="TDM_0_RX Mixer EP4" value="1"/>
+ </path>
+
+ <path name="immersive-playbackP bt">
+ <ctl name="BT_RX Mixer EP4" value="1"/>
+ </path>
+
+ <path name="immersive-playbackP usb-headphone">
+ <ctl name="USB_RX Mixer EP4" value="1"/>
+ </path>
+
<path name="voip-playbackP">
<ctl name="TDM_0_RX Mixer VOIP" value="1"/>
</path>
diff --git a/audio/raven/audio-tables.mk b/audio/raven/audio-tables.mk
index 905464c..cffea37 100644
--- a/audio/raven/audio-tables.mk
+++ b/audio/raven/audio-tables.mk
@@ -23,7 +23,8 @@
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_a2dp_offload_disabled.xml \
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/audio_platform_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_configuration.xml \
device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/sound_trigger_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_configuration.xml \
- device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml
+ device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
+ device/google/raviole/audio/$(AUDIO_TABLE_FOLDER)/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml
# AudioEffectHAL Configuration
PRODUCT_COPY_FILES += \
diff --git a/audio/raven/config/audio_effects.xml b/audio/raven/config/audio_effects.xml
index 1718057..e35bfbd 100644
--- a/audio/raven/config/audio_effects.xml
+++ b/audio/raven/config/audio_effects.xml
@@ -10,6 +10,7 @@
<library name="proxy" path="libeffectproxy.so"/>
<library name="offload_effect" path="liboffloadeffect.so"/>
<library name="haptic_generator" path="libhapticgenerator.so"/>
+ <library name="spatializer" path="libspatialaudio.so"/>
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="2f0871a2-c93c-4824-9664-42eb2909f2ef">
@@ -51,6 +52,7 @@
<effect name="ns" library="offload_effect" uuid="62ff2836-d050-43c3-9c2d-94a73dad2c64"/>
<effect name="haptic_generator" library="haptic_generator" uuid="97c4acd1-8b82-4f2f-832e-c2fe5d7a9931"/>
<effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
+ <effect name="spatializer" library="spatializer" uuid="cc4677de-ff72-11eb-9a03-0242ac130003"/>
</effects>
<postprocess>
</postprocess>
diff --git a/audio/raven/config/audio_platform_configuration.xml b/audio/raven/config/audio_platform_configuration.xml
index 6bc6159..f8cd663 100644
--- a/audio/raven/config/audio_platform_configuration.xml
+++ b/audio/raven/config/audio_platform_configuration.xml
@@ -182,6 +182,7 @@
<usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
<!-- dev1: voice-call downlink dev2: voice-clal uplink -->
<usecase id="UC_VOICE_CALL" dev1="4" dev2="11"/>
+ <usecase id="UC_IMMERSIVE_PLAYBACK" dev1="3"/>
<!-- for output with AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD, 4 * 128KB buffer -->
<usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" dev1="6" dyn_path="true" dsp_vol="true" mmap="false" period="131072" period_num="4" pre_proc_id="14"/>
<!-- dev1: audio dev2: haptic -->
diff --git a/audio/raven/config/audio_policy_configuration.xml b/audio/raven/config/audio_policy_configuration.xml
index 90ee1c3..8d732a1 100644
--- a/audio/raven/config/audio_policy_configuration.xml
+++ b/audio/raven/config/audio_policy_configuration.xml
@@ -63,6 +63,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_FAST AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
+ <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
<mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@@ -185,21 +189,21 @@
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Speaker"
- sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="BT A2DP Out"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Headphones"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="BT A2DP Speaker"
- sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
+ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out"/>
<route type="mix" sink="USB Device Out"
- sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Headset Out"
- sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
<route type="mix" sink="BT SCO Headset"
diff --git a/audio/raven/config/audio_policy_configuration_a2dp_offload_disabled.xml b/audio/raven/config/audio_policy_configuration_a2dp_offload_disabled.xml
index ea540e8..86c3104 100644
--- a/audio/raven/config/audio_policy_configuration_a2dp_offload_disabled.xml
+++ b/audio/raven/config/audio_policy_configuration_a2dp_offload_disabled.xml
@@ -63,6 +63,10 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_FAST AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
+ <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
<mixPort name="incall playback" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@@ -170,15 +174,15 @@
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Speaker"
- sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,immersive_out"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Earpiece"
sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="USB Device Out"
- sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="USB Headset Out"
- sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/>
+ sources="primary output,deep buffer,haptic,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback,immersive_out"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx"/>
<route type="mix" sink="BT SCO Headset"
diff --git a/audio/raven/config/bluetooth_audio_policy_configuration_7_0.xml b/audio/raven/config/bluetooth_audio_policy_configuration_7_0.xml
new file mode 100644
index 0000000..3a07ded
--- /dev/null
+++ b/audio/raven/config/bluetooth_audio_policy_configuration_7_0.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Bluetooth Audio HAL Audio Policy Configuration file -->
+<module name="bluetooth" halVersion="2.0">
+ <mixPorts>
+ <!-- A2DP Audio Ports -->
+ <mixPort name="a2dp output" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER AUDIO_OUTPUT_FLAG_FAST"/>
+ <!-- Hearing AIDs Audio Ports -->
+ <mixPort name="hearing aid output" role="source">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="24000 16000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
+ </mixPorts>
+ <devicePorts>
+ <!-- A2DP Audio Ports -->
+ <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000 88200 96000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000 88200 96000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="44100 48000 88200 96000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </devicePort>
+ <!-- Hearing AIDs Audio Ports -->
+ <devicePort tagName="BT Hearing Aid Out" type="AUDIO_DEVICE_OUT_HEARING_AID" role="sink"/>
+ </devicePorts>
+ <routes>
+ <route type="mix" sink="BT A2DP Out"
+ sources="a2dp output"/>
+ <route type="mix" sink="BT A2DP Headphones"
+ sources="a2dp output"/>
+ <route type="mix" sink="BT A2DP Speaker"
+ sources="a2dp output"/>
+ <route type="mix" sink="BT Hearing Aid Out"
+ sources="hearing aid output"/>
+ </routes>
+</module>
diff --git a/audio/raven/config/mixer_paths.xml b/audio/raven/config/mixer_paths.xml
index 55d5252..e2f724e 100644
--- a/audio/raven/config/mixer_paths.xml
+++ b/audio/raven/config/mixer_paths.xml
@@ -429,6 +429,18 @@
<path name="compress-offload-playback" />
</path>
+ <path name="immersive-playbackP">
+ <ctl name="TDM_0_RX Mixer EP4" value="1"/>
+ </path>
+
+ <path name="immersive-playbackP bt">
+ <ctl name="BT_RX Mixer EP4" value="1"/>
+ </path>
+
+ <path name="immersive-playbackP usb-headphone">
+ <ctl name="USB_RX Mixer EP4" value="1"/>
+ </path>
+
<path name="voip-playbackP">
<ctl name="TDM_0_RX Mixer VOIP" value="1"/>
</path>
diff --git a/device-oriole.mk b/device-oriole.mk
index e22e0b3..e8fb434 100644
--- a/device-oriole.mk
+++ b/device-oriole.mk
@@ -217,3 +217,16 @@
# This device is shipped with 31 (Android S)
PRODUCT_SHIPPING_API_LEVEL := 31
+
+##############################################
+# DOLBY integration
+include vendor/dolby/ds/dolby-buildspec.mk
+$(call inherit-product, vendor/dolby/ds/dolby-product.mk)
+
+# add list of codecs, but overwrite device/google/gs101/media_codecs_bo_c2.xml
+# with same file but with Dolby codecs listed
+PRODUCT_COPY_FILES := \
+ device/google/raviole/media_codecs_bo_dolby_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml \
+ $(PRODUCT_COPY_FILES)
+
+PRODUCT_RESTRICT_VENDOR_FILES := false
diff --git a/device-raven.mk b/device-raven.mk
index 1075248..aab8381 100644
--- a/device-raven.mk
+++ b/device-raven.mk
@@ -233,3 +233,16 @@
# This device is shipped with 31 (Android S)
PRODUCT_SHIPPING_API_LEVEL := 31
+
+#############################################
+# DOLBY integration
+include vendor/dolby/ds/dolby-buildspec.mk
+$(call inherit-product, vendor/dolby/ds/dolby-product.mk)
+
+# add list of codecs, but overwrite device/google/gs101/media_codecs_bo_c2.xml
+# with same file but with Dolby codecs listed
+PRODUCT_COPY_FILES := \
+ device/google/raviole/media_codecs_bo_dolby_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml \
+ $(PRODUCT_COPY_FILES)
+
+PRODUCT_RESTRICT_VENDOR_FILES := false
diff --git a/media_codecs_bo_dolby_c2.xml b/media_codecs_bo_dolby_c2.xml
new file mode 100644
index 0000000..3197674
--- /dev/null
+++ b/media_codecs_bo_dolby_c2.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright 2018 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.
+-->
+<MediaCodecs>
+ <Include href="media_codecs_aosp_c2.xml" />
+ <Decoders>
+ <MediaCodec name="c2.google.av1.decoder" type="video/av01">
+ <Limit name="size" min="96x96" max="3840x2160" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="block-count" range="36-32400" />
+ <Limit name="blocks-per-second" min="24" max="1944000" />
+ <Limit name="bitrate" range="1-120000000" />
+ <Limit name="frame-rate" range="1-180" />
+ <Limit name="concurrent-instances" max="16" />
+ <Limit name="performance-point-1280x720" value="180" />
+ <Limit name="performance-point-1920x1080" value="120" />
+ <Limit name="performance-point-3840x2160" value="60" />
+ <Feature name="adaptive-playback" />
+ <Feature name="can-swap-width-height" value="1" />
+ </MediaCodec>
+ <MediaCodec name="c2.google.av1.decoder.secure" type="video/av01">
+ <Limit name="size" min="96x96" max="3840x2160" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="block-count" range="36-32400" />
+ <Limit name="blocks-per-second" min="24" max="1944000" />
+ <Limit name="bitrate" range="1-120000000" />
+ <Limit name="frame-rate" range="1-180" />
+ <Limit name="concurrent-instances" max="16" />
+ <Limit name="performance-point-1280x720" value="180" />
+ <Limit name="performance-point-1920x1080" value="120" />
+ <Limit name="performance-point-3840x2160" value="60" />
+ <Feature name="adaptive-playback" />
+ <Feature name="secure-playback" required="true" />
+ <Feature name="can-swap-width-height" value="1" />
+ </MediaCodec>
+ <MediaCodec name="c2.dolby.eac3.decoder">
+ <Type name="audio/ac3">
+ <Alias name="OMX.dolby.ac3.decoder"/>
+ <Limit name="channel-count" max="6"/>
+ <Limit name="sample-rate" ranges="32000,44100,48000"/>
+ <Limit name="bitrate" range="32000-640000"/>
+ </Type>
+ <Attribute name="software-codec"/>
+ <Type name="audio/eac3">
+ <Alias name="OMX.dolby.eac3.decoder"/>
+ <Limit name="channel-count" max="8"/>
+ <Limit name="sample-rate" ranges="32000,44100,48000"/>
+ <Limit name="bitrate" range="32000-6144000"/>
+ </Type>
+ </MediaCodec>
+ </Decoders>
+</MediaCodecs>
diff --git a/oriole/overlay/frameworks/base/core/res/res/values/config.xml b/oriole/overlay/frameworks/base/core/res/res/values/config.xml
index d93eb1f..6eec9d0 100644
--- a/oriole/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/oriole/overlay/frameworks/base/core/res/res/values/config.xml
@@ -227,88 +227,6 @@
non-zero amplitudes, to bring the vibrator amplitude down to zero using this timing. -->
<integer name="config_vibrationWaveformRampDownDuration">50</integer>
- <!-- A vibration waveform for notifications that specify DEFAULT_VIBRATE.
- This value is a float array with values grouped as
- { targetAmplitude (within [0,1]), targetFrequency [-1,1], duration (in milliseconds) }
- This is only applied on devices with vibration frequency control. If the device doesn't
- support frequency control, then the vibration specified in
- config_defaultNotificationVibePattern is used instead.
- -->
- <array name="config_defaultNotificationVibeWaveform">
- <item>0.0</item>
- <item>-0.85</item>
- <item>0.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>100.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>100.0</item>
-
- <item>0.0</item>
- <item>-0.85</item>
- <item>100.0</item>
-
- <item>0.0</item>
- <item>-0.85</item>
- <item>100.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>100.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>100.0</item>
-
- <item>0.0</item>
- <item>-0.85</item>
- <item>100.0</item>
- </array>
-
- <!-- A vibration waveform for notifications that do not specify vibration but vibrate anyway,
- because the device is in vibrate mode. This value is a float array with values grouped as
- { targetAmplitude (within [0,1]), targetFrequency [-1,1], duration (in milliseconds) }
- This is only applied on devices with vibration frequency control. If the device doesn't
- support frequency control, then the vibration specified in
- config_notificationFallbackVibePattern is used instead.
- -->
- <array name="config_notificationFallbackVibeWaveform">
- <item>0.0</item>
- <item>-0.85</item>
- <item>0.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>50.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>100.0</item>
-
- <item>0.0</item>
- <item>-0.85</item>
- <item>50.0</item>
-
- <item>0.0</item>
- <item>-0.85</item>
- <item>100.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>50.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>100.0</item>
-
- <item>0.0</item>
- <item>-0.85</item>
- <item>50.0</item>
- </array>
-
<!-- the number of the max cached processes in the system. -->
<integer name="config_customizedMaxCachedProcesses">64</integer>
diff --git a/raven/overlay/frameworks/base/core/res/res/values/config.xml b/raven/overlay/frameworks/base/core/res/res/values/config.xml
index cffd560..a83a4e4 100644
--- a/raven/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/raven/overlay/frameworks/base/core/res/res/values/config.xml
@@ -195,88 +195,6 @@
non-zero amplitudes, to bring the vibrator amplitude down to zero using this timing. -->
<integer name="config_vibrationWaveformRampDownDuration">50</integer>
- <!-- A vibration waveform for notifications that specify DEFAULT_VIBRATE.
- This value is a float array with values grouped as
- { targetAmplitude (within [0,1]), targetFrequency [-1,1], duration (in milliseconds) }
- This is only applied on devices with vibration frequency control. If the device doesn't
- support frequency control, then the vibration specified in
- config_defaultNotificationVibePattern is used instead.
- -->
- <array name="config_defaultNotificationVibeWaveform">
- <item>0.0</item>
- <item>-0.85</item>
- <item>0.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>100.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>100.0</item>
-
- <item>0.0</item>
- <item>-0.85</item>
- <item>100.0</item>
-
- <item>0.0</item>
- <item>-0.85</item>
- <item>100.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>100.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>100.0</item>
-
- <item>0.0</item>
- <item>-0.85</item>
- <item>100.0</item>
- </array>
-
- <!-- A vibration waveform for notifications that do not specify vibration but vibrate anyway,
- because the device is in vibrate mode. This value is a float array with values grouped as
- { targetAmplitude (within [0,1]), targetFrequency [-1,1], duration (in milliseconds) }
- This is only applied on devices with vibration frequency control. If the device doesn't
- support frequency control, then the vibration specified in
- config_notificationFallbackVibePattern is used instead.
- -->
- <array name="config_notificationFallbackVibeWaveform">
- <item>0.0</item>
- <item>-0.85</item>
- <item>0.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>50.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>100.0</item>
-
- <item>0.0</item>
- <item>-0.85</item>
- <item>50.0</item>
-
- <item>0.0</item>
- <item>-0.85</item>
- <item>100.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>50.0</item>
-
- <item>0.4</item>
- <item>-0.25</item>
- <item>100.0</item>
-
- <item>0.0</item>
- <item>-0.85</item>
- <item>50.0</item>
- </array>
-
<!-- Height of the status bar.
Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
-->