In the MediaEvent of AV filters, the AV memory handle is mapped/unmapped on each event.
If the vendor allocates a persistent memory block, and use MediaEvent.offset to access the data,
the mapping change is unnecessary.
To improve this, a new API to get shared AV Memory is introduced.
To pass additional information to Codec2 for AV memory,
the index for Codec2 to setup additional information can be carried in the handle.
Test: atest VtsHalTvTunerV1_1TargetTest
Bug: 162013047
Bug: 157143515
Bug: 156664393
Change-Id: Ibd4471ff8e19b0a99b8bcbc982dc08dbcc92efcf
Add the cid configuration API in IFilter and some related
enums
Test: atest VtsHalTvTunerV1_1TargetTest
Bug: 153595125
Change-Id: I6e43c0f71466192f9fa69c76f9c635ecefe99d5e
This reverts commit 80cb96048b.
Reason for revert: This change is not specifically requested by vendors
Might be unnecessary
Test: make -j44, atest VtsHalTvTunerV1_1TargetTest
Bug: 159058358
Change-Id: I305c17b4778608a59d04d93030f4ec19fa1b7137
This API is mostly for restoring the by-pass mode
Frontend and Cicam connection
Test: make
Bug: 158818696
Change-Id: I62ba19a1c6c531769db6286d3bcd41ab1529bb99
The new FrontendSettingsExt includes more options to configure the
tune and scan action on the IFrontend interface.
This new struct will be used as a parameter in the tune_1_1 and
scan_1_1 APIs of the 1.1 IFrontend.
Test: atest VtsHalTvTunerV1_1TargetTest
Bug: 158818695
Change-Id: Ibe38a0be76969d23255574357d7494188182f467
Previously we added the PTS and the mpuSequenceNumber separately into
the tsRecord and the mmtpRecord filter event data structure.
Now there is a better way that we merge all the new fields into one
new struct to pass as a callback parameter.
With this approach, we can minimize the change in both Tuner JNI and
Tuner HAL implementation side to reuse the 1.0 structure and
implementation.
Test: atest VtsHalTvTunerV1_1TargetTest
Bug: 158816517
Change-Id: Ic4f1dc78f76fb52ee0bc6b90d2d297026a788711
The current implementation does not clear the previous memcopy before
copying the next round of data into the buffer. This CL fixes the issue.
Test: atest VtsHalTvTunerV1_0TargetTest
Bug: 159027928
Change-Id: I3399c69ead046630d9c22e8fbe1e816f6ea529f9
parameterized tests
The previous fix in the ag/12249074 added the allowlist funtion
under the .cpp file. But they should be under the .h file where all
the test suite classes are defined.
Test: atest VtsHalTvTunerV1_0TargetTest
Bug: 161805444
Change-Id: I4ad7270c75ec6b30db82b0b120f21e3759ed7b93
Add a 64-bit Constant enum for INVALID 64-bit
filter id and hw av sync id
Test: make -j44 dist
Bug: 158816517
Change-Id: I27911841a719c69e668c89a4bca3ac0ce8eb701f
This reverts commit f0dfc4d624.
Reason for revert: To fix the test breakage in the rvc-dev-plus-aosp branch
Change-Id: Ibeb73be943c74891f8ff5acec1ea120c1b820027
The previous impl keeps the demux and frontend mapping in the
Tuner implementation even the instance has been closed.
Clean up the mapping and the local vectors in the Tuner impl
when Demux or Frontend is closed.
Test: atest VtsHalTvTunerV1_0TargetTest
Bug: 150952766
Change-Id: I2038e902ba7ab323c6dacc886ac6984ee7c475aa
For the APIs that have both 1.0 and 1.1 versions, the VTS 1.1
only tests the 1.1 version of them.
For example for getId in IFilter 1.0 and getId_64bit in IFilter 1.1,
the 1.1 VTS only tests the getId_64bit.
Test: atest VtsHalTvTunerV1_1TargetTest
Bug: b/159058358
Change-Id: Ibef0ef40c3d1fbb9ff034bfcabeb44663a444d23
This CL enables the android.hardware.tv.tuner@1.1-service
with the default implementation of Tuner HAL 1.1
The 1.0 Tuner HAL interface implementation are identical to the 1.0
default implementation.
The 1.1 new API implementation are added with *_1_1 suffix.
Note that we cast all the uint32_t id in the 1.0 Hal implementation
into uint64_t even calling the old 1.0 APIs. This makes sure
the 1.1 default implementation internally only record 64-bit ids.
Test: atest VtsHalTvTunerV1_1TargetTest
Bug: b/159058358
Change-Id: Ic506376e520f03235010bc503e337c02d5735ec3
The first feature to support in this new Tuner HAL is the 64-bit id.
In the current CL, we support Demux and Filter ids in 64-bit format.
More component ids will be suppored in 64-bit in the following CLs.
Test: atest VtsHalTvTunerV1_1TargetTest
Bug: b/159058358
Change-Id: If05eb9f0cd76935064b2e51ff3ff1a3a477e3bd1
parameterized tests.
This test can be disabled on the phone target once there is
a cuttlefish tv target enabled to run the test continuously.
The test will be removed from the exception list afterwards.
Test: make VtsHalTvTunerV1_0TargetTest
Bug: 161805444
Change-Id: I7a2ad0e8a43c6262628354be316c530ab00ac520
Merged-In: I7a2ad0e8a43c6262628354be316c530ab00ac520
parameterized tests.
This test can be disabled on the phone target once there is
a cuttlefish tv target enabled to run the test continuously.
The test will be removed from the exception list afterwards.
Test: make VtsHalTvTunerV1_0TargetTest
Bug: 161805444
Change-Id: I7a2ad0e8a43c6262628354be316c530ab00ac520
The previous implementation did not check some of the
Descrambler API test results to stop the test.
And the test itself was also implemented in a wrong way.
Test: atest VtsHalTvTunerV1_0TargetTest
Bug: 150987138
Change-Id: Ie26db0ec1b231062d0314631eebec319382da1bc
(cherry picked from commit 6d774c89a1)
The previous implementation did not check some of the
Descrambler API test results to stop the test.
And the test itself was also implemented in a wrong way.
Test: atest VtsHalTvTunerV1_0TargetTest
Bug: 150987138
Change-Id: Ie26db0ec1b231062d0314631eebec319382da1bc
HIDL libs are not necessarily part of VNDK now. Because some are
used by VNDK libs, they are still VNDK. But rest are now just
vendor-available.
.hidl_for_test files are also removed because they are used to exclude
test-purpose hidl libs from VNDK libs.
Instead, .hidl_for_system_ext files are added to tests/lazy to
distinguish them from others which are installed /system.
Bug: 143933769
Test: update-makefiles.sh && m com.android.vndk.current
Merged-In: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
Change-Id: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
(cherry picked from commit b0907a6bb8)
HIDL libs are not necessarily part of VNDK now. Because some are
used by VNDK libs, they are still VNDK. But rest are now just
vendor-available.
.hidl_for_test files are also removed because they are used to exclude
test-purpose hidl libs from VNDK libs.
Instead, .hidl_for_system_ext files are added to tests/lazy to
distinguish them from others which are installed /system.
Bug: 143933769
Test: update-makefiles.sh && m com.android.vndk.current
Change-Id: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
This CL also provides a new VTS case to test ES input stream.
Please see the test.es https://drive.google.com/file/d/13ZDT9uhEO1LXDT2GcOhB91iIK6m_KEER/view?usp=sharing
ES Format(all the numbers are in decimal):
1. First line is a general meta data to describe the whole file
m:meta data size in bytes, l:ES frame line count X, V:video raw data size
int bytes, A:audio raw data size in bytes, pv:video pid, pa:audio pid
2. The following X lines(equals to the ES frame line count) are the size/pts information
of the video or audio ES frames. Starting with v means video, a means
audio. They are printed in the same order as how they presented in the
original ts.
v, Len:current ES frame size in bytes, PTS: current ES frame PTS
3. After the X lines of ES frame descriptions, there are the video ES raw
data connected with the audio ES raw data.
Test: atest VtsHalTvTunerV1_0TargetTest
Bug: 159027928
Change-Id: I56bd799fd6eda867df54d593235510a5e4758257