442 Commits

Author SHA1 Message Date
Glenn Kasten
4f7adcf76a Merge "Update comments" 2012-02-14 09:42:32 -08:00
Glenn Kasten
b3db213eb5 Update comments
We no longer put the filename at start of file.

Change-Id: Ic435b159a23105681e3d4a6cb1ac097bc853302e
2012-02-14 09:17:59 -08:00
Glenn Kasten
f4e1bdc13e Merge "Remove dead code AudioTrack::getLoop" 2012-02-14 09:09:03 -08:00
Glenn Kasten
6a20b26d99 AudioRecord and AudioTrack client tid
Inform AudioFlinger of the tid of the callback thread.

Change-Id: I670df92dd06749b057238b48ed1094b13aab720b
2012-02-14 07:30:48 -08:00
James Dong
385f1cafa6 Merge "Move away from MediaDebug and use ADebug instead" 2012-02-10 14:17:06 -08:00
Glenn Kasten
1137be1a68 Follow raw pointer and sp<> conventions
Unconditional delete for raw pointers.
Use "if (sp != 0)" not "if (sp.get() != 0)" or "if (sp != NULL)".
Use "if (raw != NULL)" not "if (raw)".

Change-Id: I531a8da7c37149261ed2f34b862ec4896a4b785b
2012-02-10 13:48:44 -08:00
James Dong
8e9d67a135 Move away from MediaDebug and use ADebug instead
Change-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08
2012-02-10 11:43:09 -08:00
Glenn Kasten
0765c448ab No newline or space at end of ALOG format string
Change-Id: I0bef580cbc818cb7c87aea23919d26f1446cec32
2012-02-08 17:21:49 -08:00
Glenn Kasten
6c9ddd2cbb Remove dead code AudioTrack::getLoop
Change-Id: I868329c52f31bc20125f068500d8f892b4ec9796
2012-02-08 14:12:12 -08:00
Glenn Kasten
39d00cb442 Use audio_io_handle_t consistently instead of int
Other:
 - add a comment to nextUniqueId
 - made ThreadBase::mId const, since it is only assigned in constructor.

Change-Id: I4e8b7bec4e45badcde6274d574b8a9aabd046837
2012-02-08 10:06:32 -08:00
Glenn Kasten
6731333584 Effect UUID inputs passed by pointer are const
Change-Id: I1f5c338bcb7368e3dd8cd5f804b2e6d9fbe087f8
2012-02-08 09:21:39 -08:00
Glenn Kasten
1e3a8d3090 Merge "Remove dead mutex in AudioTrack/AudioRecord thread" 2012-02-08 08:34:33 -08:00
Glenn Kasten
09b9ba0db2 Merge "AudioTrack declare more methods const" 2012-02-08 07:42:40 -08:00
Glenn Kasten
7c2e37dd32 AudioTrack declare more methods const
Change-Id: I4999e984460893961d0d8092cff17f3cf07d7214
2012-02-03 15:48:25 -08:00
Glenn Kasten
3f6d83a68a Declare more IAudioFlinger methods const
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
2012-02-03 15:40:56 -08:00
Glenn Kasten
f55bc56490 Merge "Use audio_in_acoustics_t consistently" 2012-02-03 08:31:01 -08:00
Glenn Kasten
191c849283 Merge "Use ToneGenerator::tone_type consistently" 2012-02-03 08:00:52 -08:00
Glenn Kasten
3694ec1f19 Use NULL not 0 for raw pointers
Use if (p != NULL) instead of if (ptr)

Change-Id: Iaec3413a59ccbf233c98fcd918cc7d70ac5da9fa
2012-02-03 07:57:01 -08:00
Glenn Kasten
08d5eb9885 Merge "Make AudioTrack control block volume field private" 2012-02-03 07:18:06 -08:00
Glenn Kasten
91a7b145df Merge "More audio_stream_type_t" 2012-02-02 13:26:12 -08:00
Glenn Kasten
4b80abcdd5 Remove dead mutex in AudioTrack/AudioRecord thread
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
2012-02-02 11:23:30 -08:00
Andreas Huber
f6b4ca408e Slighly improve the API to discover if the OMX stack is running in the local
process.

Change-Id: Idd3c2f0d4a9542af01a3fdfd3b0bfab90e083505
2012-01-31 11:16:24 -08:00
Glenn Kasten
b7cffb4140 More audio_stream_type_t
Change-Id: I1260259efe0aa3fc1ef13de69758aaa592e1f815
2012-01-27 16:33:43 -08:00
Glenn Kasten
23f7ad39ef Use ToneGenerator::tone_type consistently
Also remove defaults in startToneCommand(), they're not needed and the
default for tone type was nonsense.

