summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Audio Effects: added methods to effects java classes to store and load ↵Eric Laurent2010-07-276-14/+26
| | | | | | | | | | | | | | 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
* Allows the authoring engine to skip frame.James Dong2010-07-222-0/+14
| | | | | | | | | | | 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
* Various changes to improve rtsp networking, reduce packet loss and adapt to ↵Andreas Huber2010-07-221-1/+3
| | | | | | ALooper API changes. Change-Id: I110e19d5ce33e597add3ffbd3e3ff3815862396d
* Merge "Support finer seek control on MediaSources." into gingerbreadAndreas Huber2010-07-213-2/+13
|\
| * Support finer seek control on MediaSources.Andreas Huber2010-07-213-2/+13
| | | | | | | | | | | | related-to-bug: 2858448 Change-Id: Ifb4b13b990fd5889113e47e2c62249ac43391fa1
* | Added support for auxiliary audio effects to AudioTrack and MediaPlayer.Eric Laurent2010-07-213-2/+8
|/ | | | | | | | 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
* Merge "Progress status notification" into gingerbreadJames Dong2010-07-201-0/+1
|\
| * Progress status notificationJames Dong2010-07-201-0/+1
| | | | | | | | | | | | - Keep track of per-track progress Change-Id: Ibd36f0e8c78581928c8aa2f5e23c5e7e0615c2cc
* | Merge "Audio policy manager changes for audio effects" into gingerbreadEric Laurent2010-07-203-4/+41
|\ \
| * | Audio policy manager changes for audio effectsEric Laurent2010-07-203-4/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Support a single format change at the beginning of audio playback. This way ↵Andreas Huber2010-07-201-0/+4
|/ / | | | | | | | | | | | | 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
* | Merge "Several improvements in audio effects volume control." into gingerbreadEric Laurent2010-07-161-1/+1
|\ \ | |/ |/|
| * Several improvements in audio effects volume control.Eric Laurent2010-07-151-1/+1
| | | | | | | | | | | | | | | | | | | | - 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
* | Support user-supplied timescales for authoringJames Dong2010-07-142-0/+3
|/ | | | | | - also, change all the real time unit to microseconds in MPEG4Writer Change-Id: I260f512f2eb670ade7b8858a56335a5d639de756
* Use the OpenSL ES definition of SL_IID_EQUALIZER for the EQJean-Michel Trivi2010-07-141-4/+3
| | | | | | effect UUID instead of defining it locally. Change-Id: Id6018fef20d286899cf7503fec3521dcd56db7e0
* Modifications in audio effect engine state management.Eric Laurent2010-07-131-0/+7
| | | | | | | | | | | - 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
* Add runtime dumpsys support for media recorder clientJames Dong2010-07-082-0/+2
| | | | Change-Id: I4c8a81720f3be2db54678a7e84fe12849255046b
* Added JAVA classes to control bass boost, equalizer, reverberation and ↵Eric Laurent2010-07-084-20/+145
| | | | | | | | | | | | | | | | | | 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
* Merge "Added Visualizer effect." into gingerbreadEric Laurent2010-07-075-38/+252
|\
| * Added Visualizer effect.Eric Laurent2010-07-075-38/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Allow application to set two more encoding paramters: video profile and levelJames Dong2010-07-072-0/+11
| | | | | | | | Change-Id: I673e681cefe184d5c556c612c54600a24a2143e5
* | ALooperRoster no longer holds strong references to handlers and loopers.Andreas Huber2010-07-071-2/+2
| | | | | | | | Change-Id: I038d69b0a34eda1bfc5216d92c837a5ddf4fb802
* | Merge "An AHandler can now find its associated ALooper." into gingerbreadAndreas Huber2010-07-072-0/+4
|\ \
| * | An AHandler can now find its associated ALooper.Andreas Huber2010-07-022-0/+4
| | | | | | | | | | | | Change-Id: Ic7087b8dcbc0d9abda272df0cb01b04b006f82ad
* | | Merge "Add an option to ALooper::start that allows it to call back into java ↵Andreas Huber2010-07-021-1/+4
|\ \ \ | |/ / |/| | | | | or not." into gingerbread
| * | Add an option to ALooper::start that allows it to call back into java or not.Andreas Huber2010-07-021-1/+4
| | | | | | | | | | | | Change-Id: Iec172901a04a575d8d350bd162565f04677c3f26
* | | Merge "Added AMessage::debugString() for debugging purposes." into gingerbreadAndreas Huber2010-07-021-0/+2
|\ \ \
| * | | Added AMessage::debugString() for debugging purposes.Andreas Huber2010-07-011-0/+2
| |/ / | | | | | | | | | Change-Id: Id43ffd2c56d659dc29f37e277f8c7b38f11c1591
* | | Support for writing the extracted data to an .mp4 file in the stagefright ↵Andreas Huber2010-07-011-1/+4
|/ / | | | | | | | | | | commandline tool. Change-Id: I972324a8fc9757e6e8116b0270ec0882106f8733
* | Add multiple camera support for in MediaProfiles.Chih-Chung Chang2010-07-011-15/+20
| | | | | | | | Change-Id: Ie89568a0f5f5fd08ede77e33f9a559215d6bed9a
* | Support for vanilla YUV420sp => RGB565 color conversion.Andreas Huber2010-06-301-0/+5
| | | | | | | | Change-Id: I22e5b554909e169eaf153d1f25b636f6f04a1871
* | Added encoding parameters set up for H263 video encoderJames Dong2010-06-291-0/+3
|/ | | | | | | | Also: - Allowed start() call when encoder already starts and stop() call when encoder has not started yet - Handled default value for audio/video sources/encoders and file output format Change-Id: I03b2f7d3cf570baa0fd011a8c0ad200f2f2a5da1
* Separate MediaRecorderClient with MediaPlayerClientJames Dong2010-06-286-10/+58
| | | | | | | | | | - An alternative would be to define a common base class that both MediaRecorderClient and MediaPlayerClient can derive. But since the common code, onTransact() and notify() uses some Binder code, having a common base class may not gain us too much in terms of code reuse. Change-Id: Ibc06720278ad173fceacff3d267b7060856c6316
* Provide progress status report during authoringJames Dong2010-06-253-3/+19
| | | | | | | | | - Track either the number of A/V frames authored, or the time elapsed - Track the completion of the authoring - Add multiple camera support for authoring by accepting a camera id parameter - Set file type based on the OUTPUT_FORMAT requested Change-Id: I0f9d31b3b7a8fa43eb53f572410fb0ebd4fa0bb7
* Merge "Various fixes and improvements in audio effects implementation" into ↵Eric Laurent2010-06-256-250/+411
|\ | | | | | | gingerbread
| * Various fixes and improvements in audio effects implementationEric Laurent2010-06-256-250/+411
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Effect API: - Use different definitions for audio device, channels, formats... in AudioSystem and EffectApi: Removed media/AudioCommon.h file created for initial version of EffectApi - Indicate audio session and output ID to effect library when calling EffectCreate(). Session ID can be useful to optimize the implementation of effect chains in the same audio session. Output ID can be used for effects implemented in audio hardware. - Renamed EffectQueryNext() function to EffectQueryEffect() and changed operating mode: now an index is passed for the queried effect instead of implicitly querying the next one. - Added CPU load and memory usage indication in effects descriptor - Added flags and commands to indicate changes in audio mode (ring tone, in call...) to effect engine - Added flag to indicate hardware accelerated effect implementation. - Renamed EffectFactoryApi.h to EffectsFactoryApi.h for consistency with EffectsFactory.c/h Effect libraries: - Reflected changes in Effect API - Several fixes in reverb implementation - Added build option TEST_EFFECT_LIBRARIES in makefile to prepare integration of actual effect library. - Replaced pointer by integer identifier for library handle returned by effects factory Audio effect framework: - Added support for audio session -1 in preparation of output stage effects configuration. - Reflected changes in Effect API - Removed volume ramp up/down when effect is inserted/removed: this has to be taken care of by effect engines. - Added some overflow verification on indexes used for deferred parameter updates via shared memory - Added hardcoded CPU and memory limit check when creating a new effect instance Change-Id: I43fee5182ee201384ea3479af6d0acb95092901d
* | Enable passing parameters to the MediaWriter at runtime (at start() call).James Dong2010-06-254-4/+8
| | | | | | | | | | | | | | | | | | | | - estimate the moov box size for mp4 file writer based on the file size/duration limit and target bit rate. - can switch to use 64 bit file offset at runtime rebased Change-Id: Ibbe1f57e91ab2605820d5d96e8048d11e5559c53
* | Track maximum amplitude and fix getMaxAmplitude()James Dong2010-06-241-0/+7
| | | | | | | | | | | | - only start to track the max amplitude after the first call to getMaxAmplitude() Change-Id: I64d3d9ca0542202a8535a211425e8bccceca50fc
* | Merge "Remove most stagefright property overrides, remove VorbisPlayer and ↵Andreas Huber2010-06-241-1/+0
|\ \ | |/ |/| | | VorbisMetadataRetriever as this functionality is now provided by stagefright." into gingerbread
| * Remove most stagefright property overrides, remove VorbisPlayer and ↵Andreas Huber2010-06-231-1/+0
| | | | | | | | | | | | | | VorbisMetadataRetriever as this functionality is now provided by stagefright. Change-Id: Ieafe75a4550c273ad59b4518d7cd4c0fce0f7cce related-to-bug: 2370115
* | Fixed some meta data issues in the recorded mp4 fileJames Dong2010-06-231-0/+1
|/ | | | | | | | | | | | | | - Mainly correcting the location of stbl box which should be a child of minf box. This resolved the issue where the mis-muxed encoded file could not be played by QT/VLC. - Enabled the the recorded tracks by setting the flags to 0x07 by default - Allows for encoding either 32-bit or 64-bit offsets. By default encoding 32-bit offsets to reduce the metadata overhead - Fixed a edts box issue where an empty elst box was used at the end Change-Id: I570621a26714a81dc9400271aa5d3a07b483172f
* Merge "Added support for audio sessions in MediaPlayer and AudioTrack." into ↵Eric Laurent2010-06-222-2/+8
|\ | | | | | | gingerbread
| * Added support for audio sessions in MediaPlayer and AudioTrack.Eric Laurent2010-06-222-2/+8
| | | | | | | | | | | | Audio sessions are used to associate audio effects to particular instances (or groups) of MediaPlayers or AudioTracks. Change-Id: Ib94eec43241cfcb416590f435ddce7ab39a07640
* | Merge "media: add AudioRecord::getMinFrameCount()." into gingerbreadChia-chi Yeh2010-06-221-0/+13
|\ \ | |/ |/|
| * media: add AudioRecord::getMinFrameCount().Chia-chi Yeh2010-06-231-0/+13
| | | | | | | | Change-Id: I952071ab10aa49aa96b727d157b68470d69fff3d
* | Single track optimizationJames Dong2010-06-221-0/+1
| | | | | | | | | | | | | | | | We don't need to do interleave when the total number of tracks to be recorded is one. Metadata-wise, we only need to have one chunk in chunk offset table, and a single entry in the stsc table. Change-Id: I46f0e4b3860620311e7a91b68a9067acaa137bb2
* | Merge "Audio/video sync during recording (second part)" into gingerbreadJames Dong2010-06-223-2/+7
|\ \ | |/ |/|
| * Audio/video sync during recording (second part)James Dong2010-06-213-2/+7
| | | | | | | | Change-Id: Iba0b35f57fdeac7ee1da16899406bf4b957a2c8c
* | media: add AudioTrack::getMinFrameCount().Chia-chi Yeh2010-06-211-0/+11
|/ | | | Change-Id: If15162583d1d16d89f59be0793106afe77417f35
* Merge "Issue 2667802: [Audio Effect Framework] AudioEffect base class and ↵Eric Laurent2010-06-141-0/+462
|\ | | | | | | JNI." into kraken