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
Loading
Please register or sign in to comment