Android-x86
Fork
Donation

  • R/O
  • HTTP
  • SSH
  • HTTPS

frameworks-av: List of commits

frameworks/av


RSS
Rev. Tiempo Autor
bd44ecc r-x86 2021-11-05 10:36:30 Michael Goffioul

Setup FFMPEG audio/mpeg-L2 codec correctly

Now that Android supports audio mp2, one has to make sure the FFMPEG
variant is configured correctly when being used.

04e898b 2021-11-05 10:36:30 Michael Goffioul

Add paths and system libraries for swcodec APEX

- libdrm.so, libhardware_legacy.so: required by drm_gralloc
- libashmemd_client.so: suppress recurring error messages in logcat,
maybe not required from functionality point of view
- /apex/com.android.media.swcodec/${LIB}: required for
android.hardware.graphics.mapper@2.0.so

e471e63 2021-11-05 10:36:30 Michael Goffioul

Disable CFI

The presence of CFI sanitizer makes the corresponding libraries to be
missing from the com.android.media.swcodec APEX, when building for x86.

9657954 2021-11-05 10:36:30 Michael Goffioul

libstagefright: Extended media support via FFMPEG

* Original work by Michael Chen - https://github.com/omxcodec
* Original Kitkat port by Chih-Wei Huang / Android X86 project
* Additional work up to Nougat by:
- Steve Kondik
- Ricardo Cerqueira
- Keith Mok
- Scott Mertz
- Ethan Chen
- Diogo Ferreira
* Additional work up to Oreo/Pie/Q by:
- Michael Goffioul

Change-Id: Ie871b56f6f6d895a87de8c8920e9e8692382b420

5d4ca96 2021-11-05 10:36:30 Jesse Chan

stagefright: allow multiple custom OMXPlugins

* Separated by comma(,)
* Example: media.sf.omx-plugin=libffmpeg_omx.so,libsomxcore.so

Change-Id: I15556a48df282b01f54ca864317eafff5468e739
Signed-off-by: Jesse Chan <jc@lineageos.org>

fbd592c 2021-11-05 10:36:30 Steve Kondik

stagefright: Add support for loading a custom OMXPlugin

* To facilitate moving the stagefright-plugins glue out of the
framework, support is added to OMXMaster to load multiple
external plugins besides internal/vendor versions.
* This is currently limited to one plugin, defined by the
"mm.sf.omx-plugin" system property. The code will allow any
number of libraries to be loaded, though.
* Should also be useful for nonstandard vendor implementations too.

Change-Id: I27d7e16ad56baa17754d8ea47a8c608a0d73d6f1

3759c8e 2021-11-05 10:36:30 Chih-Wei Huang

nuplayer: skip bad SAR values

Historically there are two definitions of SAR:

1. Storage Aspect Ratio
2. Sample Aspect Ratio

The first one is used in MPEG2 terminology, while the second is used
in MPEG4-AVC terminology.

The MPEG2 terminology actually means the real frame dimension (w:h),
while the MPEG4-AVC terminology means the shape of individual pixels.
It's called PAR (Pixel Aspect Ratio) in MPEG2 terminology.

Android apparently uses the second definition as comments in the code.
However, some video files include SAR tags in MPEG2 terminology sense.
For example,

08-14 18:13:45.212 2841 4769 I NuPlayer: int32_t width = 856
08-14 18:13:45.212 2841 4769 I NuPlayer: int32_t height = 480
08-14 18:13:45.212 2841 4769 I NuPlayer: int32_t sar-width = 852
08-14 18:13:45.212 2841 4769 I NuPlayer: int32_t sar-height = 480

That makes Android calculate the DAR (Display Aspect Ratio)
incorrectly, where DAR = FAR (Frame Aspect Ratio) x SAR.
As a result the video is stretched strangely.

To workaround it, skip the SAR tags if they look like the
Storage Aspect Ratio.

96c431d 2021-11-05 10:36:30 Chih-Wei Huang

media: enable dithering for RGB565 conversion

This seems to improve video playback quality.

Inspired by a patch from WuZhen.

6fd7cff 2021-11-05 10:36:30 Paulo Sergio Travaglia

Allow screenrecord usage on Android-x86

Selects a supported color format for screenrecord (
OMX_COLOR_FormatYUV420Planar instead of OMX_COLOR_FormatAndroidOpaque)
and removes a check on SoftVideoEncoderOMXComponent.cpp
in order to make screenrecord work on Android-x86.

7be2c3f 2021-11-05 10:36:30 Chih-Wei Huang

Don't use YV12 color format for video decoding

YV12 is not supported by Mesa yet. This has to be reverted
when we can enable h/w decoder.

0d408d6 2021-11-05 10:36:30 Hua Wang

CameraSource: set up right frame rate

