Commit Graph

52 Commits

Author SHA1 Message Date
Ray Chin
8ef6a81771 Blind scan should be an optional feature based on the design document am: 58be11ecc4
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2890674

Change-Id: I99083d453ebc4e41b46f40abbbf883f254312f3a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-26 07:27:41 +00:00
Ray Chin
58be11ecc4 Blind scan should be an optional feature based on the design document
Bug: 317215552
Bug: 305118733
Test: cf_x86_tv-staging-userdebug
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:740a0a8c5ebd0218139aded763fb3204886c2dd0)
Merged-In: Id0153700cfa2c02933c23e13ca1305b0a96b00ca
Change-Id: Id0153700cfa2c02933c23e13ca1305b0a96b00ca

NOTE FOR REVIEWERS - errors occurred while applying the patch.
PLEASE REVIEW CAREFULLY.
Errors:
Error applying patch in tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp, hunk HunkHeader[1258,6->1262,10]: Hunk cannot be applied

Original patch:
 From 740a0a8c5e Mon Sep 17 00:00:00 2001
From: Ray Chin <raychin@google.com>
Date: Fri, 22 Dec 2023 19:10:46 +0800
Subject: [PATCH] Blind scan should be an optional feature based on the design document

Bug: 317215552
Bug: 305118733
Test: cf_x86_tv-staging-userdebug
Change-Id: Id0153700cfa2c02933c23e13ca1305b0a96b00ca
---
2023-12-26 10:28:05 +08:00
Treehugger Robot
48612c25b3 Merge "Merge OWNERS files for tv" into main am: 425d2071c9
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2746939

Change-Id: Ia0335803198967fac9decc06bb832584679d5394
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-11 17:20:20 +00:00
Devin Moore
db191ca6eb Merge OWNERS files for tv
Test: none
Bug: 296950573
Change-Id: If3d849c1c1a4a3c66edbd4c61a4f6ecf09159289
2023-09-08 23:09:37 +00:00
Treehugger Robot
95126a0a07 Merge "Add ATSC support in the vts" into android12-tests-dev am: 333df15518 am: 368ca264f2 am: fee45b6dbb am: 546704447e am: ab53b665ec
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2471289

Change-Id: I39cf0ba5c8005e98773bd47ac78a6f39ece1c297
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-15 02:18:56 +00:00
Treehugger Robot
fee45b6dbb Merge "Add ATSC support in the vts" into android12-tests-dev am: 333df15518 am: 368ca264f2
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2471289

Change-Id: I384cfc0e1dc70275f87e10997a29b14225690105
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-15 00:38:23 +00:00
Treehugger Robot
368ca264f2 Merge "Add ATSC support in the vts" into android12-tests-dev am: 333df15518
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2471289

Change-Id: If47be0aaa310c6e3bbcddeffcc1c2a201654a0f6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-15 00:01:42 +00:00
Wei
d4dcef21e7 Add ATSC support in the vts
ATSC configuration isn't supported in current config reader.
Add it in this CL.

Bug: 271933206
Test: manual

Change-Id: I7a1f5356c33d6576d6ae6c71fd4af171b5ad30ac
2023-03-14 19:51:22 +00:00
Frankie Lizcano
82101d2d5b Tuner HAL VTS: Testing LnbDescrambling
This CL implements integration tests for LnbDescrambling. The new
testing function ScrambledBroadcastTestWithLnb tests the functionality
of the Lnb and, if the frontend is not software, tests passing a signal
through the tuner and descrambling a broadcast.

Additionally, this CL adds a context variable to the
ScrambledBroadcastTest function to determine which dataflow
(LnbDescrambling or Descrambling) is being tested. It specializes
behavior differently for each datflow to model real world
use cases. Notably, a Descrambler could be tested with no frontend when
playing back a descrambled recording, whereas testing an Lnb broadcast
would require a hardware frontend.

Bug: b/240476983

Test: ts-tradefed run vts --module VtsHalTvTunerTargetTest
Change-Id: Ia35d2d45dca4411b0a15f0585d6ddaecd3f9321a
2022-08-11 18:00:27 +00:00
Frankie Lizcano
523e5455fd Tuner HAL VTS: Added LnbDescrambling
This CL implements a new dataflow: LnbDescrambling, which aims to test
descrambling a broadcast brought into the tuner with an Lnb attached.
The struct for the configuration and a function to read this dataflow
from the vendor's input file were added. Additionally, the api was
updated to allow the automatic xml parser to read this new dataflow.
Note, no tests were added for this object yet. Those come later in the
chain. The vendor, at this moment, can only harcode this dataflow. It
will be dynamically configurable later in the chain.

