| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
Other:
- add a comment to nextUniqueId
- made ThreadBase::mId const, since it is only assigned in constructor.
Change-Id: I4e8b7bec4e45badcde6274d574b8a9aabd046837
|
| |
| |
| |
| | |
Change-Id: I1f5c338bcb7368e3dd8cd5f804b2e6d9fbe087f8
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \ |
|
| | |/ /
| |/| |
| | | |
| | | | |
Change-Id: I4999e984460893961d0d8092cff17f3cf07d7214
|
|\ \ \ \
| |_|_|/
|/| | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | | |
Change-Id: I3cbc2b1222335b61c814b5cdcfaefa495148b0ec
|
|\ \ \
| | | |
| | | |
| | | | |
source classes"
|
| | |/
| |/|
| | |
| | |
| | |
| | | |
classes
Change-Id: Ia74ffc1c0cbd7971697f5e3c476e340ec5c7727a
|
|\ \ \
| |_|/
|/| | |
|
| |/
| |
| |
| |
| |
| |
| | |
Have not found any concrete bugs related to these calls yet, but we should avoid
calling virtual functions in destructors, regardless.
Change-Id: I2d47b79d3fb2d29f418619bee83aa147d232a5d4
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Change-Id: I0a9dd668fb2e57b1c3ece3190588194974b99062
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Also remove defaults in startToneCommand(), they're not needed and the
default for tone type was nonsense.
Change-Id: I70fa8cee4f3dbb8c66ceb3719c8d3d2f447f05b9
|
| | |
| | |
| | |
| | |
| | |
| | | |
Use if (p != NULL) instead of if (ptr)
Change-Id: Iaec3413a59ccbf233c98fcd918cc7d70ac5da9fa
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is part of the process of abstracting the control block
to make it easier to maintain.
Change-Id: Idb8f461e68dab3bcf268159cc0781651c6fb7094
|
|\ \ \ \
| |_|_|/
|/| | | |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I1260259efe0aa3fc1ef13de69758aaa592e1f815
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
process.
Change-Id: Idd3c2f0d4a9542af01a3fdfd3b0bfab90e083505
|
|\ \ \
| |_|/
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| |
| |
| | |
Yay.
Change-Id: I74938a20b4e0a622836ea5184d3761180eb0f5de
|
|/
|
|
| |
Change-Id: Ibb591e41a3ca5d7015e2b66b98b8fef5f415fb37
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I98688bb7109b5f82953988935c7c33fe3c7f4ec0
|
|\ \
| |/
|/| |
|
| |
| |
| |
| | |
Change-Id: Ia4cc8be8424a40b3dcb7ebd0264fdff4e5247f7f
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| | |
Remove unnecessary includes of AudioTrack.h.
Use forward declaration of class names in preference to #include when possible.
Change-Id: I12982811fa75c2c7695d8bbfa595a7aaec047dc0
|
|/
|
|
|
|
| |
until we get updated prebuilts from vendor.
Change-Id: I8aae81d2513edca0ab268053a11c8c4206879e61
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It was int or uint32_t.
Also make getMode() const.
Change-Id: Ibe45aadbf413b9158e4dd17f2b3bcc6355288d37
|
| |/
|/|
| |
| |
| |
| |
| | |
This avoids confusion with parent class AudioEffect's mLock which is
protected.
Change-Id: I2ae0b0869fe3c606f682252973795b34477951d0
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|