1899 Commits

Author SHA1 Message Date
Eric Laurent
dd2060932a am 22a2d718: Merge "Audio policy manager changes for audio effects" into gingerbread
Merge commit '22a2d7186d015efcd648dff99500f8467463be82' into gingerbread-plus-aosp

* commit '22a2d7186d015efcd648dff99500f8467463be82':
  Audio policy manager changes for audio effects
2010-07-20 11:28:26 -07:00
Eric Laurent
22a2d7186d Merge "Audio policy manager changes for audio effects" into gingerbread 2010-07-20 11:25:35 -07:00
Andreas Huber
ff45709fbd am cc14a839: Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we\'ll still play it back correctly.
Merge commit 'cc14a8393b92cd1ed6cba74829396045605ab211' into gingerbread-plus-aosp

* commit 'cc14a8393b92cd1ed6cba74829396045605ab211':
  Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we'll still play it back correctly.
2010-07-20 10:40:39 -07:00
Eric Laurent
8ed6ed0b62 Audio policy manager changes for audio effects
Added methods for audio effects management by audio policy manager.
- control of total CPU load and memory used by effect engines
- selection of output stream for global effects
- added audio session id in parameter list for startOutput() and stopOutput().
this is not used in default audio policy manager implementation.

Modifications of audio effect framework in AudioFlinger to allow moving and reconfiguring
effect engines from one output mixer thread to another when audio tracks in the same session
are moved or when requested by audio policy manager.
Also fixed mutex deadlock problem with effect chains locks.

Change-Id: Ida43484b06e9b890d6b9e53c13958d042720ebdb
2010-07-20 10:31:57 -07:00
Andreas Huber
cc14a8393b Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we'll still play it back correctly.
Change-Id: Icc790122744745e9a88099788d4818ca1e265a82
related-to-bug: 2826841
2010-07-20 09:25:38 -07:00
Andreas Huber
4df3ab54eb am faf1d46a: Merge "Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled." into gingerbread
Merge commit 'faf1d46a60518fcc3e58c91740e673e8a3f2d3cc' into gingerbread-plus-aosp

* commit 'faf1d46a60518fcc3e58c91740e673e8a3f2d3cc':
  Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled.
2010-07-20 09:24:53 -07:00
Andreas Huber
faf1d46a60 Merge "Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled." into gingerbread 2010-07-20 09:18:58 -07:00
James Dong
0c5f2ec25f Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled.
Change-Id: I883c81dad3ea465e71cb5590e89d763671a90ff8
2010-07-19 12:41:35 -07:00
Eric Laurent
3c6ea95553 am 7203272f: Merge "Fixed problems in audio effect volume control." into gingerbread
Merge commit '7203272f35e40bf9d4b76f1b2f9b0077738df118' into gingerbread-plus-aosp

* commit '7203272f35e40bf9d4b76f1b2f9b0077738df118':
  Fixed problems in audio effect volume control.
2010-07-19 10:19:49 -07:00
Eric Laurent
0d7e048cf2 Fixed problems in audio effect volume control.
Fixed the following problems in audio effect volume control in AudioFlinger:
- Make sure that the volumes returned by EffectChain::setVolume_l() are correct even is
no change is detected since last call
- Do not use isEnabled() to validate volume control but mState >= ACTIVE instead as the volume control
must be also active in STOPPING and STOPPED states.

Change-Id: Id62da3164fad500ee8a5efd6cd78c77e8fdcb541
2010-07-19 06:31:30 -07:00
James Dong
5e782937ea am faf775e7: Fix simulator build (1st attempt)
Merge commit 'faf775e772e329e821d81ba735474df097b1e1e9' into gingerbread-plus-aosp

* commit 'faf775e772e329e821d81ba735474df097b1e1e9':
  Fix simulator build (1st attempt)
2010-07-18 15:03:15 -07:00
James Dong
faf775e772 Fix simulator build (1st attempt)
Change-Id: I65a824c17929170b7b2bc75a13e756e92d8fe50a
2010-07-18 14:47:27 -07:00
Eric Laurent
2b381affda am 2c87e9c9: First submission of audio effect library from NXP software.
Merge commit '2c87e9c923b0362fabf8c97ff63997542394c428' into gingerbread-plus-aosp

* commit '2c87e9c923b0362fabf8c97ff63997542394c428':
  First submission of audio effect library from NXP software.