Bug: b/240476983

Test: ts-tradefed run vts --module VtsHalTvTunerTargetTest
Change-Id: I545be7d4b2bea0b80a67fd542a80bba7fa38c4ca
2022-08-11 17:59:48 +00:00
Frankie Lizcano
8b87f25f99 Improve Tuner VTS: Generate Live Combos
This CL allows the VTS to read a vendor's configuration file, determine
if the given devices could support the Live dataflow, and generate
all combinations of units to run them on corresponding integration tests.
Each combination is error checked to ensure they meet the minumum
requirements, and any invalid ones are discared, which may narrow the
combination space immensely.

This CL also adds logic to store IP and PCR filter IDs to include
using them in any configuration combinations. We also pair PCR filters
with audio and video filters if the vendor chooses to provide more than
1, enforcing the invariant that the number of pcr, audio, and video
filters must be equal.  If there is only 1 pcr filters, we default to
use that one.

Bug: b/182519645

Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest. Manual
tests with different input configuration files.

Change-Id: Icb2d96b32ed7a14b845c752a79744c44fdaf04e3
2022-08-09 23:53:26 +00:00
Frankie Lizcano
0c0695379d Improve Tuner VTS: Generate TimeFilter Combinations
This CL allows the VTS to read a vendor's configuration file, determine
if the given devices could support the TimeFilter dataflow, and generate
all combinations of units to run them on corresponding integration tests.
Additionally, the configuration file is checked to see if the vendors
provide the dataflow themselves. If not, the combinations are created.

Bug: b/182519645

Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest. Manual
tests with different input configuration files.

Change-Id: Icdbf8961e9dc06fd979be953027409a0a197cba4
2022-08-04 19:23:58 +00:00
Frankie Lizcano
81dcde82a8 Merge changes Ic1b9dae6,I470d5931,Ic6756e28,Iba526237,I8e8be258
* changes:
  Improve Tuner VTS: Generate Descrambling Combos
  Improve Tuner VTS: Generate LnbRecord Combos
  Improve Tuner VTS: Generate Scan Combos
  Improve Tuner VTS: Generate LnbLive Combos
  Improve Tuner VTS: Generate DVR Playback Combos
2022-07-25 23:50:44 +00:00
Frankie Lizcano
1c8ba7b8f3 Merge "Improve Tuner VTS: Add DVBS Settings" 2022-07-25 20:38:11 +00:00
Frankie Lizcano
42caff499e Improve Tuner VTS: Add DVBS Settings
This CL expands the settings and specs that can be added by vendors to
DVBS frontend types. It also updates the value expectations to model the
format present in the other types.

Bug: b/239968750

Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest
Change-Id: Ifd4a97ce71cfea11e4f5c1293a6342e337cb5699
2022-07-22 20:33:23 +00:00
Frankie Lizcano
d2c09c4703 Improve VTS: Allow Extra Filters for Live and Playback
This CL allows vendors to specify extra filters they would like to
include in the Live dataflow. Note, however, that these filters are not
included in any integration tests yet, as those will come later.

Additionally, this CL cleans up the code originally used to configure
extra filters for DVR playback. It converts the code and API strucutre
to a uniform format consistent with that of other dataflows that allow
extra filters.

Bug: b/239751563

Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest
Change-Id: I662814666873254eff84791b5057da1f44f5e73e
2022-07-21 00:02:35 +00:00
Frankie Lizcano
f4e0796ef3 Improve Tuner VTS: Generate Descrambling Combos
This CL allows the VTS to read a vendor's configuration file, determine
if the given devices could support the Descrambling dataflow, and generate
all combinations of units to run them on corresponding integration tests.
Each combination is error checked to ensure they meet the minumum
requirements, and any invalid ones are discared, which may narrow the
combination space immensely.

Bug: b/182519645

Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest. Manual
tests with different input configuration files.

Change-Id: Ic1b9dae6b43f8f01bc4e490ef9e910a933562bd2
2022-07-19 20:35:09 +00:00
Frankie Lizcano
1e283b3864 Improve Tuner VTS: Generate LnbLive Combos
This CL allows the VTS to read a vendor's configuration file, determine
if the given devices could support the Lnb Live dataflow, and generate
all combinations of units to run them on corresponding integration tests.

Bug: b/182519645

Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest. Manual
tests with different input configuration files.

Change-Id: Iba5262375b3053e0093f91fd3b05a9ebd42ca7d0
2022-07-19 20:31:50 +00:00
Frankie Lizcano
a53f554ca8 Improve Tuner VTS: Generate DVR Playback Combos
This CL allows the VTS to read a vendor's configuration file, determine
if the given devices could support the playback dataflow, and generate
all combinations of units (dvr, audio filter, video filter, section
filters) to run them on corresponding integration tests.

