am skip reason: Change-Id Iebcd89bfa38de3c10b79f878462ba2af347ad332 with SHA-1 3c713796c2 is in history
Change-Id: I56a86388d733c6623f0da048f66a091248aa9e98
This avoids unnecessary copying of camera metadata which can get
expensive in cases of large camera metadata blobs.
Bug: 71727540
Test: GCA (sanity)
Test: Add CallStack::logStack() in CameraMetadata's move asignment
operator -> see that it gets called for every insertResultLocked.
Change-Id: I6c75c7ce5267126916c865b028e5f7c7f50b763b
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
am skip reason: Change-Id Iebcd89bfa38de3c10b79f878462ba2af347ad332 with SHA-1 0c16dbe690 is in history
Change-Id: I71d7483845ce91fabe8ba10934a25b6a676f16ec
* changes:
AAC decoder: support album mode
AAC decoder: implement support for output loudness query
AAC decoder: fix boost/attenuation defaults, loudness norm off
AAC decoder: enable set/get of DRC parameters during decoding
am skip reason: Change-Id Iebcd89bfa38de3c10b79f878462ba2af347ad332 with SHA-1 0c16dbe690 is in history
Change-Id: Ibb450d7e5a63d907ff28fdeb26a4c97687e741a9
The dst frame is allocated according to the actual crop size.
When top-left is non-zero, the convert needs to use the dst
rect with top-left adjusted to {0, 0}.
bug: 149667324
test: vendor testing on devices that uses non-zero top-left crop;
CTS MediaMetadataRetrieverTest.
Change-Id: I98ea2e398cf6bb17a6e76116caa145e9be5a110e
For MPEG-D DRC the default value of the boost and attenuation
factors is 127. For MPEG-4 DRC the default value is 0. In the
current DRC presentation mode wrapper, setting boost or attenuation
factor to 0 doesn't work for MPEG-DRC, use value -1 instead.
Fix Target Reference Level set to -1 as a valid value for disabling
loudness normalization.
Bug: 148385721
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I33479072c508b5700c0b35f389802dc17b2b4536
Usage mapper will be retrieved from the preferred service if system
properties for mediaswcodec's ION usage are not set.
Test: Define system property "ro.com.android.media.swcodec.ion.heapmask"
and check the log during the startup of mediaswcodec.
Test: Manually log the mapper activity; test if gets invoked from
mediaswcodec and CCodec.
Test: atest CtsMediaTestCases -- \
--module-arg CtsMediaTestCases:size:small
Bug: 144995284
Change-Id: Iebcd89bfa38de3c10b79f878462ba2af347ad332
Merged-In: Iebcd89bfa38de3c10b79f878462ba2af347ad332
Aggregate DrmManager API invocation counts per plugin over at least
fixed period of time before sending metrics to mediametrics service.
The default period is 1 day; the period is configurable through the
property drmmanager.metrics.period.
Bug: 134789967
Test: dumpsys media.metrics
Change-Id: I2cf28f1dfaa485ca319360705b872eed995b3d7f
The access to call audio (record and play) will be granted only to the app associated with Dialer role, who also includes a new system permission.
Test: Compilation and manual tests
Bug: 135197853
Change-Id: I65ca823c235d4d3420630837427103783ad1d1b0
This code has null checks with intervening unconditional dereferences of
the potentially-null variable.
It's not clear that `mOutput` can ever be null to begin with. If it can
be, we have a few dereferences to guard. :)
Caught by the static analyzer:
frameworks/av/services/audioflinger/Threads.cpp:2671:19: warning: Called
C++ object pointer is null [clang-analyzer-core.CallAndMessage]
frameworks/av/services/audioflinger/Threads.cpp:2852:9: warning: Called
C++ object pointer is null [clang-analyzer-core.CallAndMessage]
Bug: None
Test: TreeHugger
Change-Id: I456581204718390088998a1fe2514dff63f6578f
The logic in IOProfile::devicesSupportEncodedFormats()
was only checking if the first device in the list of supported devices
was supporting currently selected A2DP encoding format.
But if more than one devices match the queried types, we need to check
all devices in case one of them supports the selected encoding format.
Bug: 147789166
Test: repro steps in the bug.
Change-Id: I704c5c6278eed524f15e7b73cec68a24f04d3a8c
SharedRefBase now encapsulates heap allocation in order to guard against
some types of double-ownership.
Bug: 149249948
Test: TH
Change-Id: Ida943c895225331a853e4c8da54454d60b17000a
Add meteric to show the difference between drm
playback of protected vs unprotected content.
We log onQueueInputBuffer errors.
Bug: 138862395
Test: adb shell dumpsys media.metrics | grep -i InputBuffer
Change-Id: I26aae706267956b6f944955877347747e573e3c8
Methods like reconfigureCamera called by the RequestThread internally
call methods which might expect to have mInterfaceLock locked
(eg: configureStreamsLocked).
Also, function calls which expect to be serialized w.r.t
reconfigureCamera can cause reported camera status to be inconsistent
w.r.t the expected status.
For example the following situation might occur
through CameraTest.java#testVideoSnapshot :
For certain video sizes that would fail to configure the camera
startRecordingL
camera reconfiguration is triggered -> reconfigureCamera() starts
waitUntilDrained -> gets interleaved with reconfigureCamera()
reconfigureCamera() completes
Here the status of the camera device is active instead of CONFIGURED.
updateRecording
createStream() called expects the camera to not be in an ACTIVE
state since updateProcessorStream cannot handle stream
configuration failure gracefully when the device is streaming.
However since waitUntilDrained did not complete after
reconfigureCamera the camera status is STATUS_ACTIVE.
As a result, we should hold mInterfaceMutex while
calling these methods. To avoid deadlocks (b/143513518), we can have the thread
calling disconnect, relinquish mInterfaceMutex right before it starts
waiting on RequestThread to exit. It can re-acquire it when
RequestThread finishes.
Bug: 147313521
Test: atest CameraTest.java#testVideoSnapshot on pixel2 passes
Test: camera CTS
Test: GCA (sanity)
Change-Id: I384f62bc9936d9691dfe9c13ff743e3d07f2ed55
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
am skip reason: Change-Id Id67dc9e793ee886e4cc49370d800c7f3580df313 with SHA-1 9c930d0cac is in history
Change-Id: I9495b79433ed85e141d8b413c0c86aba66513550
am skip reason: Change-Id Icdfe5a823ba02eb7bd8c41f0fa503c9922d8f348 with SHA-1 ea51ad6e1d is in history
Change-Id: I4b1aaa3714d99c12739fba8076318b151b2e629c