380 Commits

Author SHA1 Message Date
Eric Laurent
ba2709583d am 6fa88882: am 62d83a0c: Merge "Audio effects: modified command() parameter types." into gingerbread
Merge commit '6fa8888254deb4961dc64c6ac03dc103c9cd8bcf'

* commit '6fa8888254deb4961dc64c6ac03dc103c9cd8bcf':
  Audio effects: modified command() parameter types.
2010-07-28 07:53:24 -07:00
Eric Laurent
a4c72acfbc Audio effects: modified command() parameter types.
The type of the cmd, cmdSize and *pReplySize parameters of the effect control interface command()
function have been modified from int to uint32_t. This is more consistent with their role.

Change-Id: I84d289fc262d6753747910f06f485597dfee6591
2010-07-28 05:49:21 -07:00
Eric Laurent
b008e9b128 resolved conflicts for merge of d306cc81 to master
Change-Id: Ib593b7719a837de12605e8c75904634843298ba1
2010-07-27 02:41:41 -07:00
Eric Laurent
ca57d1cc89 Audio Effects: added methods to effects java classes to store and load current effect settings in
a single call.

Addional changes:
- Fixed simulator build
- Use effect interface UUIDs from OpenSL ES includes when available
- Added cleanspec rules to remove now obsolete test effect libraries
- Fixed bug in AudioEffect JNI setParameter function.

Change-Id: Ic25ddb135e2cec5a68c181d727321f5ac7a1ab6b
2010-07-27 00:41:31 -07:00
Nipun Kwatra
d01371bf69 Allowing setting of time lapse parameters through MediaRecorder.java
added setTimeLapseParameters() to MediaRecorder.java and SetParameter support
in StagefrightRecorder to allow enabling time lapse and setting the corresponding
parameters.

Change-Id: I509040aa71f8d3fc37337b0894a81d9c0fd7a40a
2010-07-22 17:02:12 -07:00
James Dong
9c9d0684a0 am 9bc4dc11: am 53d4e0d5: Allows the authoring engine to skip frame.
Merge commit '9bc4dc114fce58606a81d65d4cb31348cc7c1bae'

* commit '9bc4dc114fce58606a81d65d4cb31348cc7c1bae':
  Allows the authoring engine to skip frame.
2010-07-22 16:28:26 -07:00
James Dong
53d4e0d58e Allows the authoring engine to skip frame.
This is 1st part of the work to allow audio and video resync if
we found out that audio and video are out of sync during authoring

- also fixed a problem in AACEncoder::read() where the buffer acquired
  from the buffer group does not release when error out at
  reading from source.

Change-Id: I8a2740097fcfdf85e6178869afeb9f3687a99118
2010-07-22 14:51:53 -07:00
Andreas Huber
8dac3bf922 am b72d3180: am 81046c8c: Merge "Various changes to improve rtsp networking, reduce packet loss and adapt to ALooper API changes." into gingerbread
Merge commit 'b72d3180dc8d41d6269664bea808b04410bbe40f'

* commit 'b72d3180dc8d41d6269664bea808b04410bbe40f':
  Various changes to improve rtsp networking, reduce packet loss and adapt to ALooper API changes.
2010-07-22 13:57:39 -07:00
Andreas Huber
4e4173b0af Various changes to improve rtsp networking, reduce packet loss and adapt to ALooper API changes.
Change-Id: I110e19d5ce33e597add3ffbd3e3ff3815862396d
2010-07-22 09:21:05 -07:00
Andreas Huber
9511ab83d6 am 8a9a931f: am 8138e841: Merge "Support finer seek control on MediaSources." into gingerbread
Merge commit '8a9a931fff2d184f7cf77fdd8a425f682f006cfd'

* commit '8a9a931fff2d184f7cf77fdd8a425f682f006cfd':
  Support finer seek control on MediaSources.
2010-07-21 10:41:45 -07:00
Andreas Huber
8138e841a5 Merge "Support finer seek control on MediaSources." into gingerbread 2010-07-21 10:36:08 -07:00
Eric Laurent
0119ba5bd3 am 34161132: am 7070b365: Added support for auxiliary audio effects to AudioTrack and MediaPlayer.
Merge commit '34161132030254bac7dd64c9713832e2f961a061'

* commit '34161132030254bac7dd64c9713832e2f961a061':
  Added support for auxiliary audio effects to AudioTrack and MediaPlayer.
2010-07-21 09:52:17 -07:00
Andreas Huber
6624c9fd0b Support finer seek control on MediaSources.
related-to-bug: 2858448