2010-07-17 06:46:03 -07:00
Eric Laurent
2c87e9c923 First submission of audio effect library from NXP software.
This CL contains the first open sourceable version of the audio effect library from NXP software.
The effects implemented are:
- Bass boost
- Virtualizer (stereo widening)
- Equalizer
- Spectrum analyzer

Source file for the effect engines are located under libeffects/lvm/lib
The wrapper implementing the interface with the audio effect framework in under libeffects/lvm/wrapper

The code of other effect libraries has also been reorganized fo clarity:
- the effect factory is now under libeffects/factory
- the test equalizer and reverb effects are under libeffect/testlibs
- the visualizer is under libeffects/virtualizer

Change-Id: I8d91e2181f81b89f8fc0c1e1e6bf552c5809b2eb
2010-07-17 06:33:00 -07:00
James Dong
10f8baa46c am 42ef0c71: Initial check-in for software m4v_h263 encoder
Merge commit '42ef0c715da879a9878b7bf4eb9c90b21e4ab8ae' into gingerbread-plus-aosp

* commit '42ef0c715da879a9878b7bf4eb9c90b21e4ab8ae':
  Initial check-in for software m4v_h263 encoder
2010-07-15 14:37:33 -07:00
James Dong
42ef0c715d Initial check-in for software m4v_h263 encoder
Change-Id: I4b49fa5c3a5e6e21cfd2419441d98dd784046367
2010-07-15 13:28:21 -07:00
James Dong
b068b47c6d am d6a85a21: Merge "Support user-supplied timescales for authoring" into gingerbread
Merge commit 'd6a85a21418338a7797bff731fa7a551f62a9e86' into gingerbread-plus-aosp

* commit 'd6a85a21418338a7797bff731fa7a551f62a9e86':
  Support user-supplied timescales for authoring
2010-07-15 11:18:53 -07:00
James Dong
d6a85a2141 Merge "Support user-supplied timescales for authoring" into gingerbread 2010-07-15 11:16:08 -07:00
Mathias Agopian
78983a9133 am 4055b780: Merge "move native services under services/" into gingerbread
Merge commit '4055b780bb7e85abcf4754b84e50bf407c45bec8' into gingerbread-plus-aosp

* commit '4055b780bb7e85abcf4754b84e50bf407c45bec8':
  move native services under services/
2010-07-14 18:45:56 -07:00
Mathias Agopian
08e83bb3b7 move native services under services/
moved surfaceflinger, audioflinger, cameraservice

all native services should now reside in this location.

Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
2010-07-14 17:59:35 -07:00
James Dong
52d13f01a6 Support user-supplied timescales for authoring
- also, change all the real time unit to microseconds in MPEG4Writer

Change-Id: I260f512f2eb670ade7b8858a56335a5d639de756
2010-07-14 17:29:17 -07:00
Jean-Michel Trivi
5473434f06 am 97eb728a: Use the OpenSL ES definition of SL_IID_EQUALIZER for the EQ effect UUID instead of defining it locally.
Merge commit '97eb728aef51646b86925557a36732598e3fbaa1' into gingerbread-plus-aosp

* commit '97eb728aef51646b86925557a36732598e3fbaa1':
  Use the OpenSL ES definition of SL_IID_EQUALIZER for the EQ
2010-07-14 11:12:14 -07:00
Jean-Michel Trivi
97eb728aef Use the OpenSL ES definition of SL_IID_EQUALIZER for the EQ
effect UUID instead of defining it locally.

Change-Id: Id6018fef20d286899cf7503fec3521dcd56db7e0
2010-07-14 10:09:31 -07:00
James Dong
7a72f84801 am 70c6c9a1: Fix simulator build - missing header file <string.h> - need to define -D__arm__
Merge commit '70c6c9a1e2240e82d8eb442b34efa9629ef2bba4' into gingerbread-plus-aosp

* commit '70c6c9a1e2240e82d8eb442b34efa9629ef2bba4':
  Fix simulator build
2010-07-13 13:43:39 -07:00
James Dong
70c6c9a1e2 Fix simulator build
- missing header file <string.h>
- need to define -D__arm__

Change-Id: I18d2f1908684150784cf728234b5aedbc02447d1
2010-07-13 13:29:33 -07:00
Eric Laurent
66fa2b44ca am 8e886be4: Merge "Modifications in audio effect engine state management." into gingerbread
Merge commit '8e886be413570fab6c623930a5775dd36a6d11e1' into gingerbread-plus-aosp

