The APIs that are tagged with # vndk are actually for LLNDK libraries.
Although LLNDK is part of VNDK, calling those APIs 'vndk' has given
users a wrong perception that the APIs don't need to be kept stable
because that's the norm for most of the VNDK libraries that are not
LLNDK.
In order to eliminate the misunderstanding, rename the tag to 'llndk' so
that people introducing new such API will realize what they are signing
themselves up for.
Exempt-From-Owner-Approval: cherry-pick from internal gerrit
Bug: 143765505
Test: m
Merged-In: I6b48cf2091def384780ca91c32a0ddb738e70455
(cherry picked from commit 2299310926)
Change-Id: I6b48cf2091def384780ca91c32a0ddb738e70455
CDD requires that the track is the same for compability track and the
actual Dolby Vision track, so we need to pass that back to the app.
Bug: 129367182
Test: CTS
Change-Id: Iab1ad3c4a593923ec6fc4231a4208806bf0159b7
Merged-In: Iab1ad3c4a593923ec6fc4231a4208806bf0159b7
Test: push V6 to device and check audio works fine
Kill the audioserver and check that the HAL restarts
Bug: 134940862
Change-Id: I3347ee3aabe753d34c69dacbd707c60105d80a47
Merged-In: I3347ee3aabe753d34c69dacbd707c60105d80a47
Signed-off-by: Kevin Rocard <krocard@google.com>
Test: push V6 to device and check audio works fine
Bug: 134940862
Change-Id: Ied5aeccdf8f1e9a085ed9cac9d696271b7a1bb63
Merged-In: Ied5aeccdf8f1e9a085ed9cac9d696271b7a1bb63
Signed-off-by: Kevin Rocard <krocard@google.com>
Bug: 134940862
Test: run on target
Change-Id: Ia884d0e926569d983ba12952817d2cecc8d8d34f
Merged-In: Ia884d0e926569d983ba12952817d2cecc8d8d34f
Signed-off-by: Kevin Rocard <krocard@google.com>
When parsing the DESCRIBE response of an RTSP server, the end of the
URI is one character too long. This causes an additional space to be
copied into the authorization header, which some servers reject.
Example:
* DESCRIBE rtsp://10.0.0.1:1234/Streaming/Channels/202 RTSP/1.0
* Authorization: Digest nonce="[nonce]", username="[user]", uri="rtsp://10.0.0.1:1234/Streaming/Channels/202 ", response="[res]"
Change-Id: Idb4e201578a2a2a0e4c59abad609816641a4dd99
IEEE754 single precision cannot precisely represent
INT32_MAX/UINT_MAX/RAND_MAX.
IEEE754 double precision cannot precisely represent INT64_MAX.
As such, implicit conversions from operations with floating point and
integral operands may result in a loss of precision.
Accept the imprecision with by making the existing implicit casts
explicit.
Bug: 139945549
Test: mm
Merged-in: Ic66b3d3bbac9e644e27ad8233018f24dfce3209f
Change-Id: Ic5a40abbccb1bf4d78475a6f3d1d2835df603d0a
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
This removes libaudioeffect_jni's dependency on libmedia and removes
libmedia's dependency on libaudioutils.
Test: build
Change-Id: Iabd4835f2d09e403ebed8b8ba2e42ac1fa86b044
Merged-In: Iabd4835f2d09e403ebed8b8ba2e42ac1fa86b044
Visualizer gets stuck in mCaptureThread::requestExitAndWait due to a
deadlock between mCaptureThread::mRunning and mCaptureLock.
Temporarily release mCaptureLock upon mCaptureThread::requestExitAndWait.
Test: Clarity -> Response, rapidly toggle visualizer enable, disable
Bug: 135326776
authored-by: Weiyin Jiang <wjiang@codeaurora.org>
Change-Id: If32431c4d7b271b7ea61168cb1a5a42f3a1cd66e
C2SoftVpxEnc uses NV12 input data but format is specified as I420,
which causes the recorded video messy.
The fix is using mConversionBuffer as input, whose format is I420.
Bug: 139906732
Test:
Change-Id: Ib94dd217a82b2bac57056cfc3af5344da78b47d7
This is based on the code from test-resampler.cpp. I simplify out some
bits and use the data from LibFuzzer as the input audio.
Test: ran fuzzer locally on-device
Change-Id: I1ed732698feccd4a644a1a8eea4e3862a025e11a
* changes:
camera2ndk: ~ACameraCaptureSession shouldn't hold device lock in ACameraDevice_close().
AImage: don't allow ~AImageReader to run before AImages are deleted.
AImageReader: make sure ~AImageReader isn't called with FrameListener::mLock held.
AImageReaderVendorTest: Tolerate failures for ACameraDevice_isSessionConfigurationSupported.
AudioPlayer was only used by the commandline utilities, so move it
out of libstagefright.
Test: build, run
Change-Id: I561cccd323206de7415bd235b72711194080aaea
JetPlayer.cpp was only used by the JetPlayer JNI code, so move
it to the same library.
Test: atest JetPlayerTest
Change-Id: I14b8241c5eb6c789ebc5d6725db716b9b0f8f31f
Merged-In: I14b8241c5eb6c789ebc5d6725db716b9b0f8f31f
`readBuffer` might not set `nextSubTimeUs`. It's not clear that
`mMediaClock->addTimer(msg, nextSubTimeUs);` is only called in cases
where `nextSubTimeUs` is set, so initialize it to 0 here.
This is consistent with what's done in `fetchTextData`.
Caught by the static analyzer:
frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.cpp:799:9:
warning: 2nd function call argument is an uninitialized value
[clang-analyzer-core.CallAndMessage]
Bug: None
Test: TreeHugger
Change-Id: Iae6f9d71757c1bcc6e994a448b6169b4d69c4a38
Removing it doesn't have any effect on binary size, but makes it easier
to track dependencies.
Test: build
Change-Id: I0a792e48e781a73b920cb68c0daaa7920f08b8bf
Name changes:
ClearFileSource -> FileSource
ClearMediaHTTP -> MediaHTTP
FileSource -> PlayerServiceFileSource
MediaHTTP -> PlayerServiceMediaHTTP
PlayerServiceXXX are able to handle OMA(forward-lock) files and now
moved to media/libmediaplayerservice/datasource since they only work
on mediaserver process.
Bug: 142567168
Test: build and DrmTest
Change-Id: I9292dba33d149efe17cf566017dcce1710cc8c88
MidiIoWrapper's DataSourceUnwrapper doesn't need to inherit from
DataSourceBase, and removing that inheritance saves a little bit
of space too.
Test: build
Change-Id: I9f560ef57b76b624cf323d75872395a39f65ed1f
This is preparation for having a subclass of DataSourceFactory which
is only used in mediaserver process with OMA (forward-lock) use case.
Test: build
Bug: 142567168
Change-Id: I2a1ab3d1ae89f657a84376d9a95d4e814b545b4f
into libdatasource, which contains:
DataSourceFactory
(Clear)FileSource
(Clear)MediaHTTP
DataURISource
HTTPBase
NuCachedSource2
This is needed to break a circular dependency in an upcoming CL.
Test: build, boot
Change-Id: I34d9937235c78f18f51b18945342a0743e209577
Merged-In: I34d9937235c78f18f51b18945342a0743e209577
Some lib*extractors include DataSourceBase.h but are not
linking libstagefright which has the implementation.
This doesn't cause any build issue in normal build, but
it actually matters when NATIVE_COVERAGE=true which uses -O0.
Fixing by moving the implementation to the header.
Bug: 139459652
Test: m
Test: NATIVE_COVERAGE=true COVERAGE_PATHS="*" m
Change-Id: Ic955189ff9f0fbc48b5b35eccdb2916dc79fdb0f
Merged-In: Ic955189ff9f0fbc48b5b35eccdb2916dc79fdb0f
C2BufferData#linearBlocks() returns a std::vector. Chaining method calls
results in an immediate dereference of a dangling pointer. Save a
reference to the otherwise temporary for the duration of the function
call.
Bug: 139945549
Test: mm
Change-Id: I99d662a8fe5deec652cdcd82f420c836c76d5539
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
We can never be sure whether ~AImageReader() has run to completion or
not in AImage::close(). So we move clean up to another AImageReader
method and make sure that's called when in AImageReader_delete. AImage
now contains an sp<> to AImageReader so we can be sure that its members
wouldn't have been destroyed by ~AImageReader and we can check whether
AImageReader_delete has been called on it.
This also prevents us from deadlocking since AImage_delete could also cause
~AImageReader to run with AImageReader::mLock held in AImage::close().
Bug: 137571625
Bug: 137694217
Test: enroll; auth
Test: cts native AImageReader, camera, graphics tests
Merged-In: If5803cb6fcb6f4800032069872daaeac1cd36ed2
Change-Id: If5803cb6fcb6f4800032069872daaeac1cd36ed2
(cherry picked from commit 9e0302fcc1)
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
The following sequence of events is possible:
t1: FrameListener::onFrameAvailable callback is called, mReader is
promoted from wp<> to sp<>, t1 holds mLock.
t2: AImageReader_delete is called, decStrong is called on AImageReader,
but since its refcount isn't 0, ~AImageReader isn't called
t1: onFrameAvailable completes, ~AImageReader is called with mLock
held, ~AImageReader->
setImageListenerLocked->FrameListener::setImageListener->tries
to lock mLock again, t1 deadlocks.
We move the locking mLock to after the promotion of mReader to sp<> so
that it gets destructed before ~AImageReader is called.
The same is done for BufferRemovedListener.
Bug: 136193631
Test: Auth; unlock
Merged-In: I8bb8c7d59f3711fd9fe434159095938eb5db9153
Change-Id: I8bb8c7d59f3711fd9fe434159095938eb5db9153
(cherry picked from commit ebca5b9862)
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
* changes:
Use PassthruPatchRecord for DIRECT to DIRECT connections
Add PassthruPatchRecord for low latency software patches
Abstract access to HAL stream via Source in RecordThread
Move PlaybackThread::Track::writeFrames to PatchRecord
audioflinger: Add tracing of buffer frames to PatchTrack/Record
libaudioprocessing: Extract vendor-available part of AudioMixer
AudioMixer: Cleanups
libaudioprocessing: Trivial dependency cleanups
Split AudioMixer into the base part which doesn't rely on
the framework and can be used in vendor code and the derived part
which is intended to be used by Audioflinger.
Test: A/B compare output from test scripts, manual testing on the phone
Merged-In: I24c390f67f20baa8109902099359ca6e34eebcfd
Change-Id: I24c390f67f20baa8109902099359ca6e34eebcfd
- Remove unused dependencies on libnbaio and libnblog;
- Move dependencies on libaudiohal and libsonic to libaudioprocessing
as AudioMixer implementation does not use them.
Test: make
Merged-In: I258a450725bdacb4fcf437b6f86582d51d40e622
Change-Id: I258a450725bdacb4fcf437b6f86582d51d40e622
Since AudioParameter.h is vendor-available, some vendors may
still use the old parameters. Leave the old parameters there
but mark as deprecated.
Bug: 138868195
Test: make
Change-Id: I6d12b7ac360309014a240a321c3cd32b39d8f740
Merged-In: I6d12b7ac360309014a240a321c3cd32b39d8f740
During the transition to Treble, "device connect" / "disconnect"
parameter was erroneously attributed to audio streams. This
issue got fixed in Audio HAL V4.0, but AudioParameter file
was still using incorrect name for the constant.
Test: make
Change-Id: I4056ad9e98af6dadd017d22bc4bde031cac75631
Merged-In: I4056ad9e98af6dadd017d22bc4bde031cac75631
This is obviously a typo.
Found by Clang tautological-constant-out-of-range-compare warning.
Test: presubmit
Bug: 72331526
Change-Id: I2cb217282c524bb9fbae899fa5a731b7575e393a