If camera recorder uses HW codec, the capabilities of the codec
are from media_profile.xml; If using SW codec, it is invisible
to the applications, In other words, the applications won't be
able to use the codec or query the capabilities of the codec
at all, it only gives some ranges. StagefrightRecorder will
use default parameters to configure camera, as for framerate,
it should be from camera HAL feedback.

Issue:AXIA-1446
Change-Id: I77bf41239a19d26e2da1c28258288fdaa1c98297
Signed-off-by: Hua Wang <Hua.Wang@windriver.com>

a617c83 2021-11-05 10:36:30 Billy

FLACExtractor: Add more sample rates support

In FLACExtractor.cpp, it has function to check file's sample rate.
If the input sample rate is not in its list, it will return "unsupported
sample rate" issue. Modify code to make other sample rates (100,1k,42k,46k)
pass the check

Issue: AXIA-1441
Change-Id: I48f91119275560ec6d00feb0dedc70d10aa55262
Signed-off-by: Xiaobing Feng <xiaobing.feng@windriver.com>
Signed-off-by: Matt Gumbel <matthew.k.gumbel@intel.com>

4bb2e41 2021-11-05 10:36:30 Daniel Charles

Change max width and height supported by H.263 decoder.

Currently this is set to CIF PAL resolution (352x288) which
won't calculate the actual output buffer size for higher resolutions

The h.263 decoder needs the max width and height supported to be able
to decode

H.263 decoders supports: QCIF, CIF, D1 and 16CIF; all PAL.

Change-Id: If5e44c522cb3cb56bb6235ec2992e2544b1737e9
Original-Change-Id: I7f8d2ae4263925ac4cf9250404ef92fc819ca33a
Signed-off-by: Daniel Charles <daniel.charles@intel.com>

8ef4d69 2021-11-05 10:36:30 Robert Crabtree

SW encode: Fix output buffer size

The output buffer size needs to be updated if the resolution is updated.
The output buffer was configured for QCIF resolution when the actual
resolution was VGA. Buffer overflow was resulting.

Change-Id: Ieca3943d8d67bfcfcf49fed95d17be712f4b14b5
Signed-off-by: Robert Crabtree <robertx.l.crabtree@intel.com>

6092805 2021-08-16 13:15:27 Android Build Coastguard Worker

Merge cherrypicks of [15581311, 15581312, 15581313, 15581314, 15581326, 15581327, 15581138, 15581139, 15581140, 15581341, 15581342, 15581343, 15581344, 15581095, 15581315, 15581316, 15581317, 15581345, 15581328] into rvc-d2-release

Change-Id: I67375638c57528d49cbfd2205e3fc0d96112f7a8

4bf3f26 2021-08-16 13:14:46 Phil Burk

aaudio: unlock when joining the timestamp thread

This will prevent a deadlock in case the timestamp
thread tries to acquire the same lock.

Bug: 182852602
Bug: 153358911
Test: plug and unplug headphones while playing
Change-Id: I625d191906c7e280f3a223f476716ef17b9098ea
Merged-In: I625d191906c7e280f3a223f476716ef17b9098ea
(cherry picked from commit 5f6fda778bf35be4cd67363ca0fe40cf710364c3)

f999c78 2021-08-16 13:14:44 Phil Burk

aaudio: prevent deadlock when stop() calls disconnect()

Move all calls to send the timestamp into the one timestamp thread.

There was a clear code path that could lead to a deadlock.
If the call to get the timestamp from the HAL returned
an unexpected error code then it would call disconnect().
If that happened below the call to stop() then the
deadlock would occur.

The sequence of calls was AAudioServiceStreamBase::stop()
which locked mLock,
then called AAudioServiceStreamBase::stop_l(),
which called AAudioServiceStreamBase:sendCurrentTimeStamp(),
which called AAudioServiceStreamMMAP::getFreeRunningPosition(),
which called disconnect(),
which locked mLock AGAIN.

It is not clear what would trigger the error return
from the HAL but a routing change may be involved.

The bug was discovered during stress tests and we do not
have a clear repro case.

Bug: 182852602
Bug: 153358911
Test: atest CtsNativeMediaAAudioTestCases
Change-Id: I575f75ece9b459e7412bca293d7338babe76b3a7
Merged-In: I575f75ece9b459e7412bca293d7338babe76b3a7
(cherry picked from commit 45da1b7e3231bf3475cb9ca1a2243a27355c0466)
(cherry picked from commit 9dd928e100d38c42f68c04c01f09fa8c8cb606d3)

30f805c 2021-04-08 07:04:15 android-build-team Robot

Snap for 7266183 from c87f6bb2765000ad9af4e1f250f48c9f969509d5 to rvc-d2-release

Change-Id: I7805e2ebb05dc67626bbf7f903d315ca6624fa6d