* commit '8e886be413570fab6c623930a5775dd36a6d11e1':
  Modifications in audio effect engine state management.
2010-07-13 12:31:35 -07:00
Eric Laurent
8e886be413 Merge "Modifications in audio effect engine state management." into gingerbread 2010-07-13 12:29:17 -07:00
Eric Laurent
7d850f23c8 Modifications in audio effect engine state management.
- Separate the updating of effect engine state from the process call in EffectModule so that the state
of all effects in the same effect chain is updated simultaneusly before all process functions are called.
- Added a mechanism for the effect engine to continue being called for processing after receiving the disable
commands untils it considers that the framework can stop calling the process function without causing
a glitch or loosing some effect tail.
- Updated test reverb and equalizer to support this new feature

Change-Id: Icb56ae2c84c076d4dbad6cf733b1a62f823febe7
2010-07-13 12:27:18 -07:00
James Dong
f6bdc764b7 am 9d8bea11: Merge "Initial checkin for software AVC encoder" into gingerbread
Merge commit '9d8bea11892a43eeab2a1119d68740845a8894e5' into gingerbread-plus-aosp

* commit '9d8bea11892a43eeab2a1119d68740845a8894e5':
  Initial checkin for software AVC encoder
2010-07-13 11:01:37 -07:00
James Dong
1cc31e629e Initial checkin for software AVC encoder
- Since the software encoder assumes the input is YUV420 planar,
  color conversion needs to be added when the input color format
  does not meet the requirement. With this patch, I only added
  a single color conversion from YUV420 semi planar to YUV420
  planar. We can add more as we go.

Change-Id: If8640c9e5a4f73d385ae9bb2022e57f7f62b91b9
2010-07-13 10:58:20 -07:00
Jean-Michel Trivi
bd3f8b7116 am e7b790f1: Merge "Fix swap of sessionId and output in audio effect API." into gingerbread
Merge commit 'e7b790f1f77a0950c163fc82d8833072ccf6f3c5' into gingerbread-plus-aosp

* commit 'e7b790f1f77a0950c163fc82d8833072ccf6f3c5':
  Fix swap of sessionId and output in audio effect API.
2010-07-09 12:32:21 -07:00
Jean-Michel Trivi
e7b790f1f7 Merge "Fix swap of sessionId and output in audio effect API." into gingerbread 2010-07-09 12:30:28 -07:00
Jean-Michel Trivi
4cb15cf15d Fix swap of sessionId and output in audio effect API.
Change-Id: Idc93415efef92087507401e50cfb235a6f1f7ed7
2010-07-09 12:11:49 -07:00
James Dong
a60337ce57 am 6bb14e08: Merge "Enable the support for decoding audio with AAC+ and eAAC+ features" into gingerbread
Merge commit '6bb14e08da82e72197f35548ff77a2f817c52a58' into gingerbread-plus-aosp

* commit '6bb14e08da82e72197f35548ff77a2f817c52a58':
  Enable the support for decoding audio with AAC+ and eAAC+ features
2010-07-09 11:41:08 -07:00
James Dong
a7c14078af Enable the support for decoding audio with AAC+ and eAAC+ features
bug - 282684

Change-Id: I73c8377af3cc4edd3ee7cea86dc3b1c369fbd78b
2010-07-08 21:37:46 -07:00
James Dong
4f4406322d am 929642ee: Add runtime dumpsys support for media recorder client
Merge commit '929642ee003895b6e4e85ad7e43c7c6f01b29020' into gingerbread-plus-aosp

* commit '929642ee003895b6e4e85ad7e43c7c6f01b29020':
  Add runtime dumpsys support for media recorder client
2010-07-08 21:37:43 -07:00
James Dong
929642ee00 Add runtime dumpsys support for media recorder client
Change-Id: I4c8a81720f3be2db54678a7e84fe12849255046b
2010-07-08 21:25:55 -07:00
Eric Laurent
b4b0f67a47 am fd84f97a: Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.
Merge commit 'fd84f97af4b44d54bba53bb85b31a6dbce07f6e2' into gingerbread-plus-aosp

* commit 'fd84f97af4b44d54bba53bb85b31a6dbce07f6e2':
  Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.
