Only one system server seems to exist across multiple-users; however,
when the primary user is backgrounded, system server loses its
RECORD_AUDIO permission. Through a number of steps this prevents the
secondary user from starting any services that use the SoundTrigger HAL;
specifically, this was found because it prevents Oslo from functioning
when a secondary user is active.
Bug: 139839188
Test: Oslo use cases pass
Change-Id: Ia0dd5fd3b6992cb18279b81146b35ed040771245
Signed-off-by: Jeffrey Carlyle <jcarlyle@google.com>
OMX allowed 6, but codec2 was restricting to 1 channel.
Bug: 140469404
Test: playback clip from bug
(cherry picked from commit edba5005d9)
Change-Id: I9d86c40741f1442ca8147e2802a9ce54df31bbd1
OUTPUT_DELAY was set as 8 for avc and hevc c2 decoder plugins.
It is now set based on the value present in SPS
Bug: 138627015
Test: poc in bug
Test: atest android.media.cts.DecoderTest
Test: atest android.media.cts.AdaptivePlaybackTest
Change-Id: I50f7b3e8bd08c9d3b19e84c3c25acaa4eb767226
Make the vndk module "libstagefright_bufferpool@2.0" work with existing
Codec2 HALs, and create a new vendor (non-vndk) module
"libstagefright_bufferpool@2.0.1" that new Codec2 HALs can use.
Test: atest CtsMediaTestCases -- \
--module-arg CtsMediaTestCases:size:small
Bug: 138171841
Bug: 140471279
Change-Id: I2886432afef86ef66fbd48ee744e5fd8de2d1e21
bug: 138397508
test: cts HeifWriterTest on devices that can enable OMX HEIC encoder.
Change-Id: I6e8437c0b8cc4901e943f2ed7cb23cb16ed096fe
(cherry picked from commit 7b0ff1953d)
Since secure buffers are limited resources, use less buffers for secure
output display.
Bug: 138295327
Bug: 140087403
Change-Id: If763bed99cecc0acdd88d0111d30aa4ab98bce71
There is no change on functionality, only refactoring
to allow unit testing.
bug: 138381810
bug: 139440234
Change-Id: Id927c091607d9ea5ea84b6e292d53154ef5171a6
* changes:
Switch av1 implementations from aom to gav1
stagefright: Use libgav1 for AV1 decoding
codec2: Add log message for the AV1 decoder
codec2: Implement gav1 decoder component
codec2: libgav1 integration part 1
The Quirk, Attribute, Alias, Limit and Feature elements are added to
"Variant" type for fixing VTS error.
Bug: 139506623
Test: m -j40 vts && vts-tradefed run vts -m VtsValidateMediaCodecs
Change-Id: I55066cc1de8b820c24faccdfb469377c897e9808
Some devices make /sdcard a symbolic link to a non-constant target. The
target changes between the setup and the execution, so files pushed to
/sdcard during the setup cannot be found when the test runs.
Test: vts-tradefed run vts -m VtsHalMediaC2V1_0Host
Bug: 138388013
Change-Id: Ia27bd9eedfc6f97225abb553c4b8efbb8957966e
Use the c2.android.gav1.decoder component instead of
c2.android.av1.decoder component.
All the AV1 related CTS tests still pass.
Bug: 131989882
Bug: 130249450
Test: cts-tradefed run commandAndExit cts-dev --include-filter CtsMediaTestCases --module-arg "CtsMediaTestCases:include-filter:android.media.cts.DecoderTest#testAV1*" --module-arg "CtsMediaTestCases:include-filter:android.media.cts.AdaptivePlaybackTest#testAV1*"
Merged-In: I519040c7a7974058d1d2a4f210bb93f1c8f50ea1
Change-Id: I519040c7a7974058d1d2a4f210bb93f1c8f50ea1
Add a log message about which AV1 decoder is being used.
Also remove the TODO for renaming the gav1 component.
Bug: 131989882
Bug: 130249450
Test: cts-tradefed run commandAndExit cts-dev --include-filter CtsMediaTestCases --module-arg "CtsMediaTestCases:include-filter:android.media.cts.DecoderTest#testAV1*" --module-arg "CtsMediaTestCases:include-filter:android.media.cts.AdaptivePlaybackTest#testAV1*"
Merged-In: I3eec15cc74d8ab8f9e6d4539a25407cf93d4efeb
Change-Id: I3eec15cc74d8ab8f9e6d4539a25407cf93d4efeb
Note that this CL does not switch the default AV1 decoder to gav1
yet. That will be done in a follow-up.
Test: CTS media tests related to AV1 still pass.
Bug: 131989882
Bug: 130249450
Merged-In: Ifb88d0f51d85e59fa37d5cead8a5d4757067fedd
Change-Id: Ifb88d0f51d85e59fa37d5cead8a5d4757067fedd
This CL contains stuff that are pretty much copied over from the
libaom component. It makes it easier to review the series of CLs.
All the libgav1 specific functions will follow in a subsequent CL.
Test: all AV1 CTS tests still pass.
Bug: 131989882
Bug: 130249450
Merged-In: Iaafbf5379577bd42c7de64c7ec96d5b0fbb45b18
Change-Id: Iaafbf5379577bd42c7de64c7ec96d5b0fbb45b18
Reporting video on upon first queue/dequeue buffer activity,
off after a period of inactivity (3 sec currently).
bug: 138381810
test:
Manual testing for now; unit tests will come after.
With BatteryStatService instrumented to print out noteVideo*:
Test case #1: Camera recording (using GCA):
Camera creates encoder immediately when Video tab is entered, but
recording won't start until button is pressed. After recording is
stopped, a new encoder is again created to prepare for next session.
So under old scheme, video is on as soon as we're in Video tab, and
off/on even pairs are seen when video is stopped. Video stats is
basically always On when we're in video tab.
With this CL one should see:
- There shouldn't be videoOn when Video tab is first entered
- Start recording and there should be a videoOn.
- Stop recording and there should be a videoOff, AND videoOn shouldn't
immediately follow.
- Kill camera app during active recording, video should be restored
to Off.
Test case #2: Playback of video clips in Photos with pause
With old scheme pausing state will be videoOn because codec instance
is still there. With new scheme, videoOff should come after video
is paused for 3 sec, and video On should come again when video is
resumed.
Change-Id: Ifa8aa5d8c2c95fa25393fcb936e6e54578716783
- Fix ResourceManagerSerivce handling of adding same-type
resource in multiple calls, combine entries with the same
<type, subtype>. This is not required in existing usage,
bug could be required if we allow same type to be added
incrementally (eg. memory usage).
- Add api for removing some resources. Currently we can
add resources in multiple calls, but removeResource always
remove all resources of that client. We need this to toggle
battery stat On/Off based on actual usage of the codec.
- Add unit tests for the above.
bug: 138381810
test: ResourceManagerService_test; CTS ResourceManangerTest.
Change-Id: Icdba6c6b4c517755291668c52764169aac3071ea
We can't track video stats accurately if it's reported from
app side MediaCodec. If the app dies, video stats get stuck
in On state forever. This can be easily triggered by forcefully
kill and app that uses MediaCodec from app side (instead of
through mediaserver's Recorder or Player service), eg.
launch GoogleCamera app and switch to Video tab, and kill it
from adb shell.
In order to track MediaCodec usage from apps we need to move
the battery stats reporting from MediaCodec into ResourceManager.
bug: 138381810
test:
1. test if app uses MediaCodec directly and it dies off, the video
off is received: launch GoogleCamera app, swipe to Video tab,
"dumpsys batterystats --history" and see +video; now adb shell
kill GoogleCamera, dumpsys should show -video.
2. test app that uses MediaCodec through mediaserver: use Chrome
(which uses MediaPlayer) to play some website with video, kills
Chrome from adb shell, and check -video is received.
In anycase it shouldn't stuck in On state.
3. ResourceManagerService_test
Change-Id: I164b31681c4e72e8cce02342641dbec14b8df374
(cherry picked from commit 47db2ff19c)
MediaMuxer would find 'time-lapse-fps' value in input format from GCA
and pass it on to MPEG4Writer for SlowMotionRecord.
Bug: 138995916
Test: atest CtsMediaTestCases
atest CtsMediaTestCases:android.media.cts.MediaMuxerTest
Change-Id: I6af102540ddd439b203351ebba07eabf89f2d330
This reverts commit 10ceef9f3b.
Reason for revert: This isn't wanted in qt-dev. It is in qt-r1-dev and will be delivered in the December Mainline train.
Bug: 137245963
Change-Id: I0a5a4991786d6dcbd324663a6d342729166a5528
Merged-In: I567890f3d04544c12adfe29a6a23c06f1db699e7
The file name and path of the media profiles can be changed by
media.settings.xml property. So befor test, we should check
media.settings.xml property.
Bug: 138413934
Test: vts-tradefed run vts -m VtsValidateMediaProfiles
Change-Id: Ib7070cca94b9d637b9a1a175d09baf7b78ec0fd9
Merged-In: Ib7070cca94b9d637b9a1a175d09baf7b78ec0fd9
(cherry picked from commit ef8695ed84)
Return cloned handle as output parameter in order to use it after
closing the bufferpool connection.
Bug: 138171841
Test: atest CtsMediaTestCases -- --module-arg CtsMediaTestCases:size:small
Merged-In: I4ac142fcb7e3ecdb3fb02792f516b343d71bfc38
Change-Id: I4ac142fcb7e3ecdb3fb02792f516b343d71bfc38
(cherry picked from commit dc5cb62ff4)