Additionally, began storing section filter id's and eliminated the check
to see if they were stored already by utilizing the TearDown() function
between integration tests.

Bug: b/182519645

Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest. Manual
tests with different input configuration files.

Change-Id: I8e8be258dce9927e755f9c8bdb41441f367a196b
2022-07-19 20:31:22 +00:00
Frankie Lizcano
5b29f50944 Improve Tuner VTS Configuration: Dynamically determine possible
dataflows

This CL allows the VTS to read the contents of vendors'
configuration files and determine which dataflows can be tested
depending on the devices provided. This only implements the logic of
determining which data flows are possible. Currently, the data flow
section of the configuration file is still being read, and
configurations are not being cycled yet. Additionally, TearDown() was
overidden for each testing class.

Bug: b/182519645

Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest
Change-Id: Ib3b3c4de62e6556ef44b42e855a369a5015d66ff
2022-07-18 14:57:21 +00:00
Frankie Lizcano
7fa68f5141 Merge changes Ie7733750,I4f733091,Iaa216876
* changes:
  Improve Tuner VTS Configuration
  Improve Tuner VTS Configuration: Enable Lnb, LnbRecord, and LnbLive configuration
  Improve Tuner VTS Configuration: Enable Descrambling
2022-07-02 00:06:38 +00:00
Frankie Lizcano
5046193cd3 Improve Tuner VTS Configuration
This CL allows vendors to configure the DVR Playback data flow in their
configuration files for the Tuner Hardware. Their connections were
checked to ensure their validity. Additionally, vendors can now give an
extra list of optional filters that can be utilized in the DVR Playback data flow.

Bug: b/182519645

Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest
Change-Id: Ie77337508444672e327ac88a91e73c96bd80fb22
2022-07-01 21:35:16 +00:00
Frankie Lizcano
647d5aa84c Improve Tuner VTS Configuration: Enable Lnb, LnbRecord, and
LnbLive configuration

This CL allows vendors to configure Lnb's in their configuration
files. Also, support for the LnbRecord and LnbLive data flows was
implemented. Their connections were checked to ensure their validity.
Additionally, the option to configure extra filters for each was added.

Bug: b/182519645

Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest
Change-Id: I4f733091beb70e7f5658fb5572064f4628bbbfc3
2022-07-01 21:29:33 +00:00
Frankie Lizcano
f535212b77 Improve Tuner VTS Configuration: Enable Descrambling
This CL allows vendors to configure the Descrambling data flow in their
configuration files for the Tuner Hardware. Their connections were
checked to ensure their validity. Additionally, vendors can now give an
extra list of optional filters that can be utilized in the data flow.

Bug: b/182519645

Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest
Change-Id: Iaa216876307571afa3ae6baf4624d0da14657439
2022-07-01 21:26:12 +00:00
Frankie Lizcano
7fc81c5c2c Merge "vts: Added support for ISDBT Frontend types" 2022-07-01 20:36:17 +00:00
Frankie Lizcano
c2d5b00d71 Merge "Improve Tuner VTS Configuration: Enable TimeFilter Configuration" 2022-07-01 16:01:58 +00:00
Frankie Lizcano
1fd5297019 Improve Tuner VTS Configuration: Enable TimeFilter Configuration
This CL allows vendors to configure the Time Filter data flow and
hardware unit in their configuration files for the Tuner Hardware. Their connections were
checked to ensure their validity.

Bug: b/182519645

Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest
Change-Id: I5a458e3db626aa647c1a5e30b12d02df07631d66
2022-06-30 21:08:07 +00:00
Frankie Lizcano
01dca3d64c Fixing code style for changes added to expand Tuner HAL VTS Dyanmic Configuration
Bug: b/237319139

Test: Ran locally and confirmed changes

Change-Id: I37fee9a84a7885501912e151b7feeb4fe273a14f
2022-06-29 18:24:57 +00:00
Frankie Lizcano
aee8c9e2f9 vts: Added support for ISDBT Frontend types
The latest version of the dynamic VTS for Tuner HALs did not support the
configuration of ISDBT Frontend types. Logic was added to allow this
feature. Editing the tuner_testing_dynamic_configuration file directly
changes the api outlined in api/current.txt to support reading the newly
added features from the vendor's configuration file.

Bug: b/237112300

Test: manual - Ran local tests that ensured the ATSC frontend was being
configured correctly. Also ran the VTS module to ensure no failures were
occuring.

