summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Move away from MediaDebug and use ADebug insteadJames Dong2012-02-101-36/+0
| | | | Change-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08
* Merge "Enable B frame support in MPEG4Writer"James Dong2012-02-081-1/+1
|\
| * Enable B frame support in MPEG4WriterJames Dong2012-02-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows us to automatically detect whether ctts box is needed in MPEG4Writer. MPEG4Writer uses ctts version 0 (non-negative offset value) store the composition time offset on a needed basis. Currently, the size of the ctts box is not optimized. Optimization will be addressed in a subsequent patch. o also changed the private method retrieveDecodingTime(bool) in OMXCodec to getDecodingTime() o related-to-bug: 4232183 Change-Id: Ic6dc7b25ecd258c2506ca4b9c25156e922456e51
* | Use audio_io_handle_t consistently instead of intGlenn Kasten2012-02-083-27/+37
| | | | | | | | | | | | | | | | Other: - add a comment to nextUniqueId - made ThreadBase::mId const, since it is only assigned in constructor. Change-Id: I4e8b7bec4e45badcde6274d574b8a9aabd046837
* | Effect UUID inputs passed by pointer are constGlenn Kasten2012-02-083-5/+5
| | | | | | | | Change-Id: I1f5c338bcb7368e3dd8cd5f804b2e6d9fbe087f8
* | Merge "Don't double destruct audio_track_cblk_t"Glenn Kasten2012-02-081-0/+1
|\ \
| * | Don't double destruct audio_track_cblk_tGlenn Kasten2012-02-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fortunately audio_track_cblk_t doesn't have a destructor, but for clarity remove the double destruction. Also add warning not to add any virtuals to audio_track_cblk_t. Change-Id: I70ebe1a70460c7002145b2cdf10f9f137396e6f3
* | | Merge "Remove dead mutex in AudioTrack/AudioRecord thread"Glenn Kasten2012-02-082-2/+0
|\ \ \
| * | | Remove dead mutex in AudioTrack/AudioRecord threadGlenn Kasten2012-02-022-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The client callback threads had mutexes called AudioTrackThread::mLock and ClientRecordThread::mLock. These mutexes were only used by start() and stop(), and were unused by the thread itself. But start() and stop() already have their own protection provided by AudioTrack::mLock and AudioRecord::mLock. So the thread mutexes can be removed. Change-Id: I098406d381645d77fba06a15511e179a327848ef
* | | | Merge "AudioTrack declare more methods const"Glenn Kasten2012-02-081-7/+7
|\ \ \ \
| * | | | AudioTrack declare more methods constGlenn Kasten2012-02-031-7/+7
| | |/ / | |/| | | | | | | | | | Change-Id: I4999e984460893961d0d8092cff17f3cf07d7214
* | | | Merge "Declare more IAudioFlinger methods const"Glenn Kasten2012-02-082-8/+10
|\ \ \ \ | |_|_|/ |/| | |
| * | | Declare more IAudioFlinger methods constGlenn Kasten2012-02-032-8/+10
| |/ / | | | | | | | | | | | | | | | | | | This is just documentation, as C++ method const-ness doesn't mean anything for a binder API. Instead, here const means "no side effects". Change-Id: Iaa9cd2fe477db10ae9a40cac4f79f0faa9b4e5e6
* | | Don't call virtual function in destructor of SurfaceMediaSourceJames Dong2012-02-061-1/+3
| | | | | | | | | | | | Change-Id: I3cbc2b1222335b61c814b5cdcfaefa495148b0ec
* | | Merge "Don't call virtual functions in the destructor for audio and camera ↵James Dong2012-02-043-6/+5
|\ \ \ | | | | | | | | | | | | source classes"
| * | | Don't call virtual functions in the destructor for audio and camera source ↵James Dong2012-02-023-6/+5
| | |/ | |/| | | | | | | | | | | | | classes Change-Id: Ia74ffc1c0cbd7971697f5e3c476e340ec5c7727a
* | | Merge "Don't call virtual functions in destructors for the writer classes"James Dong2012-02-034-4/+8
|\ \ \ | |_|/ |/| |
| * | Don't call virtual functions in destructors for the writer classesJames Dong2012-02-024-4/+8
| |/ | | | | | | | | | | | | Have not found any concrete bugs related to these calls yet, but we should avoid calling virtual functions in destructors, regardless. Change-Id: I2d47b79d3fb2d29f418619bee83aa147d232a5d4
* | Merge "Use audio_in_acoustics_t consistently"Glenn Kasten2012-02-031-1/+1
|\ \
| * | Use audio_in_acoustics_t consistentlyGlenn Kasten2012-01-271-1/+1
| | | | | | | | | | | | Change-Id: I0a9dd668fb2e57b1c3ece3190588194974b99062
* | | Merge "Use ToneGenerator::tone_type consistently"Glenn Kasten2012-02-031-2/+2
|\ \ \
| * | | Use ToneGenerator::tone_type consistentlyGlenn Kasten2012-01-271-2/+2
| |/ / | | | | | | | | | | | | | | | | | | Also remove defaults in startToneCommand(), they're not needed and the default for tone type was nonsense. Change-Id: I70fa8cee4f3dbb8c66ceb3719c8d3d2f447f05b9
* | | Use NULL not 0 for raw pointersGlenn Kasten2012-02-034-18/+18
| | | | | | | | | | | | | | | | | | Use if (p != NULL) instead of if (ptr) Change-Id: Iaec3413a59ccbf233c98fcd918cc7d70ac5da9fa
* | | Merge "Make AudioTrack control block volume field private"Glenn Kasten2012-02-031-1/+14
|\ \ \
| * | | Make AudioTrack control block volume field privateGlenn Kasten2012-01-201-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is part of the process of abstracting the control block to make it easier to maintain. Change-Id: Idb8f461e68dab3bcf268159cc0781651c6fb7094
* | | | Merge "More audio_stream_type_t"Glenn Kasten2012-02-021-1/+1
|\ \ \ \ | |_|_|/ |/| | |
| * | | More audio_stream_type_tGlenn Kasten2012-01-271-1/+1
| | | | | | | | | | | | | | | | Change-Id: I1260259efe0aa3fc1ef13de69758aaa592e1f815
* | | | Slighly improve the API to discover if the OMX stack is running in the localAndreas Huber2012-01-311-2/+2
|/ / / | | | | | | | | | | | | | | | process. Change-Id: Idd3c2f0d4a9542af01a3fdfd3b0bfab90e083505
* | | Merge "Use audio_source_t consistently"Glenn Kasten2012-01-274-8/+7
|\ \ \ | |_|/ |/| |
| * | Use audio_source_t consistentlyGlenn Kasten2012-01-264-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Was a mix of audio_source_t, uint8_t, and int. Related fixes: - fix comments in MediaRecorder.java - AudioPolicyService server side was not checking source parameter at all, so if the client wrapper was bypassed, invalid values could be passed into audio HAL - JNI android_media_AudioRecord_setup was checking source for positive values, but not negative values. This test is redundant, since already checked at Java and now checked by AudioPolicyService also, but might as well make it correct. Change-Id: Ie5e25d646dcd59a86d7985aa46cfcb4a1ba64a4a
* | | The software AAC encoder is now an OMX component.Andreas Huber2012-01-261-0/+1
|/ / | | | | | | | | | | Yay. Change-Id: I74938a20b4e0a622836ea5184d3761180eb0f5de
* | Remove AudioFlinger dependencies on clientGlenn Kasten2012-01-201-1/+1
|/ | | | Change-Id: Ibb591e41a3ca5d7015e2b66b98b8fef5f415fb37
* Use audio_format_t consistently, continuedGlenn Kasten2012-01-204-20/+20
| | | | | | | | | | | | Was int or uint32_t. When AudioFlinger::format can't determine the correct format, return INVALID rather than DEFAULT. Init mFormat to INVALID rather than DEFAULT in the constructor. Subclass constructors will set mFormat to the correct value. Change-Id: I9b62640aa107d24d2d27925f5563d0d7407d1b73
* Merge "Remove dead file include/media/thread_init.h"Glenn Kasten2012-01-201-24/+0
|\
| * Remove dead file include/media/thread_init.hGlenn Kasten2012-01-191-24/+0
| | | | | | | | Change-Id: I98688bb7109b5f82953988935c7c33fe3c7f4ec0
* | Merge "Remove dead setRingerMode(mode, mask)"Glenn Kasten2012-01-202-2/+0
|\ \ | |/ |/|
| * Remove dead setRingerMode(mode, mask)Glenn Kasten2012-01-182-2/+0
| | | | | | | | Change-Id: Ia4cc8be8424a40b3dcb7ebd0264fdff4e5247f7f
* | Merge "Fix incorrect includes of AudioTrack.h"Glenn Kasten2012-01-191-1/+2
|\ \
| * | Fix incorrect includes of AudioTrack.hGlenn Kasten2012-01-181-1/+2
| |/ | | | | | | | | | | | | Remove unnecessary includes of AudioTrack.h. Use forward declaration of class names in preference to #include when possible. Change-Id: I12982811fa75c2c7695d8bbfa595a7aaec047dc0
* | Temporarily restore AudioSystem/AudioTrack APIs with their former signaturesAndreas Huber2012-01-182-0/+18
|/ | | | | | until we get updated prebuilts from vendor. Change-Id: I8aae81d2513edca0ab268053a11c8c4206879e61
* Merge "Track volume cleanup"Glenn Kasten2012-01-181-4/+7
|\
| * Track volume cleanupGlenn Kasten2012-01-171-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Always read and write track volumes atomically. In most places this was already being done, but there were a couple places where the left and right channels were read independently. Changed constant MAX_GAIN_INT to be a uint32_t instead of a float. It is always used as a uint32_t in comparisons and assignments. Use MAX_GAIN_INT in more places. Now that volume is always accessed atomically, removed the union and alias for uint16_t volume[2], and kept only volumeLR. Removed volatile as it's meaningless. In AudioFlinger, clamp the track volumes read from shared memory before applying master and stream volume. Change-Id: If65e2b27e5bc3db5bf75540479843041b58433f0
* | Merge "audio framework: manage stream volume per device"Eric Laurent2012-01-172-4/+12
|\ \ | |/ |/|
| * audio framework: manage stream volume per deviceEric Laurent2012-01-172-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve volume management by keeping track of volume for each type of device independently. Volume for each stream (MUSIC, RINGTONE, VOICE_CALL...) is now maintained per device. The main changes are: - AudioService now keeps tracks of stream volumes per device: volume indexes are kept in a HashMap < device , index>. active device is queried from policy manager when a volume change request is received initalization, mute and unmute happen on all device simultaneously - Settings: suffixes is added to volume keys to store each device volume independently. - AudioSystem/AudioPolicyService/AudioPolicyInterface: added a device argument to setStreamVolumeIndex() and getStreamVolumeIndex() to address each device independently. - AudioPolicyManagerBase: keep track of stream volumes for each device and apply volume according to current device selection. Change-Id: I61ef1c45caadca04d16363bca4140e0f81901b3f
* | Merge "Use audio_mode_t consistently"Glenn Kasten2012-01-173-5/+5
|\ \
| * | Use audio_mode_t consistentlyGlenn Kasten2012-01-123-5/+5
| | | | | | | | | | | | | | | | | | | | | It was int or uint32_t. Also make getMode() const. Change-Id: Ibe45aadbf413b9158e4dd17f2b3bcc6355288d37
* | | Rename Visualizer::mLockGlenn Kasten2012-01-171-1/+1
| |/ |/| | | | | | | | | | | This avoids confusion with parent class AudioEffect's mLock which is protected. Change-Id: I2ae0b0869fe3c606f682252973795b34477951d0
* | Merge "Use size_t for frame size"Glenn Kasten2012-01-173-3/+8
|\ \
| * | Use size_t for frame sizeGlenn Kasten2012-01-133-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | except in the control block, where we don't have room. In AudioFlinger::ThreadBase::TrackBase::getBuffer, read the frame size from control block only once. Change-Id: Id6c4bccd4ed3e07d91df6bbea43bae45524f9f4e
* | | Merge "Use audio_stream_type_t consistently"Glenn Kasten2012-01-178-30/+31
|\ \ \