Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Anchor
POC_Emu_milestones
POC_Emu_milestones
Emulator Track Milestones

#SummaryDue DateContent Work PackagesDetails 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
2HW 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 Added

#Component - main topicsOwnersJIRA sub-itemsImplementation details
raw streams

Raw Stream Extraction

(multizone audio, etc.)

todo: detail it + use case

Jira
serverJIRA
serverId121ddff2-c571-320f-9e4d-d5b9371533bd
keyAASIG-70

  • Overview picture with SW components
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-71
  • Audio HAL (open point: keep modified  or rewrite it)
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-72
  • Config for multizone
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-73
  • Separate contexts for audio input PCM streams (open point: separation concept to be defined)
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-74


Input and Control of external streams

(microphone, or external player)

todo: detail it + use case

todo: be more explicit and clear about for example what is "external"

Jira
serverJIRA
serverId121ddff2-c571-320f-9e4d-d5b9371533bd
keyAASIG-75

  • Design Overview (pointing to the actual sw comp)
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-76
  • getting stream from Microphone (line in)
    • config in AOSP
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-77
  • external player or other device (BT or other)
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-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
serverJIRA
serverId121ddff2-c571-320f-9e4d-d5b9371533bd
keyAASIG-79

  • Overview design
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-80
  • Usage of a bluetooth headset with Android BT stack only
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-81
  • Microphone from Headset, audio on External Loudspeakers
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-82
  • No Bluetooth, both Microphone and Loudspeakers are used for telephony example such as skype or any other
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-83
  • forward audio stream from external source (to connected BT device (speaker/headphone) via Android Audio subsystem
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-84

08

Ensure measurability of full audio path latency

As 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
serverJIRA
serverId121ddff2-c571-320f-9e4d-d5b9371533bd
keyAASIG-86

  • Overview design
    • components and APIs involved in the Audio path
    • anti-jitter buffers configurations
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-87
  • Total delay for Telephony on external speakers use case
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-88
  • Total delay for Video streaming where audio plays on an external speaker
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-88
  • add latency measurements means to quick audio solutions (AAudio)*
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-90
  • investigate PCM transport impact on latency, check alternatives (currently named sockets are being used, alternative shared memory or pipes)
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-91


Offloading to external speakers or loopback to Android.

(offloading examples, codecs MPEG,MP3, DSPs, transport e.g. AVB)

Jira
serverJIRA
serverId121ddff2-c571-320f-9e4d-d5b9371533bd
keyAASIG-92

  • Design Overview (pointing to the actual sw comp)
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-94
  • Offloading part-1 (overview on concept, which APIs)
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-95
  • Offloading part-2 (usage)
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-96
  • Offloading with loopback to Android
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-97

09

Offloading use case : Forwarding Multi-Channel audio

efficiency by keeping

Jira
serverJIRA
serverId121ddff2-c571-320f-9e4d-d5b9371533bd
keyAASIG-93


  • PCM 5.1 sample audio
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-98
  • Guidelines for specific policy config to prevent downmixing
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-99
  • Example implementation
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-100
  • playing multichannels 5.1 audio from Netflix (any DRM issues)
    • Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-100

...