Change-Id: Ic18a116f15c79b30c7ecf827f5f7a1e453c20236
2022-06-29 15:23:24 +00:00
Frankie Lizcano
452b026fb5 vts: Added support for ISDBS Frontend types
The latest version of the dynamic VTS for Tuner HALs did not support the
configuration of ISDBS Frontend types. Logic was added to allow this
feature.

Bug: b/237319139

Test: manual - Ran local tests that ensured the ATSC frontend was being
configured correctly. Also ran the VTS module to ensure no failures were
occuring.

Change-Id: I7d7fe5ce153a582a65fa9d1347e18f7689e0bcfb
2022-06-28 01:25:58 +00:00
Frankie Lizcano
3ad735d324 vts: Added support for ATSC Frontend types
The latest version of the dynamic VTS for Tuner HALs did not support the
configuration of ATSC Frontend types. Logic was added to allow this
feature. Editing the tuner_testing_dynamic_configuration file directly
changes the api outlined in api/current.txt to support reading the newly
added features from the vendor's configuration file.

Bug: b/237100858

Test: manual - Ran local tests that ensured the ATSC frontend was being
configured correctly. Also ran the VTS module to ensure no failures were
occuring.

Change-Id: I6a3221bd69eab000a9ea3de9e7c084bbee0e1451
2022-06-27 21:51:57 +00:00
Gareth Fenn
9a8084505e Fix support for platforms without Frontends
Fix: 227741234
Test: atest VtsHalTvTunerTargetTest
Change-Id: Ic3d74be776bbdb377541ea24fb890152ad632508
2022-04-04 13:57:09 -07:00
Hongguang
e106f475b6 Add API to filter out unnecessary PIDs from frontend output.
Bug: 213287138
Test: atest VtsHalTvTunerTargetTest
Change-Id: I075d68d722b2804f54d57a1ac9c350e2a9724ae3
2022-01-11 12:16:13 -08:00
Hongguang
494ba666ac Add CRC32 checking hint.
Bug: 172985025
Test: atest VtsHalTvTunerTargetTest
Change-Id: Ie26cfee7ba0254fe20e485cd173e65d391f7a254
2022-01-10 11:24:51 -08:00
Patrick Rohr
1586d21f64 Add VTS for FilterDelayHint
The VTS can be configured by adding timeDelayInMs and dataDelayInBytes
attributes to the VTS configuration's filter tags (as long as the filter
is not a media filter (media filters do not support FilterDelayHints)).

In order to circumvent a FilterDelayHint race condition around
configuring the hint (where the internal condition variable is notified
when the delay hint changes. If the scheduler thread has not been
scheduled to run before adjusting the delay hint, and callbacks are
added right after, they are always sent out immediately (as the cv predicate
still returns true when it is first evaluated after adjusting the delay)).

Test: atest VtsHalTvTunerTargetTest
Test: atest android.media.tv.tuner.cts
Bug: 183057734
CTS-Coverage-Bug: 209593343
Change-Id: I1b0893afce262b18ee385ec0f384e6ceebf58c7d
2021-12-08 14:16:10 +01:00
Hongguang
16dacc10b6 Add some new features to tuner AIDL HAL.
*) Allow section filter version to be optional.
*) Add separate DemuxScAvcIndex for the AVC.
*) Support for secure MediaFilter buffer configuration.
*) Remove duplicated UNDEFINED and NONE from DemuxRecordScIndexType.

Bug: 191825295
Bug: 204807405
Bug: 204178547
Test: atest VtsHalTvTunerTargetTest
Test: atest android.media.tv.tuner.cts
Change-Id: I34af9483b3496099a159ae22360415740dd792c1
2021-11-18 20:37:05 -08:00
Gareth Fenn
53ae3838d5 Fix TunerHAL deadlock issue
testRecordOutput() holds msgLock preventing record thread from progressing
  Calls to stopRecordThread() block forever
  Therefore remove the calls to stopRecordThread()
Fix mDataOutputBuffer copy size
Fix getCiCamInfo config

Bug: 201556155
Test: VtsHalTvTunerV1_{0,1}TargetTest on BCM device
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
Change-Id: I7faeed032281b58fdc3361f297cb541491c4049d
2021-10-19 12:37:43 -07:00
Gareth Fenn
282fb370ab TunerHAL fixes
TunerHAL expects Hz
Fix stopRecordThread race
Push segment000000.ts to device
getFrontendIdByType() should return INVALID_ID when no FE found