Change-Id: I70fa8cee4f3dbb8c66ceb3719c8d3d2f447f05b9
2012-01-27 16:01:44 -08:00
Glenn Kasten
882c0a20c5 Use audio_in_acoustics_t consistently
Change-Id: I0a9dd668fb2e57b1c3ece3190588194974b99062
2012-01-27 13:31:54 -08:00
Glenn Kasten
0f0fbd9441 Use audio_source_t consistently
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
2012-01-26 16:50:19 -08:00
Glenn Kasten
bc4de888c1 Make AudioTrack control block volume field private
This is part of the process of abstracting the control block
to make it easier to maintain.

Change-Id: Idb8f461e68dab3bcf268159cc0781651c6fb7094
2012-01-20 16:19:59 -08:00
Glenn Kasten
865534a0e3 Merge "Fix warning for redundant typedef" 2012-01-20 15:06:01 -08:00
Glenn Kasten
0a204ed0f5 Use audio_format_t consistently, continued
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
2012-01-20 14:41:34 -08:00
Glenn Kasten
c79e413911 Merge "Fix typos in string constants" 2012-01-20 12:16:06 -08:00
Glenn Kasten
ea46649a1c Merge "Remove redundant get()" 2012-01-20 12:14:32 -08:00
Glenn Kasten
5ecff094f4 Merge "Move memcpy_to_i16_from_u8 to audio_utils" 2012-01-20 11:49:04 -08:00
Glenn Kasten
70ed6b744d Remove redundant get()
get() is almost always unnecessary, except in a LOG.
Also no need to check for != 0 before calling get().

Change-Id: Ib06e7a503f86cf102f09acc1ffb2ad085025516d
2012-01-20 11:44:26 -08:00
Glenn Kasten
5eaa0f6dda Fix warning for redundant typedef
frameworks/base/media/libmedia/autodetect.cpp:22: warning: 'typedef' was ignored in this declaration

Change-Id: I8c7404b9f5aa515c0fe92a5a46f24248d6fe96bf
2012-01-20 11:11:38 -08:00
Glenn Kasten
7524a59252 Merge "Remove dead setRingerMode(mode, mask)" 2012-01-20 10:07:06 -08:00
Glenn Kasten
24c255acc6 Fix typos in string constants
These were copy/paste errors in code that was copied from AudioTrack.

Change-Id: I64a04d6026667884ddb1fefba67a71d69c691d62
2012-01-19 08:18:22 -08:00
Glenn Kasten
92ecdd6303 Merge "Fix incorrect includes of AudioTrack.h" 2012-01-19 06:10:37 -08:00
Glenn Kasten
adf1083771 Merge "Simplify range check for audio_mode_t (continued)" 2012-01-19 06:09:20 -08:00
Glenn Kasten
a6dafea172 Fix incorrect includes of AudioTrack.h
Remove unnecessary includes of AudioTrack.h.
Use forward declaration of class names in preference to #include when possible.

Change-Id: I12982811fa75c2c7695d8bbfa595a7aaec047dc0
2012-01-18 16:06:47 -08:00
Glenn Kasten
8f397cdd4c Simplify range check for audio_mode_t (continued)
Missed one place in earlier CL of same name

Change-Id: I0dd25364d0b8d5d731c02d352f139a0c8d4df1a8
2012-01-18 15:57:40 -08:00
Glenn Kasten
ee7fea9f2f Remove dead setRingerMode(mode, mask)
Change-Id: Ia4cc8be8424a40b3dcb7ebd0264fdff4e5247f7f
2012-01-18 15:10:31 -08:00
Andreas Huber
28ea013f25 Temporarily restore AudioSystem/AudioTrack APIs with their former signatures
until we get updated prebuilts from vendor.

Change-Id: I8aae81d2513edca0ab268053a11c8c4206879e61
2012-01-18 10:51:55 -08:00
Glenn Kasten
540c35f7aa Merge "Track volume cleanup" 2012-01-18 07:46:18 -08:00
Eric Laurent
1be4afecb7 Merge "audio framework: manage stream volume per device" 2012-01-17 17:35:03 -08:00
Glenn Kasten
0632bad8ba Track volume cleanup
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
2012-01-17 16:25:17 -08:00
Glenn Kasten
cc2302d82e Move memcpy_to_i16_from_u8 to audio_utils
This will make it easier for this kind of code to be optimized
for each target architecture.

Change-Id: I9efd27d6c0175b00b9a784353244805cec63c0b8
2012-01-17 15:15:06 -08:00
Eric Laurent
9bc8358dda audio framework: manage stream volume per device
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
2012-01-17 15:15:04 -08:00
Glenn Kasten
aa967521c3 Move fixed_fft to system/media/audio_utils
Change-Id: If8a03911434862a872539c313f54825ffb2cc672
2012-01-17 11:59:35 -08:00
Glenn Kasten
fb6b5bdcea Merge "Use audio_mode_t consistently" 2012-01-17 11:32:53 -08:00
Glenn Kasten
55fa4fb4a7 Rename Visualizer::mLock
This avoids confusion with parent class AudioEffect's mLock which is
protected.

Change-Id: I2ae0b0869fe3c606f682252973795b34477951d0
2012-01-17 10:06:38 -08:00