Change-Id: Ifb4b13b990fd5889113e47e2c62249ac43391fa1
2010-07-21 08:51:29 -07:00
Eric Laurent
7070b36549 Added support for auxiliary audio effects to AudioTrack and MediaPlayer.
Added methods to AudioTrack and MediaPlayer java classes to enable use of
auxiliary audio effects. The effect can be attached and detached by specifying its
ID and the send level controlled.

Change-Id: Ie74ff54a453096a742688476f612ce355543b6f3
2010-07-21 06:28:01 -07:00
James Dong
c5eeedc93d am 9049fe60: am d7514ec6: Merge "Progress status notification" into gingerbread
Merge commit '9049fe60c20640bd606741c8f45f3f781a1684f5'

* commit '9049fe60c20640bd606741c8f45f3f781a1684f5':
  Progress status notification
2010-07-20 16:55:12 -07:00
James Dong
d7514ec6eb Merge "Progress status notification" into gingerbread 2010-07-20 14:29:39 -07:00
Nipun Kwatra
87419a2b3d Merge "Restart preview after each takePicture is done." 2010-07-20 14:15:59 -07:00
Eric Laurent
240677ec68 resolved conflicts for merge of dd206093 to master
Change-Id: I21dd2321a4839d034d49092baccbf40986f17dae
2010-07-20 13:37:19 -07:00
Nipun Kwatra
4cd8672662 Restart preview after each takePicture is done.
Preview is called when CAMERA_MSG_COMPRESSED_IMAGE is recieved by
dataCallback(). It needs to be started as a new thread so that the
callback can return, and the camera can know that takePicture() is
done.

Change-Id: I4d0febbc993aac43b37f9f4a824e9c7b8785f19e
2010-07-20 12:42:29 -07:00
Eric Laurent
22a2d7186d Merge "Audio policy manager changes for audio effects" into gingerbread 2010-07-20 11:25:35 -07:00
Nipun Kwatra
f91f2971a8 Merge "Adding support for timelapse capture using still camera's takepicture. Also moving entire implementation into a new class CameraSourceTimeLapse which inherits from CameraSource." 2010-07-20 11:04:49 -07:00
Andreas Huber
0ef7da159d am ff45709f: 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 'ff45709fbd1f24de1cf75ce9ce9ac8694ff1abbe'

* commit 'ff45709fbd1f24de1cf75ce9ce9ac8694ff1abbe':
  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:46:12 -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
James Dong
85edea7958 Progress status notification
- Keep track of per-track progress

Change-Id: Ibd36f0e8c78581928c8aa2f5e23c5e7e0615c2cc
2010-07-20 08:39:57 -07:00
Nipun Kwatra
f9b80182bc Adding support for timelapse capture using still camera's takepicture.
Also moving entire implementation into a new class CameraSourceTimeLapse
which inherits from CameraSource.

For timelapse capture using still camera, we start a thread which runs a
loop in which it calls Camera::takePicture() and then sleeps until the next
frame should be captured.
The function dataCallback() handles the callback from the camera with the
raw image data. This function copies the data and creates an artificial
timestamp corresponding to one frame time ahead of the last encoded frame's
time stamp. It then calls dataCallbackTimestamp() of the base class which
will think that it recieved the frame from a video camera and proceed as usual.

For moving the implementation to the subclass CameraSourceTimeLapse, added a
few virtual functions to CameraSource, which do the current thing for the base
class, but specialized things for CameraSourceTimeLapse.
E.g. startCameraRecording() in the base class just calls mCamera->startRecording(),
while in CameraSourceTimeLapse it may start a thread for the still camera case.

Change-Id: Ib787f24bd2e1f41681513f0257e1c4ca10a2b4de
2010-07-19 18:22:56 -07:00
Eric Laurent
2469e40924 am f16b3f10: am b0374a0e: Merge "Several improvements in audio effects volume control." into gingerbread
Merge commit 'f16b3f104f60738447db60bcf2c44c7610e17199'

* commit 'f16b3f104f60738447db60bcf2c44c7610e17199':
  Several improvements in audio effects volume control.
2010-07-16 09:12:40 -07:00
Eric Laurent
b0374a0e22 Merge "Several improvements in audio effects volume control." into gingerbread 2010-07-16 00:08:50 -07:00
Eric Laurent
76c40f74ce Several improvements in audio effects volume control.
- Fixed crash when deleting an effect chained before an effect having volume control
- Changed EFFECT_FLAG_VOLUME_CTRL to implicitely include EFFECT_FLAG_VOLUME_IND
(not need to set both in effect descriptor).
- Volume control changes from one effect to another if needed according to effect enable state
- EFFECT_CMD_SET_VOLUME is only sent when their is an actual change in volume