c87f6bb 2021-04-07 08:47:33 Edwin Wong

[automerger skipped] Merge "[RESTRICT AUTOMERGE] Fix clearkey CryptoPlugin use after free vulnerability." into qt-dev am: a791711394 am: bdd6f616f0 -s ours am: 534493a522

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13499528

Change-Id: Iff46b81afa2298dca7068e1d9cd041d36e30fc81

bb15caf 2021-04-07 08:47:32 Edwin Wong

[automerger skipped] [RESTRICT AUTOMERGE] Fix clearkey CryptoPlugin use after free vulnerability. am: abb7ad47b0 am: 2e056f1923 -s ours am: 6fc9c6ed98

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13499528

Change-Id: I509890052f364e25d596853d9db7f45c5c5e6f18

534493a 2021-04-07 08:27:22 Edwin Wong

[automerger skipped] Merge "[RESTRICT AUTOMERGE] Fix clearkey CryptoPlugin use after free vulnerability." into qt-dev am: a791711394 am: bdd6f616f0 -s ours

am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13499528

Change-Id: Ie66a1d09f6bd587d7698b77ae487e784f3d90cc4

6fc9c6e 2021-04-07 08:27:19 Edwin Wong

[automerger skipped] [RESTRICT AUTOMERGE] Fix clearkey CryptoPlugin use after free vulnerability. am: abb7ad47b0 am: 2e056f1923 -s ours

am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13499528

Change-Id: I1eca94fe9a0491c44bc4a5314f8d5283076fb292

bdd6f61 2021-04-07 08:06:30 Edwin Wong

Merge "[RESTRICT AUTOMERGE] Fix clearkey CryptoPlugin use after free vulnerability." into qt-dev am: a791711394

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13499528

Change-Id: Ib8db65b4c136ea80aa5761ab0137e96ed551e687

2e056f1 2021-04-07 08:06:28 Edwin Wong

[RESTRICT AUTOMERGE] Fix clearkey CryptoPlugin use after free vulnerability. am: abb7ad47b0

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13499528

Change-Id: I6d702cef4ea2063a4e3d57213c8d2ec36bacd7e9

a791711 2021-04-07 07:27:14 Edwin Wong

Merge "[RESTRICT AUTOMERGE] Fix clearkey CryptoPlugin use after free vulnerability." into qt-dev

a5625a1 2021-04-07 07:04:17 android-build-team Robot

Snap for 7262953 from 2e13f4a3ec5fa24dd1efdad97efa1b2216f3cf22 to rvc-d2-release

Change-Id: Iaf7a75471925c7684a2163982a1bb846ac022b32

c5dc253 2021-04-07 06:49:14 Edwin Wong

[RESTRICT AUTOMERGE]Fix CryptoPlugin use after free vulnerability. am: 79a6ffbdaf

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13808809

Change-Id: I05e0d7f0260cb4686e7333d1cf8f9afa440b23a0

79a6ffb 2021-04-06 15:20:45 Edwin Wong

[RESTRICT AUTOMERGE]Fix CryptoPlugin use after free vulnerability.

The shared memory buffer used by srcPtr can be freed by another
thread because it is not protected by a mutex. Subsequently,
a use after free AIGABRT can occur in a race condition.

SafetyNet logging is not added to avoid log spamming. The
mutex lock is called to setup for decryption, which is
called frequently.

The crash was reproduced on the device before the fix.
Verified the test passes after the fix.

Test: sts
sts-tradefed run sts-engbuild-no-spl-lock -m StsHostTestCases --test android.security.sts.Bug_176495665#testPocBug_176495665

Test: push to device with target_hwasan-userdebug build
adb shell /data/local/tmp/Bug-176495665_sts64

Bug: 176495665
Bug: 176444161
Change-Id: I3bfe5c34acb41608d1250a075984ab7860076331

2e13f4a 2021-04-06 08:19:01 Edwin Wong

[automerger skipped] Merge "Fix possible uaf of play policy state" into qt-dev am: 2a41846f89 am: 8e3741aac8 -s ours am: 9a4d85f6bd -s ours

am skip reason: skip tag Change-Id I07cc93c255942d56e866d0b08fb786f154f6e0d3 with SHA-1 e07417a9b7 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13486147

Change-Id: I61793d04496a299273a7be864a4827f252794132

9a4d85f 2021-04-06 07:37:07 Edwin Wong

[automerger skipped] Merge "Fix possible uaf of play policy state" into qt-dev am: 2a41846f89 am: 8e3741aac8 -s ours

am skip reason: skip tag Change-Id I07cc93c255942d56e866d0b08fb786f154f6e0d3 with SHA-1 e07417a9b7 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/13486147

Change-Id: Id12483ad9ae84e6aaab7c75f3652534fd3051cba

Show on old repository browser