summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* Various fixes and improvements in audio effects implementationEric Laurent2010-06-2513-84/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Merge "Fixed some meta data issues in the recorded mp4 file" into gingerbreadJames Dong2010-06-231-31/+68
|\
| * Fixed some meta data issues in the recorded mp4 fileJames Dong2010-06-231-31/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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 "Properly assign LOG_TAGs in OMXMaster.cpp and MediaScanner.cpp" into ↵Andreas Huber2010-06-232-0/+8
|\ \ | | | | | | | | | gingerbread
| * | Properly assign LOG_TAGs in OMXMaster.cpp and MediaScanner.cppAndreas Huber2010-06-232-0/+8
| |/ | | | | | | | | Change-Id: I863651619f84b2b66e9a926ce1fef8ce6a53a42d related-to-bug: 2639116
* | Fix a number of timestamp mismatches in the mp3 extractor and decoder that ↵Andreas Huber2010-06-233-30/+39
|/ | | | | | | would lead to invalid reporting of the current playback time for mono and/or non-44100 kHz mp3s. Change-Id: I11abc05b62a958ffbc99ca997cd184a2f2199352 related-to-bug: 2667479
* Merge "Added support for audio sessions in MediaPlayer and AudioTrack." into ↵Eric Laurent2010-06-228-32/+215
|\ | | | | | | gingerbread
| * Added support for audio sessions in MediaPlayer and AudioTrack.Eric Laurent2010-06-228-32/+215
| | | | | | | | | | | | 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-25/+38
|\ \ | |/ |/|
| * media: add AudioRecord::getMinFrameCount().Chia-chi Yeh2010-06-231-25/+38
| | | | | | | | Change-Id: I952071ab10aa49aa96b727d157b68470d69fff3d
* | Merge "Fix issue 2301630: Mismatch of state occurs when media server is ↵Eric Laurent2010-06-221-0/+9
|\ \ | | | | | | | | | killed while in-call." into gingerbread
| * | Fix issue 2301630: Mismatch of state occurs when media server is killed ↵Eric Laurent2010-06-221-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | while in-call. Use setParameters() API to indicate to audio HAL that we are restarting the media server after a crash. The use made by audio HAL implementation of this indication is platform specific. Change-Id: I085b174fa1474575da0e4d295921079b6b68efb8
* | | Single track optimizationJames Dong2010-06-221-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | 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 "Make the prefetcher read packets from the network after a keep-alive ↵Andreas Huber2010-06-222-6/+23
|\ \ \ | | | | | | | | | | | | timeout expires regardless of whether its currently actively fetching data or not." into gingerbread
| * | | Make the prefetcher read packets from the network after a keep-alive timeout ↵Andreas Huber2010-06-222-6/+23
| |/ / | | | | | | | | | | | | | | | expires regardless of whether its currently actively fetching data or not. Change-Id: I7d022ac494e1cecdd7f656806b7ed45979c02840
* | | Merge "Audio/video sync during recording (second part)" into gingerbreadJames Dong2010-06-227-40/+105
|\ \ \ | |/ / |/| |
| * | Audio/video sync during recording (second part)James Dong2010-06-217-40/+105
| | | | | | | | | | | | Change-Id: Iba0b35f57fdeac7ee1da16899406bf4b957a2c8c
* | | Merge "AmrInputStream refresh: eliminate the dependency upon OpenCore's ↵James Dong2010-06-212-76/+51
|\ \ \ | |_|/ |/| | | | | code" into gingerbread
| * | AmrInputStream refresh: eliminate the dependency upon OpenCore's codeJames Dong2010-06-182-76/+51
| |/ | | | | | | Change-Id: I0e66bc0a16fcdcf70136012ae1cd4138506cc94b
* | am bd240c27: media: add AudioTrack::getMinFrameCount().Chia-chi Yeh2010-06-211-0/+29
|\ \ | |/ |/| | | | | | | | | Merge commit 'bd240c2737913d6ed1982788699f93bbc52330c0' into gingerbread * commit 'bd240c2737913d6ed1982788699f93bbc52330c0': media: add AudioTrack::getMinFrameCount().
| * media: add AudioTrack::getMinFrameCount().Chia-chi Yeh2010-06-211-0/+29
| | | | | | | | Change-Id: If15162583d1d16d89f59be0793106afe77417f35
* | am 3242cc27: Merge "TimedEventQueue is apparently important for glitch-free ↵Dave Sparks2010-06-171-0/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | media playback, and so having it inherit its priority from the thread that created it is a bad idea. Instead, set the priority explicitly, and bump it to slightly higher than normal." into fro Merge commit '3242cc2719a4aeb64ac5ed273cf222d8d326d44b' into gingerbread * commit '3242cc2719a4aeb64ac5ed273cf222d8d326d44b': TimedEventQueue is apparently important for glitch-free media playback, and so
| * | TimedEventQueue is apparently important for glitch-free media playback, and soMarco Nelissen2010-06-161-0/+3
| | | | | | | | | | | | | | | | | | | | | having it inherit its priority from the thread that created it is a bad idea. Instead, set the priority explicitly, and bump it to slightly higher than normal. Change-Id: I01843f24905790ce2e2cde5d11a99346cfbf968d
* | | Check and clip some video encoding parameters against media profiles before ↵James Dong2010-06-172-0/+82
| | | | | | | | | | | | | | | | | | passing them to video encoder Change-Id: I69e0e7411806a4ece6c0bf0e02c74eaaf48a17ac
* | | Merge "Remove hard-coded number of audio channels in AudioSource" into ↵James Dong2010-06-172-5/+15
|\ \ \ | | | | | | | | | | | | gingerbread
| * | | Remove hard-coded number of audio channels in AudioSourceJames Dong2010-06-142-5/+15
| | | | | | | | | | | | | | | | Change-Id: I5f362252c25e2251bbfa9818b711ee23b4975248
* | | | This patch enables each omx instance to have a separate message dispatcher, andJames Dong2010-06-142-16/+22
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | thus eliminates the sharing of the message dispatches between omx instances. If the omx audio and video encoders share the same dispatcher, when the audio read blocks in the AudioSource, the message dispatcher thread gets blocked. As a result, the message for the omx video encoder can not be dispatched, hence gets blocked too. If the blocking time is long enough, the video frame rate decreases significantly. This is the case when we read 2048 bytes by default each time. Reading smaller blocks of audio data helps mitigate the above-mentioned problem, but it is not an ideal solution for two reasons: a) it is not efficient, and thus can cause a lot of overhead passing buffers between the frame work and the omx encoders; b) also, the audio record thread can overflow as a result, which lead to the loss of recorded audio frames. This patch affects both authoring engine and the playback engine. Change-Id: I26dfde7ac46c8752cf1793ce1bfcc7be7724580e
* | | Fixed a typo - maybe we should do comparison ignoring the case?James Dong2010-06-141-1/+1
| | | | | | | | | | | | Change-Id: I498f8242e6ba3e3e8b8c7b714ed49bff51a3010b
* | | am 01f7ac64: Merge "Issue 2667802: [Audio Effect Framework] AudioEffect base ↵Eric Laurent2010-06-146-2/+2297
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | class and JNI." into kraken Merge commit '01f7ac64488027492b2909b99d70491e7a391015' into gingerbread * commit '01f7ac64488027492b2909b99d70491e7a391015': Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI.
| * | Merge "Issue 2667802: [Audio Effect Framework] AudioEffect base class and ↵Eric Laurent2010-06-146-2/+2297
| |\ \ | | | | | | | | | | | | JNI." into kraken
| | * | Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI.Eric Laurent2010-06-116-2/+2297
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added AudioEffect C++ class. AudioEffect is the base class for effect specific implementations, OpenSL ES effect interfaces and audio effect JNI. Added the AudioEffect JNI and AudioEffect JAVA class. AudioEffect is the base class to implement more specific JAVA classes to control audio effects from JAVA applications. Change-Id: If300a1b708f2e6605891261e67bfb4f8330a4624
* | | | Merge "Must hold lock here..." into gingerbreadAndreas Huber2010-06-111-0/+1
|\ \ \ \ | |/ / / |/| | |
| * | | Must hold lock here...Andreas Huber2010-06-111-0/+1
| | | | | | | | | | | | | | | | Change-Id: I179a5582c9246f78c988f85e2f969f32d547ac89
* | | | Merge "Initial checkin for pause and resume control" into krakenJames Dong2010-06-116-23/+146
|\ \ \ \ | |/ / / |/| | |
| * | | Initial checkin for pause and resume controlJames Dong2010-06-116-23/+146
| | | | | | | | | | | | | | | | Change-Id: Ibdcf7bea5fb66baa81878704ba4091dfcfe382ee
* | | | Merge "Restore feature parity with the old HTTPDataSource as far as support ↵Andreas Huber2010-06-114-11/+98
|\ \ \ \ | |/ / / |/| | | | | | | for extra headers (cookies?) and socket-timeout are concerned." into kraken
| * | | Restore feature parity with the old HTTPDataSource as far as support for ↵Andreas Huber2010-06-114-11/+98
| | | | | | | | | | | | | | | | | | | | | | | | extra headers (cookies?) and socket-timeout are concerned. Change-Id: I506dc501faec60e974bf4968d8ba661df7a49aa8
* | | | Fix a typo in NuCachedSource2 that would trigger an assert near the end of a ↵Andreas Huber2010-06-111-1/+1
|/ / / | | | | | | | | | | | | | | | stream. Change-Id: I963ad7074b830d553b67c8925efd5369d0b7a5b9
* | | Switch stagefright's approach to prefetching to the new model. The java ↵Andreas Huber2010-06-109-1260/+97
| | | | | | | | | | | | | | | | | | MediaPlayer is now notified about rebuffering start/end via info messages. Change-Id: If8185ba329ce8b6663b1ad39a4efb0ad3be81df2
* | | Merge "Switch LiveSource to use the new http data source instead of the old ↵Andreas Huber2010-06-102-9/+6
|\ \ \ | | | | | | | | | | | | one." into kraken
| * | | Switch LiveSource to use the new http data source instead of the old one.Andreas Huber2010-06-102-9/+6
| | | | | | | | | | | | | | | | Change-Id: I9623c480628c495dbfbe02bdc6372724a107e2e8
* | | | Merge "Initial check-in of new caching/prefetching data source ↵Andreas Huber2010-06-102-0/+551
|\ \ \ \ | | | | | | | | | | | | | | | implementation." into kraken
| * | | | Initial check-in of new caching/prefetching data source implementation.Andreas Huber2010-06-102-0/+551
| |/ / / | | | | | | | | | | | | Change-Id: I97a6e3f03c69c9b1219f1f06bd109c0102f2c504
* | | | Merge "Support "pausing" of MediaSources with the effect that they no longer ↵Andreas Huber2010-06-101-1/+19
|\ \ \ \ | | | | | | | | | | | | | | | pull on their upstream source until a subsequent read-with-seek." into kraken
| * | | | Support "pausing" of MediaSources with the effect that they no longer pull ↵Andreas Huber2010-06-101-1/+19
| |/ / / | | | | | | | | | | | | | | | | | | | | on their upstream source until a subsequent read-with-seek. Change-Id: Ie4153a10ab36c1135f5fcfb572958129d886bcc3
* | | | Merge "Initial check in of a new http data source implementation." into krakenAndreas Huber2010-06-102-0/+324
|\ \ \ \
| * | | | Initial check in of a new http data source implementation.Andreas Huber2010-06-102-0/+324
| |/ / / | | | | | | | | | | | | Change-Id: I17c358288ffe9ef690d702c58723c766d0a0cf21
* | | | Merge "Remove the lock/unlock workaround from CameraService" into krakenJames Dong2010-06-102-11/+34
|\ \ \ \ | |/ / / |/| | |
| * | | Remove the lock/unlock workaround from CameraServiceJames Dong2010-06-092-11/+34
| | | | | | | | | | | | | | | | | | | | | | | | bug - 2677772 Change-Id: I7c996daad8b3bfc89e9fa2d655dc18c9a5c68f2f
* | | | Merge "Apparently the TI video decoder only supports H.264 up to baseline ↵Andreas Huber2010-06-101-3/+4
|\ \ \ \ | |/ / / |/| | | | | | | profile/level 3, not level 3.x as previously assumed." into kraken