Since ARM neon instructions were only used on armv7-a-neon
architecture variant, the default implementations for these
codecs don't use these advanced SIMD instructions.
Bug: 65568372
Test: lunch aosp_arm64; emulator # on oc-mr1-dev; boot to home screen
Check neon code is included in the following libraries:
- libstagefright_aaeenc.a
- libstagefright_amrwbenc.a
- libstagefright_soft_h264dec.so
Change-Id: Ia7a6097425541cb59fc470eac04e9c935be88325
In order to get bit rate information correctly for offload,
Set Max Bitrate and average bitrate to meta
when MPEG4Extractor is used.
Bug: 66376238
Test: Playback AAC file then check sound.
Change-Id: Ie357c3c94db3ee894333be9659001c46b9ddcef8
In order to get bit rate information correctly for offload,
Set bit rate to meta when OggExtractor is used.
Bug: 66374629
Test: Playback ogg file then check sound.
Change-Id: Idacbd46427fbe3f3d65a81f03034b04702c5f4f7
If dual sim device has two SIM cards inserted,
in airplane mode it sets "gsm.operator.iso-country" prop
to a single comma, which prevents ToneGenerator to access
prop for "gsm.sim.operator.iso-country" - SIM provider
country code. When VoWifi is used to make a call,
incorrect ringback tone is being played (generic one),
instead if one being read from gsm.sim.operator.iso-country.
This patch fix this, and allows ToneGenerator to correctly
recognize SIM country code.
Bug: 65859291
Test: Check ringback tone during SIM2 VoWiFi in flight mode
Change-Id: Ibb57d38432f3d99f2eac568aec2a949af5e2a9cd
As a VNDK/VNDK-SP module, Android.bp must have 'vndk' tag as well
as 'vendor_available: true'.
For a VNDK module, the 'vndk' tag has 'enabled: true'.
It will be installed system/lib(64)/vndk as a vendor variant.
For a VNDK-SP module, the 'vndk' tag has
'support_system_process: true' as well as 'enabled: true'.
It will be installed system/lib(64)/vndk-sp as a vendor variant.
Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Merged-In: Iee7f2e14fea4635a64c4e5c5bb50f5d7e2691682
Change-Id: Iee7f2e14fea4635a64c4e5c5bb50f5d7e2691682
(cherry picked from commit 439bfbb7d0)
While processing the 'elst' atom, MPEG4Extractor was expecting duration
and sample rate to already be known. This implies an ordering of atoms
that is not required by the spec, and indeed some muxers may emit the
'elst' atom before the atoms that define sample rate and duration.
This change caches the values from the 'elst' atom until a track has
been completely processed, allowing the 'elst' atom to appear first.
Bug: 63390273
Test: decoded test files, ran CTS
Change-Id: I30abca70ead7990eb8a7d19a2e4b31212b9bc311
When camera HAL dies and cameraserver is still alive, make sure
we update camera status after HAL re-register itself.
Test: kill hal process and run camera app, CTS
Bug: 63058983
Merged-In: Iba7e6cbebb674994c905f7feb1776acc479b612f
Change-Id: Iba7e6cbebb674994c905f7feb1776acc479b612f
but include the associated names in the global symbol export list, so
that apps that receive AAudioTesting.h outside of NDK can access the
symbols without dlsym().
Test: builds OK
Change-Id: If68f35145d68f359ebb7995ffcf9c9b8f9be6eb1
(cherry picked from commit 4257fd9aba)
Request thread may race with disconnect call when device is
disconnected in error condition. Acquire mLock when camera
device is updating status tracker to prevent that race
(status tracker being freed and then updated).
In other places where status tracker is updated, there is
a promoted sp to guarantee status tracker remain alive during
the call.
Test: CTS, manual camera testing
Bug: 62420820, 65432229
Change-Id: Id894b5d3482c64125c114f79dbe746c56048fcbe
Merged-In: Id894b5d3482c64125c114f79dbe746c56048fcbe
The following APIs are introduced in API 26:
AMediaCodec_createInputSurface
AMediaCodec_createPersistentInputSurface
AMediaCodec_setInputSurface
AMediaCodec_setParameters
AMediaCodec_signalEndOfInputStream
Bug: 32746065
Change-Id: I4899bbee8125974a06af1db8eb7c5b0382335e70
Only load removable digital device properties from streams
with dynamic profiles. This avoids aggregating properties from
other stream profiles when the device can also be reached via those
profiles.
Bug: 38423100
Test: connect various USB devices and check properties are loaded
properly.
Change-Id: Ie5eed397d3a475848a3d423d18ffae9d55917ac4
libminijail_vendor was added so that OMX can depend on
it. However, OMX's dependency is actually through the
library libavservices_minijail.
Bug: 37343418
Test: (sanity) YouTube
Test: dependency error no longer shows when compiling with
BOARD_VNDK_VERSION := current
Change-Id: Ife1dc09d8d225adf592829da9cf5603f8f543709
Note, filed b/62923763 to cleanup xmlparser includes.
Bug: 37343418
Test: builds with BOARD_VNDK_VERSION=current
Test: (sanity) YouTube on a device
Test: (sanity) Camera on a device
Test: (sanity) watch (part of a) movie on a device
Test: (sanity) YouTube on marlin
Test: (sanity) Camera on marlin
Test: (sanity) watch (part of a) movie on marlin
Test: (sanity) YouTube on angler
Test: (sanity) Camera on angler
Test: (sanity) watch (part of a) movie on angler
Change-Id: I461f999122da56cabb9d4d15b182899ced3b0120
Merged-In: I461f999122da56cabb9d4d15b182899ced3b0120
Rather than having a lib called libstagefright_foundation and one
called libstagefright_foundation_vendor, we now just have one library
and the build system keeps track of the vendor APIs that are exposed.
Test: (sanity) boot device, watch (part of) DRM protected movie.
Change-Id: I49f1c557ae8f93092bad5314e0630583cc7dc710
Merged-In: I49f1c557ae8f93092bad5314e0630583cc7dc710
arc4random is called by the linker for dlopen to randomize the library
load order, among other uses. It's becoming more widely used over time.
It calls getentropy at regular intervals to reseed itself, which uses
the getrandom system call. This wasn't noticed because it reseeds only
very rarely with typical usage in Android.
This was quickly noticed on CopperheadOS where the hardened allocator
based on OpenBSD malloc uses at least one (often more) byte of entropy
from arc4random for each call to malloc, free, realloc, etc. It's still
needed *eventually* without the hardened allocator but it would take a
lot of plugin loading / unloading, etc. with dlopen / dlclose to hit it
at the moment.
Change-Id: I0a448e833916373871edfc68274ac31e314d54f7