Change-Id: Ieebaf09157e2627366023569d95516646e03e26c
2010-07-15 12:50:15 -07:00
James Dong
892681e56e am b068b47c: am d6a85a21: Merge "Support user-supplied timescales for authoring" into gingerbread
Merge commit 'b068b47c6d0214256116a0c661740bddf7acc18c'

* commit 'b068b47c6d0214256116a0c661740bddf7acc18c':
  Support user-supplied timescales for authoring
2010-07-15 11:54:10 -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
0224a00421 am 5473434f: am 97eb728a: Use the OpenSL ES definition of SL_IID_EQUALIZER for the EQ effect UUID instead of defining it locally.
Merge commit '5473434f060d8c036a30a1992b036a2f70da265d'

* commit '5473434f060d8c036a30a1992b036a2f70da265d':
  Use the OpenSL ES definition of SL_IID_EQUALIZER for the EQ
2010-07-14 11:15:31 -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
Eric Laurent
405278954f am 66fa2b44: am 8e886be4: Merge "Modifications in audio effect engine state management." into gingerbread
Merge commit '66fa2b44cadf8694cc1b7e2aae1f8abaff4fc547'

* commit '66fa2b44cadf8694cc1b7e2aae1f8abaff4fc547':
  Modifications in audio effect engine state management.
2010-07-13 12:33:47 -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
5fe0ae8c20 am 4f440632: am 929642ee: Add runtime dumpsys support for media recorder client
Merge commit '4f4406322dafd6e128b437edbc541327f0b38d04'

* commit '4f4406322dafd6e128b437edbc541327f0b38d04':
  Add runtime dumpsys support for media recorder client
2010-07-09 09:20:03 -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
0f399ec640 am b4b0f67a: am fd84f97a: Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.
Merge commit 'b4b0f67a4743503a024b1dce758acf53d9fb86f7'

* commit 'b4b0f67a4743503a024b1dce758acf53d9fb86f7':
  Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.
2010-07-08 19:10:46 -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
98449546fa am b91881fd: am dacabf97: Merge "Added Visualizer effect." into gingerbread
Merge commit 'b91881fdd1608cc922f105ec552b5505da1fecb9'

* commit 'b91881fdd1608cc922f105ec552b5505da1fecb9':
  Added Visualizer effect.
2010-07-07 20:55:40 -07:00
Eric Laurent
dacabf97c6 Merge "Added Visualizer effect." into gingerbread 2010-07-07 16:23:30 -07:00
James Dong
0920b1cd7d am b3598832: am c4243342: Merge "Allow application to set two more encoding paramters: video profile and level" into gingerbread
Merge commit 'b35988329ac1a574898db9226039e37e352c57a8'

* commit 'b35988329ac1a574898db9226039e37e352c57a8':
  Allow application to set two more encoding paramters: video profile and level
2010-07-07 15:00:28 -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
Andreas Huber
c832baa107 am f5b4e342: am 2e6aff8e: Merge "ALooperRoster no longer holds strong references to handlers and loopers." into gingerbread
Merge commit 'f5b4e342b581a6e219b49141861b353fb139d00b'

* commit 'f5b4e342b581a6e219b49141861b353fb139d00b':
  ALooperRoster no longer holds strong references to handlers and loopers.
2010-07-07 09:45:38 -07:00
Andreas Huber
57576c1cae ALooperRoster no longer holds strong references to handlers and loopers.
Change-Id: I038d69b0a34eda1bfc5216d92c837a5ddf4fb802
2010-07-07 09:27:31 -07:00
Andreas Huber
bce1f2ae9f am 877045aa: am 9406f626: Merge "An AHandler can now find its associated ALooper." into gingerbread
Merge commit '877045aa853aaf6e58ca3ac7bfa2bde9165b55ae'

* commit '877045aa853aaf6e58ca3ac7bfa2bde9165b55ae':
  An AHandler can now find its associated ALooper.
2010-07-07 09:15:08 -07:00
Andreas Huber
9406f626b2 Merge "An AHandler can now find its associated ALooper." into gingerbread 2010-07-07 06:57:27 -07:00
Andreas Huber
058319eb73 An AHandler can now find its associated ALooper.
Change-Id: Ic7087b8dcbc0d9abda272df0cb01b04b006f82ad
2010-07-02 15:16:13 -07:00
Andreas Huber
5d17247673 am c4be155a: am 2cfd8198: Merge "Add an option to ALooper::start that allows it to call back into java or not." into gingerbread
Merge commit 'c4be155a540695c42bcd6589604f86d300f4548f'

* commit 'c4be155a540695c42bcd6589604f86d300f4548f':
  Add an option to ALooper::start that allows it to call back into java or not.
2010-07-02 10:06:12 -07:00