Anchor |
---|
| POC_work_description |
---|
| POC_work_description |
---|
|
Description Of Workcuration of topics from : List of prioritized topics for the Audio HAL
...
- define the related sw component affected by changes
- define the interfaces (details discussed between those who change the components)
- define which tasks require a real HW and which ones can be deployed on emulator (which part of the code is HW dependent)
...
running demo on real HW
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-104 |
---|
|
...
- compiling android-external-audio-mixing repository for selected target HW (Renesas-H3)
- optional support for 2nd HW (Low cost HiKey)
- TODO define functions to be included (input streams)
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-107 |
---|
|
- At this stage, the function selection for Milestone 3 should be agreed upon
...
Full Audio Path on real HW
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-105 |
---|
|
...
- support of full audio path
- Raw streams extraction
- input external streams
- control of an external stream
- demo should showcase at least one function
...
Selected Functions partitioned on HW
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-106 |
---|
|
...
- All selected and prioritized functions running on the main target HW
...
Emu_milestones | | POC_Emu_milestones |
---|
|
Emulator Track Milestones# | Summary | Due Date | Content Work Packages | Details Comments |
---|
1 | Multiple devices management |
|
| - step 1 : AOSP Emulator, configure multiple devices that would be available in the car.
- step 2 : Car System Emulator : emulate multiple Android devices with one single host device (e.g. Android sees many headsets and speakers then the user can select which one plays on the single host real device)
- help test multi zone audio use cases
- multiple microphones management
|
2 | HW acceleration Emulation |
|
| - run the same DSP HW accelerated algorithm in a PC x86 environment
- connect it to android emulator as an external HW accelerator
- prefer usage of standard libraries and interfaces e.g. Android audio effects / Open SL.
- how to add custom app effects
- how to abstract audio analysis algorithms e.g. Wake Up Word Detection or other.
|
Components overview | Host and emulator interactions |
---|
| |
Delegation of audio processing |
---|
Image Modified |
# | Component - main topics | Owners | JIRA sub-items | Implementation details |
---|
raw streams | Raw Stream Extraction(multizone audio, etc.) todo: detail it + use case Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-70 |
---|
|
AMM demo |
| - Overview picture with SW components
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-71 |
---|
|
- Audio HAL (open point: keep modified or rewrite it)
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-72 |
---|
|
- Config for multizone
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-73 |
---|
|
- Separate contexts for audio input PCM streams (open point: separation concept to be defined)
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-74 |
---|
|
|
|
| (microphone, or external player) todo: detail it + use case todo: be more explicit and clear about for example what is "external" Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-75 |
---|
|
AMM demo |
| - Design Overview (pointing to the actual sw comp)
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-76 |
---|
|
- getting stream from Microphone (line in)
- config in AOSP
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-77 |
---|
|
- external player or other device (BT or other)
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-78 |
---|
|
|
|
13 | Bluetooth Device Integration in Android System.As a user I have a BT headset (with speakers, microphone, control buttons, or even the car itself, etc.). I should be able to use it in an Android System.
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-79 |
---|
|
|
| - Overview design
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-80 |
---|
|
- Usage of a bluetooth headset with Android BT stack only
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-81 |
---|
|
- Microphone from Headset, audio on External Loudspeakers
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-82 |
---|
|
- No Bluetooth, both Microphone and Loudspeakers are used for telephony example such as skype or any other
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-83 |
---|
|
- forward audio stream from external source (to connected BT device (speaker/headphone) via Android Audio subsystem
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-84 |
---|
|
|
|
08 | Ensure measurability of full audio path latencyAs a user I would not want my audio connection to be delayed. Each delay measure will be split in modules, which module brings which delay, eg (Bluetooth delay, mixing delay, routing delay,...)
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-86 |
---|
|
AMM demo (TBC) |
| - Overview design
- components and APIs involved in the Audio path
- anti-jitter buffers configurations
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-87 |
---|
|
- Total delay for Telephony on external speakers use case
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-88 |
---|
|
- Total delay for Video streaming where audio plays on an external speaker
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-88 |
---|
|
- add latency measurements means to quick audio solutions (AAudio)*
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-90 |
---|
|
- investigate PCM transport impact on latency, check alternatives (currently named sockets are being used, alternative shared memory or pipes)
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-91 |
---|
|
|
|
| Offloading to external speakers or loopback to Android.(offloading examples, codecs MPEG,MP3, DSPs, transport e.g. AVB) Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-92 |
---|
|
|
| - Design Overview (pointing to the actual sw comp)
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-94 |
---|
|
- Offloading part-1 (overview on concept, which APIs)
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-95 |
---|
|
- Offloading part-2 (usage)
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-96 |
---|
|
- Offloading with loopback to Android
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-97 |
---|
|
|
|
09 | Offloading use case : Forwarding Multi-Channel audioefficiency by keeping Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-93 |
---|
|
|
| - PCM 5.1 sample audio
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-98 |
---|
|
- Guidelines for specific policy config to prevent downmixing
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-99 |
---|
|
- Example implementation
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-100 |
---|
|
- playing multichannels 5.1 audio from Netflix (any DRM issues)
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-100 |
---|
|
|
|
Additional build and run info
This info is to be moved in the repo readme, the current readme is not at the root of the repo to avoid aosp directory pollution, therefore this info will move once a new structure of repo is created with manifest and new readme
- can open Android Studio that will show logcat output
- Listen with command on another terminal window "nc -l 5000"
- emulator
- switch on from emulator power button
- play any sound from Alarm volume settings or other
|
repo init -u https://android.googlesource.com/platform/manifest -b android-10.0.0_r40 |
repo sync |
source build/envsetup.sh |
lunch |
m |
...
Anchor |
---|
| POC_milestones |
---|
| POC_milestones |
---|
|
HW Track Milestones# | Summary | Due Date | Content Work Packages | Details Comments |
---|
1 | running demo on real HW Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-104 |
---|
|
|
|
| - compiling android-external-audio-mixing repository for selected target HW (Renesas-H3)
- optional support for 2nd HW (Low cost HiKey)
- TODO define functions to be included (input streams)
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-107 |
---|
|
- At this stage, the function selection for Milestone 3 should be agreed upon
|
2 | Full Audio Path on real HW Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-105 |
---|
|
|
|
| - support of full audio path
- Raw streams extraction
- input external streams
- control of an external stream
- demo should showcase at least one function
|
3 | Selected Functions partitioned on HW Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | AASIG-106 |
---|
|
|
|
| - All selected and prioritized functions running on the main target HW
|