For easy transition from SchedTune to UtilClamp, direct access to these
cgroups should be abstracted by using task profiles. Replace writepid
commands with new task_profiles command.
Bug: 155419956
Test: change .rc file and confirm task profile is applied
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Id00370b25af973a4b3813a4a1d6ccbd1e555c87f
Merged-In: Id00370b25af973a4b3813a4a1d6ccbd1e555c87f
This reverts commit 54482b573e.
Reason for revert: Broke git_master on build_test
Fixes: 144601027
Change-Id: Id98fe3875a7e06bcae9c640958e28217a68fbc25
Convert with minimal change to the interface itself.
Add additional test to cover DrmSessionManager's usage
of possible negative value field (which is signed now).
bug: 142396029
test: ResourceManagerService_test, DrmSessionManager_test,
CTS ResourceManagerServiceTest;
Manually check battery stats reporting.
Change-Id: I5c537a54efc2663281c96ddbdbd4ee56f23c1adf
This is a workaround for b/130058564.
Test: adb shell stagefright -i | grep "c2.android"
Bug: 130254909
Change-Id: I8e8f7bbd9c1f777285cdcc58ea6610639122c928
Switch to using a dynamically-linked library function to initialize
ICU, not a statically-linked function. This means the knowledge of file
paths stays in the runtime module.
Bug: 120493361
Test: build/boot
Exempt-From-Owner-Approval: It's just a cherry-pick
Merged-In: Ibe1d5ffd50e5cce76b1b01788954dcfb4762b1c6
Change-Id: Ibe1d5ffd50e5cce76b1b01788954dcfb4762b1c6
Switch to using a dynamically-linked library function to initialize
ICU, not a statically-linked function. This means the knowledge of file
paths stays in the runtime module.
Bug: 120493361
Test: build/boot
Change-Id: Ibe1d5ffd50e5cce76b1b01788954dcfb4762b1c6
force mediaserver to 32-bits, 64-bit version failed wider testing.
Bug: 126502613
Bug: 16890215
Test: use camera app to record video
Test: android.media.cts.MediaPlayer2Test#testRecordedVideoPlayback0
Test: android.media.cts.MediaPlayerTest#testRecordedVideoPlayback0
mediaserver is no longer forced to 32-bit mode, floating to primary
architecture which is usually 64 bits.
Bug: 16890215
Test: boot, record video, android.media.cts.MediaPlayerTest
Change-Id: If5265e251a4201e7037ddaa2f36fa998936622aa
This converts mediaserver, mediametrics and screenrecord and the
libraries they depend on to Android.bp
See build/soong/README.md for more information.
Bug: 122331945
Bug: 80410283
Test: boot blueline
Test: youtube
Test: screenrecord
Change-Id: I132b8b4f7965449df68fb1544034a7241c594a63
Delay start of mediaserver and mediaextractor during boot until after the
Runtime APEX is mounted.
They depend on ICU / the ICU .dat file which are provided by the Runtime
APEX.
Test: flash & boot
Bug: 123275379
Bug: 113373927
Bug: 123176717
Change-Id: Idfe80054b6afe8f7449e698f59413ecefb280957
libicuuc and libicui18n are moved into APEX, but
they have no stable ABI due to the version suffix.
Use libandroidicu which provides stable symbol.
See http://go/apex-stable-icu4c-interface for the design.
See http://aosp/801855 for libandroidicu implementation.
Bug: 117094880
Test: m checkbuild
Merged-In: Ida6aac85dfb79bf8e7a3a2540e567ee211279e09
Change-Id: Ida6aac85dfb79bf8e7a3a2540e567ee211279e09
(cherry picked from commit b6826d9e88)
1. Toggling between Treble and non-Treble OMX will now be controlled by
two properties: "persist.hal.binderization" and
"persist.media.treble_omx". (Before this CL, this was controlled by
"debug.treble_omx".)
- If persist.media.treble_omx is not set, it will assume a default value
of -1.
- If persist.media.treble_omx is -1, persist.hal.binderization will be
used to determine whether OMX will be created as a Treble or non-Treble
service.
- If persist.media.treble_omx is 1, OMX will be created as a Treble
service.
- If persist.media.treble_omx has any other value, OMX will be created
as a non-Treble service.
- persist.media.treble_omx can be changed without rebooting, but it will
only take effect after media.codec and mediaserver processes are killed.
2. Remove all dependencies on non-Treble service. This was not done for
MediaCodec, MediaPlayerService::Client, MediaRecorderClient, stagefright
command, and omx_tests command. OMXClient and media.codec process will
now pick the right version of OMX based on properties mentioned above.
Before this CL, media.codec would always present the non-Treble version
of OMX regardless of the flag.
3. Provide workarounds for some HIDL issues.
- A sequence of nested binder and hwbinder calls require many threads to
handle. (b/35283480) The workaround is to increase the number of threads
in the thread pool of media.codec process.
- android.hidl.base@1.0::IBase::unlinkToDeath takes a strong pointer
instead of a weak pointer. (b/35233970) This causes an infinite
recursion in the destructor of ServiceDeathNotifier in
MediaPlayerService::Client and MediaRecorderClient. The workaround moves
calls to unlinkToDeath() outside of the destructor.
Test: Recorded and played videos with Camera app. Ran stagefright and
omx_tests commands.
Bug: 31399200
Change-Id: Id1940ed982838e10bf10fe8ed5b7bb912a5a2d3a
Various media components were linking against dynamic libraries that weren't needed.
Test: built and booted
Change-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e
If multiple writepids, all must be in one line to take effect.
Else, only the last one will take effect.
bug: 30192722
bug: 28312446
Change-Id: I35eea3f604fb5f0c2c0a6bce9e22cfde9d5805a9
audioflinger, audiopolicy, (fm) radio, soundtrigger moved to audioserver.
medialog is removed from mediaserver.
audioserver has same permissions and rights as mediaserver.
mediaserver is allowed to specify client uid to audioserver.
Subsequent CL will add medialog to audioserver.
TBD: Pare down permissions.
Bug: 24511453
Change-Id: Iccaa08b874a502710d142e72f8abbb3d97c44cfa
A static library now exists in external/icu/android_utils.
Contains cherry-picks from commits:
4b60b068c22f3406517d
Bug: 21730722
Change-Id: Ibc264ed881465736ce74fa493deb83cc15f9fceb
In change 2b29e461c in external/icu, we stopped hardcoding the ICU
data path at compile time to avoid two sets of mappings in zygote forked
processes. This means we'll have to tell ICU where its data is if the
process in question isn't forked from the zygote.
bug: 21705078
Change-Id: I829d9fa34fe8209aa8a6d55145ca26fdf0d934e8
Using Sonic as backbone for time stretching algorithm.
Adding libsonic to needed makefiles.
bug: 19196501
Change-Id: I1ea9221d2f56e4e79fba8746ce0ad350b5079e82
This patch defines an interface for a new component: policy engine.
The APIs found under this interface are the one we may want to customize
and to configure easily.
This patch also split the current manager code into manager and engine to
provide a default version of the policy engine.
Change-Id: I97cf59760b53d248fe9efe466ae5e73bd7e5cc06
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
This patch splits the managerdefault into a manager and a manager
defintion library that contains all pillar elements of a policy manager.
It renames the file with the name of the main class they contains.
It splits the AudioPort into AudioPort and AudioPatch.
Change-Id: I992cf0b8aed895805cc003ba0980d2c9e92c985b
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
First implementation of broadcast radio service.
This native service runs in mediaserver process and
controls broadcast radio hardware modules.
There is one ihardware module per broadcast radio class.
The service allows serveral clients to control tuners
on hardware modules and manages resource conflicts.
Change-Id: I21469a084c7ccd65042b8ac5f724d060044c45ab
AudioPolicyManager implementation is now split into the
following files:
files managerdefault/Gains.*
class AudioGain
class VolumeCurvePoint
class StreamDescriptor
files managerdefault/Devices.*
class DeviceDescriptor
class DeviceVector
files managerdefault/Ports.*
class AudioPort
class AudioPortConfig
class AudioPatch
files managerdefault/IOProfile.*
class IOProfile
files managerdefault/HwModule.*
class HwModule
files managerdefault/AudioInputDescriptor.*
class AudioInputDescriptor
files managerdefault/AudioOutputDescriptor.*
class AudioOutputDescriptor
All files for libaudiopolicyservice are moved under service/
All files for libaudiopolicymanager are moved under manager/
Change-Id: I43758be1894e37d34db194b51a19ae24461e066e