2010-07-08 16:14:31 -07:00
Eric Laurent
fd84f97af4 Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.
Defined the following JAVA classes on top of AudioEffect class to facilitate control
off built-in audio effects with APIs aligned with interfaces defined in OpenSL ES
specification:
- BastBoot.java
- Equalizer.java
- PresetReverb.java
- EnvironmentalReverb.java
- Virtualizer.java

Split reverb API header file in two, one for preset reverb and one for environmental reverb.
Some changes in test reverb to support preset reverb.

Change-Id: Ie0a5ba06002e63dfd6da22cace5568c1e0b76ea1
2010-07-08 15:32:51 -07:00
Eric Laurent
b91881fdd1 am dacabf97: Merge "Added Visualizer effect." into gingerbread
Merge commit 'dacabf97c609a040ada857a7da6c560097448ae3' into gingerbread-plus-aosp

* commit 'dacabf97c609a040ada857a7da6c560097448ae3':
  Added Visualizer effect.
2010-07-07 16:34:57 -07:00
Eric Laurent
dacabf97c6 Merge "Added Visualizer effect." into gingerbread 2010-07-07 16:23:30 -07:00
James Dong
b35988329a am c4243342: Merge "Allow application to set two more encoding paramters: video profile and level" into gingerbread
Merge commit 'c42433427a7ed51b5577b2587bf6cb0af903ebf8' into gingerbread-plus-aosp

* commit 'c42433427a7ed51b5577b2587bf6cb0af903ebf8':
  Allow application to set two more encoding paramters: video profile and level
2010-07-07 14:58:30 -07:00
James Dong
7b3f304872 am 58c35573: Merge "Fix some bugs in the MediaProfileReader Because the video and audio encoders were stored in the same map, when we retrieve the name from the map, we can get a incorrect name." into gingerbread
Merge commit '58c35573cc677b736efefa267eba8727d4411999' into gingerbread-plus-aosp

* commit '58c35573cc677b736efefa267eba8727d4411999':
  Fix some bugs in the MediaProfileReader
2010-07-07 14:58:26 -07:00
James Dong
c42433427a Merge "Allow application to set two more encoding paramters: video profile and level" into gingerbread 2010-07-07 14:56:33 -07:00
James Dong
58c35573cc Merge "Fix some bugs in the MediaProfileReader Because the video and audio encoders were stored in the same map, when we retrieve the name from the map, we can get a incorrect name." into gingerbread 2010-07-07 14:56:20 -07:00
James Dong
620a424036 Fix some bugs in the MediaProfileReader
Because the video and audio encoders were stored in the same map, when we retrieve the name from the map, we can get a incorrect name.

Change-Id: I3857422bfe9173baae53e4f3d258b055f51ad9f2
2010-07-07 14:37:48 -07:00
Andreas Huber
dcf872dcfa am c34c8c3f: Merge "Only send the playback complete notification if a) an error occurred on any track or b) all tracks have finished playing. The previous behaviour was to send the notification as soon as the first track finished playing." into gingerbread
Merge commit 'c34c8c3fe7fef15b410b0544d5436fcbefccd610' into gingerbread-plus-aosp

* commit 'c34c8c3fe7fef15b410b0544d5436fcbefccd610':
  Only send the playback complete notification if a) an error occurred on any track or b) all tracks have finished playing. The previous behaviour was to send the notification as soon as the first track finished playing.
2010-07-07 14:22:39 -07:00
Andreas Huber
971305d4af Only send the playback complete notification if a) an error occurred on any track or b) all tracks have finished playing. The previous behaviour was to send the notification as soon as the first track finished playing.
Change-Id: Icac8104d14f18b719aa0b8f1ab3215f24003b152
2010-07-07 13:36:29 -07:00
James Dong
81c929a684 Allow application to set two more encoding paramters: video profile and level
Change-Id: I673e681cefe184d5c556c612c54600a24a2143e5
2010-07-07 12:11:53 -07:00
Eric Laurent
df9b81ced4 Added Visualizer effect.
The visualizer enables application to retrieve part of the currently playing audio for visualization purpose.
It is not an audio recording interface and only returns partial and low quality audio content as a waveform or
a frequency representation (FFT).

Removed temporary hack made in MediaPlayer for animated wall papers based on audio visualization (snoop() method.

This commit also includes a change in AudioEffect class:
 - the enable()/disable() methods have been replaced bya more standard setEnabled() method.
 - some fixes in javadoc

Change-Id: Id092a1340e9e38dae68646ade7be054e3a36980e
2010-07-07 11:00:28 -07:00