Bug: 201556155
Test: VtsHalTvTunerV1_{0,1}TargetTest on BCM device
Change-Id: Idab6817e47f3e10f07a36a8b2fd805336b9f0e5d
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
2021-10-19 12:34:22 -07:00
Gareth Fenn
24ce172863 Fix TunerHAL deadlock issue
testRecordOutput() holds msgLock preventing record thread from progressing
  Calls to stopRecordThread() block forever
  Therefore remove the calls to stopRecordThread()
Fix mDataOutputBuffer copy size
Fix getCiCamInfo config

Bug: 201556155
Test: VtsHalTvTunerV1_{0,1}TargetTest on BCM device
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
Change-Id: I7faeed032281b58fdc3361f297cb541491c4049d
2021-10-18 07:22:58 -07:00
Gareth Fenn
b629a5d0ac TunerHAL fixes
TunerHAL expects Hz
Fix stopRecordThread race
Push segment000000.ts to device
getFrontendIdByType() should return INVALID_ID when no FE found

Bug: 201556155
Test: VtsHalTvTunerV1_{0,1}TargetTest on BCM device
Change-Id: Idab6817e47f3e10f07a36a8b2fd805336b9f0e5d
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
2021-10-14 06:29:34 -07:00
Hongguang
11da2cb5f7 Adjust tuner default implementation and VTS types size.
Bug: 195693712
Test: atest VtsHalTvTunerTargetTest
Test: atest android.media.tv.tuner.cts
Change-Id: Ie9d20c74b05ecc10333ca883fe38d26d78f33949
2021-08-16 17:33:24 -07:00
Hongguang
ce1e30d578 Update tuner default implementation and VTS.
*) DemuxFilterTypeDemuxFilterSubType -> DemuxFilterSubType.

Bug: 191825295
Test: make and run VtsHalTvTunerTargetTest
Change-Id: I9069ff91d35b58ee1db4297f888ef241cdfbc135
2021-08-03 08:57:32 -07:00
Hongguang
600a6ae738 Add Tuner AIDL HAL VTS test cases
Bug: 191825295
Test: make and run VtsHalTvTunerTargetTest
Change-Id: Id7360e1b2da148db5c13ed2bdf3c866cc53db17b
2021-07-23 13:54:15 -07:00
Henry Fang
0d591fd0a4 Add more configure items for DVBT
bug: 182519645

Test: atest VtsHalTvTunerV1_0TargetTest
Change-Id: I58bd8b941f6340d9e69153702b5269cc35c646da
2021-05-14 01:50:18 +00:00
Henry Fang
3e1a1d32f5 Fix bug for none fe test case
bug: 182519645
Test: atest VtsHalTvTunerV1_0TargetTest
Change-Id: I86458142ba4155274594a793eb939567bea24734
2021-05-04 13:54:47 -07:00
Amy Zhang
160a72c9e2 Allow users to switch between FE source and DVR source when testing
record/descrambling/broadcast

Test: atest VtsHalTvTunerV1_0TargetTest
Test: atest VtsHalTvTunerV1_1TargetTest
Bug: 182519645
CTS-Coverage-Bug: 184077478
Change-Id: I6c57657ac3539d6a6fb3f63d2ecc9af7f6b9e2dc
2021-04-26 21:51:17 -07:00
Amy Zhang
06fa69e246 Extend 1.0 dynamic config reader to read 1.1 Tuner HAL types
Test: atest VtsHalTvTunerV1_1TargetTest
Test: atest VtsHalTvTunerV1_0TargetTest
Bug: 182519645
CTS-Coverage-Bug: 184077478
Change-Id: I0438fff48a6a763b88ed20e34d8ace66a6211302
2021-04-09 19:35:22 -07:00
Amy Zhang
32b6f9eaf0 Add descrambler dynamic configuration into Tuner 1.0 VTS
Test: atest VtsHalTvTunerV1_0TargetTest
Bug: 182519645
CTS-Coverage-Bug: 184077478
Change-Id: I2ab16fa9645dba07f8969e3cd7a26cf3b9bcb527
2021-04-08 11:51:20 -07:00
Amy Zhang
c0e9a11256 Add lnb/timeFilter dynamic configuration into Tuner 1.0 VTS
Test: atest VtsHalTvTunerV1_0TargetTest
Bug: 182519645
CTS-Coverage-Bug: 184077478
Change-Id: I75d7fb53054120c6ef5ce36a0bea1e4e334183c7
2021-04-08 11:51:07 -07:00
Amy Zhang
2ea2fe2e5b Add filter dynamic configuration into Tuner 1.0 VTS
Test: atest VtsHalTvTunerV1_0TargetTest
Bug: 182519645
CTS-Coverage-Bug: 184077478
Change-Id: I26da0561b79ae741d1516bedda8c273fa0ed933b
2021-04-08 11:50:07 -07:00