Add an API to control block for getting/setting send level.
This allow us to make the mSendLevel field private.
Document the lack of barriers.
Use 0.0f to initialize floating-point values (for doc only).
Change-Id: I59f83b00adeb89eeee227e7648625d9a835be7a4
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
At native level it was a mixture of audio_stream_type_t, int, uint32_t,
and uint8_t. Java is still int. Also fixed a couple of hard-coded -1
instead of AUDIO_STREAM_DEFAULT, and in startToneCommand a hard-coded 0
instead of AUDIO_STREAM_VOICE_CALL.
Change-Id: Ia33bfd70edca8c2daec9052984b369cd8eee2a83
A long pathname would corrupt the heap due to incorrect use of strncpy.
Also was using hard-coded constant 256 instead of PATH_MAX.
Change-Id: Iba382bbb38624fbc41fec91449f9814f77d4ac0d
AudioSystem::setMode previously allowed negative modes, but these were
then rejected by AudioFlinger.
Now negative modes (including AUDIO_MODE_INVALID and AUDIO_MODE_CURRENT)
are explicitly disallowed.
Change-Id: I0bac8fea737c8eb1f5b6afbb893e48739f88d745
Was int, uint32_t, uint16_t, and uint8_t with 2-bit bitfield.
Also replace 0 by AUDIO_FORMAT_DEFAULT and replace 1 by
AUDIO_FORMAT_PCM_16_BIT.
Change-Id: Ia8804f53f1725669e368857d5bb2044917e17975
mActive is protected by mLock; volatile is meaningless on SMP.
Fixed a couple of places where mActive was accessed without a lock:
- stopped()
- processAudioBuffer()
Added stopped_l() for cases where we already hold the lock.
Made mActive a bool not int.
Moved down a lock in setPosition that was being acquired too early.
Change-Id: I73ff368e991c0db9f9472df0b3f96fd33fcc7311
Several source files privately defined macros LIKELY and UNLIKELY in terms
of __builtin_expect. But <cutils/compiler.h> already has CC_LIKELY and
CC_UNLIKELY which are intended for this purpose. So rename the private
uses to use the standard names.
In addition, AudioFlinger was relying on the macro expanding to extra ( ).
Change-Id: I2494e087a0c0cac0ac998335f5e9c8ad02955873
On AudioTrack and AudioRecord stop or failed start, restore the priority
and cgroup of the caller to their previous values, rather than forcing
to NORMAL. Dependent on new thread APIs.
Also fixes bug where priority was set to AUDIO but cgroup not set.
Change-Id: Ib83893918fb4fdf57c6b87884b51038997a631d8
* commit '716747f7cb29b45e41c2870f12d39095f4ed80c8':
Fix for issue 5309336 -add videoeditor maximum prefetch YUV frames in media_profiles.xml to limit the total memory usage.
-add videoeditor maximum prefetch YUV frames in media_profiles.xml to limit the total memory usage.
Change-Id: I41ffbc192fcce4c7635e5b0a1f2835852e5ee509
This change moves the ANativeWindow connect and disconnect logic from
MediaPlayer to MediaPlayerService::Client.
Bug: 5502654
Change-Id: Ifc43b98b01ad8f35d62d7ece43110724ec7fda3d