Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 038b1737 authored by Dake Gu's avatar Dake Gu
Browse files

synchronized audio beat detection: DO NOT MERGE

1. decoder is isolated from aah_decoder_pump to serve both audio playback and
   audio analyzer

2. In transmitter, aah_audio_processor reads audio decoder output,  downsamples
   to 8 bits mono pcm, calculates fft and feeds to aah_audio_algorithm.
   Beat detection is based on selecting significant amplitude change on sub
   bands of frequency domain.  Beat sequence number is increased if there is
   a significant change, all visualizers will switch to same scene based on the
   beat sequence number.

3. A new TRTPMetaDataPacket is added for carrying general metadata information
   from transmitter to receiver.   The packet is sent every 250ms for beat
   information.

4. Audio/Video synchronization: every beat information from transmitter carries
   a media timestamp, receiver performs media time to java elapsedRealtime
   transformation then send to java process.

5. created binder service IAAHMetaDataService, it broadcast beat information to
   all IAAHMetaDataClient.  Modified service_manager.c "allow table" to allow
   mediaserver register IAAHMetaDataService.

6. Added a java static library to access IAAHMetaDataService.  Jni part wraps
   access to native IAAHMetaDataClient.  Robustness: both IAAHMetaDataService
   side and IAAHMetaDataClient sides can detect binder death of the other side,
   and perform cleanup and recovery step for a new connection.

Change-Id: Iaad2a9d9d3aa3990fb796efe59a93bf4efc81b32
parent c43a685c
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment