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
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
This CL allows the VTS to read a vendor's configuration file, determine
if the given devices could support the DVR Record dataflow, and runs the
integration tests with all valid combinations.
2 functions were added to help drive the testing logic.
generateRecordCombinations() generates all valid record dataflow
configurations, and the integration tests call
generateRecordCombinations() to analyze whether to generate these
combinations or use the data flow provided by the vendor (if there is
one).
Additionally, when dynamically configuring DVR_Record, a bug was exposed
in the VTS that came about from recycling the function
recordSingleFilterTest(). When LnbRecord was initialized with a software
frontend, the VTS was looking to the record dataflow's dvr source for
input. If record is not hardcoded by the vendor, the VTS would crash.
To fix this error, an enum class was added as a parameter to
RecordSingleFilterTest() to take into consideration which dataflow
(lnbRecord or record [no Lnb]) was calling the function. New behavior is
defined to take into account both cases. Also, lnbRecord will not be
tested if there are no hardware frontends, as this is not very likely to
be configured by vendors.
Bug: b/182519645
Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest. Manual
tests with different input configuration files.
Change-Id: I76c05ca2e33767e4bdcd2072db5144d495d623b0
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
This CL enforces the invariant that vendors provide audio and video
filters in pairs to the Tuner Hal VTS. Thus, the number of each must be
equal. If they do not, the tests are not
ran, and the test suite exits.
Additionally, this CL enforces the assupmtion that vendors will pair
their audio and video filters in the order they are provided, and it
treats the audioFilterIds and videoFilterIds vectors as 2 parallel
structures, where members at the same indicies correspond to a pair.
This is how media filter pairs are chosen when configuring them in the
VTS testing combinations.
Bug: b/182519645
Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest. Manual
tests with different input configuration files.
Change-Id: I74cc059ed610bb08d0929f250f252a16c9f954a8
This CL checks to see if the frontends given in the LnbLive dataflow are
accompanied by a software frontend. If so, these tests are not ran,
because this does not model a real world use case that would be
intentionally configured by a vendor.
Furthermore, the implemented code fixes a bug that would cause the VTS
to crash if the LnbLive tests were ran using a software frontend without
the vendor having configred the Live dataflow. Previously, the
workaround for using a software frontend with an Lnb was to use the dvr
source configured in the live dataflow to simulate input to the frontend.
Now that vendors do not need to provide this in their configuration file
(because it will be automatically generated for them), this access causes
an error that makes the VTS crash. With this new fix, this logic will never be
exectuted, and the VTS will not crash in this case.
Bug: b/240305035
Test: Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest.
Change-Id: I68dc7ff4cfd103a51e3e8d7c6ff787d349a9e241
This CL fixes an issue on the Tuner HAL VTS that lead to a memory leak.
Heap space was allocated to store Lnb Id's for dataflows without being
cleaned using Free(). The fix includes switching to the use of an
integer passed by reference. No heap memory is allocated.
Bug: b/240572001
Test: Test: ts-tradefed run vts --module VtsHalTvTunerTargetTest
Change-Id: I9fcad4c05f548ee4b64cfb34175f34834eec6c56
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
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
The Dvr::startFilterDispatcher method is intended to
call the startFilterHandler method on every filter by using
pass through methods in the Demux. However, the method
currently returns early with a failure (false return value)
whenever isVirtualFrontend and isRecording are both false.
This causes the thread that the method is called from to
immediately log and exit.
This error occurs when the Dvr::startFilterDispatcher
method is called from the Dvr threadloop, but not when it
is called from the Demux threadloop due to their different
parameters. As noted by current bug 239731089, this means
that this error is only exhibited inconsistently due to
a race condition.
Bug: 237718541
Test: Manually using Cuttlefish, as well as VTS. Previous
inconsistent Dvr filtering errors no longer occur.
Change-Id: I677b66bdc0dacf1a7d57bcbd3085ffd6475547dd
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
This CL allows the VTS to read a vendor's configuration file, determine
if the given devices could support the LnbRecord dataflow, and generate
all combinations of units (frontend, record filter, dvr, lnb)
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: I470d593195d3f6e81cea9758b5758ec47ad3d21c
This CL allows the VTS to read a vendor's configuration file, determine
if the given devices could support the Scan dataflow, and runs the
integration tests with all valid frontends.
Bug: b/182519645
Test: vts-tradefed run vts --module VtsHalTvTunerTargetTest. Manual
tests with different input configuration files.
Change-Id: Ic6756e284090fbd1961a9ed12c1a4b541fb834b8
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
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
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
As according to the ISO/IEC 13818-1 specification, media
data in TransportStreams comes in PES packets which are
made up of TS packets. Currently, the MediaFilterHandler
strips out TS Headers, but leaves the PES headers in with
the Media data. This CL has the MediaFilterHandler process
and remove the PES Header from the Media data, while saving
the Presentation Time Stamp if it exists.
Bug: 238889790
Test: Manually using Cuttlefish and SampleTunerTIS to
receive events. Also tested on the VTS.
Change-Id: Idd4fe06f15f5420afd0c473128d8b30f5ca779c6
Previously in CL 19152256 the size variables for Pes and
Section event reading were made unsigned in order to
prevent negative values. However, the conversion from
int8_t directly to uint32_t still produces incorrect values.
To solve this, the values which are read in are first
converted from int8_t to uint8_t before their final
conversion.
Bug: 238797416
Test: Run on Cuttlefish with TS input, and view logging.
Old version should not work with any TS that declares a
size containing any byte with value > 0x80.
Change-Id: I55bb552bc857fd8acf16729f8cfcb9e147e07e9c
Currently, our startMediaFilterHandler returns on the first
time it successfully creates a MediaEvent. This does not
match the intended behavior, which is that all of its
current output is read and turned into events, and then
cleared.
Bug: 238797398
Test: Manually with Cuttlefish and SampleTunerTvInput.
Before change, any input type except ES will only create a
single MediaEvent. After change, full input will be handled
properly.
Change-Id: I856385cdf8ebb3a7d3fb0f864085123ec6c172b9
Currently, the HAL simply sends raw TS data when
SectionEvents are created from a TS file. This CL
will have the HAL process the TS packets and construct
sections to be sent to the SectionFilter. A slight-modified
TS protocol is used that mirrors the current implementation
for PES filters.
This CL is a replication of reverted CL 19121691.
Bug: 237323181
Test: Manually using cuttlefish and the SampleTunerTvInput.
SectionEvents should be received without the 4-byte
TsHeader or any trailing data.
Change-Id: I48de90c9674fb69ecf877359f89f6b4f7f3eaca7
The variable mPesSizeLeft is sometimes being set to a negative value
when it reads from TS data because of conversions from our int8_t vector. This is incorrect, as these sizes are defined to always be positive. Our vectors cannot easily be changed due to our AIDL interfaces, but the SizeLeft variable can be made unsigned to fix the issue.
Bug: 237819905
Test: Manually with cuttlefish and TS input to the DVR with
large values for size bytes. Can also manually test the
result of similar C++ expression to show the behavior.
Change-Id: Iae925cc3c505891b732434fb7c3ffadf7af95411
Currently, the HAL simply sends raw TS data when
SectionEvents are created from a TS file. This CL
will have the HAL process the TS packets and construct
sections to be sent to the SectionFilter. A slight-modified
TS protocol is used that mirrors the current implementation
for PES filters.
Bug: 237323181
Test: Manually using cuttlefish and the SampleTunerTvInput.
SectionEvents should be received without the 4-byte
TsHeader or any trailing data.
Change-Id: Ief6b9beb8f48bda1b83a0bffb83698ca431b7b12
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
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
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
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
[Description]
If filter is started after playback thread, sometimes
filter cannot get data correctly because of timing issue.
Start playback thread after filter is started
so that filter will always get data correctly.
Bug: 235185563
Test:
1. Testcase pass
Change-Id: I97c38dab1ff81c31b4bb48c8015b626b3a6325ed
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
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
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
The default HAL currently uses a single shared memory
buffer to store the data within MediaEvents. This buffer
would cause sudden crashes when running on
cf_x86_tv-userdebug due to being de-allocated by the
memory management system. This CL decreases the size of
the buffer so our SampleTunerTIS can once again run
successfully on Cuttlefish.
Bug: 236847284
Test: Running sampletunertvinput manually on cuttlefish
Change-Id: I8e6042da422a9ed93cd9dbd18fe954c71098534d
[Description]
If filter is started after playback thread, sometimes
filter cannot get data correctly because of timing issue.
Start playback thread after filter is started
so that filter will always get data correctly.
Bug: 235185563
Test:
1. Testcase pass
Change-Id: I97c38dab1ff81c31b4bb48c8015b626b3a6325ed
(cherry picked from commit 8ab7fd8b21)
[Description]
If filter is started after playback thread, sometimes
filter cannot get data correctly because of timing issue.
Start playback thread after filter is started
so that filter will always get data correctly.
Bug: 235185563
Test:
1. Testcase pass
Change-Id: I97c38dab1ff81c31b4bb48c8015b626b3a6325ed
Implemented some of the TODO's on the FrontendTests.cpp file.
Fixed the code formatting issue of having a long line. Some comments
were deleted.
Reverted the TODO back to its original wording.
Change-Id: I932e218498c5f61da4196b21312dfef41778fcfd
writepid command usage to join a cgroup has been deprecated in favor
of a more flexible approach using task_profiles. This way cgroup path
is not hardcoded and cgroup changes can be easily made. Replace
writepid with task_profiles command to migrate between cgroups.
Bug: 191283136
Test: build and boot
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I23dab5cbd92dd51b600b7c7879f94ad1f5707208
writepid command usage to join a cgroup has been deprecated in favor
of a more flexible approach using task_profiles. This way cgroup path
is not hardcoded and cgroup changes can be easily made. Replace
writepid with task_profiles command to migrate between cgroups.
Bug: 191283136
Test: build and boot
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Icbf3e66e61e7ebb570ac3aba5f1cf9e10ef6720d
Merged-In: Icbf3e66e61e7ebb570ac3aba5f1cf9e10ef6720d
writepid command usage to join a cgroup has been deprecated in favor
of a more flexible approach using task_profiles. This way cgroup path
is not hardcoded and cgroup changes can be easily made. Replace
writepid with task_profiles command to migrate between cgroups.
Bug: 191283136
Test: build and boot
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Icbf3e66e61e7ebb570ac3aba5f1cf9e10ef6720d
The caller could use it to check whether frontend status is ready to
read or not.
Bug: 171540820
Test: atest VtsHalTvTunerTargetTest
Change-Id: I65521aacd8afe824342ad0b24f7d89006ceb5851
The startTime needs to be set before setting the delayHint timeout as
that is when the callback scheduler's clock start ticking.
In addition, we need to await the first callback before starting the
test to make sure the scheduler thread has been run at least once (so
the timeout should be initialized correctly).
Test: atest TunerFilterAidlTest#FilterDelayHintTest
Bug: 210943300
Change-Id: I0b2443f3e7d33977fb6666ba09d3ff51d8b1f152
*) Clarify the meaning and unit of FrontendStatus.
*) Add comment for STC ready support.
*) Support for control signal (e.g. TMCC) change monitoring
Bug: 183634950
Bug: 202247846
Bug: 183630794
Test: Make
Change-Id: I3c48993c354e865b0edfe56adbd34c7fce120efc
*) Add DTS info to DemuxFilterMediaEvent.
*) Allow to ignore download Id in DemuxFilterDownloadSettings and put
download id into DemuxFilterDownloadEvent.
*) Support dumpsys.
*) Change section data size 64 bits.
*) Support FrontendStatus streamIdList.
Bug: 183583908
Bug: 183024067
Bug: 184017033
Bug: 203181023
Bug: 171540818
Test: atest VtsHalTvTunerTargetTest
Test: atest android.media.tv.tuner.cts
Test: dumpsys android.hardware.tv.tuner.ITuner/default
Change-Id: I7478d008fc50da6700c551ae398dca15f8b350be
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
This fixes multiple issues in filter callback scheduler:
- currently, when mDataSizeDelayInBytes is 0, filter events are sent
every time onFilterEvent is called. When mTimeDelayInMs is set (to
something else than 0), this will falsely override the time delay.
- when datasize delay or time delays are updated, the cv needs to be
notified so the new delay goes into effect right away.
- std::condition_variables *must* make use of a shared variable in order
to prevent lost and spurious wakeups.
Test: atest VtsHalTvTunerTargetTest
Bug: 183057734
Change-Id: I9fb4e87e8ba887f0ce891ccb9981bfa49a3ceada
Change I154eb05bc419f827008161f85a6304a8599dc399 was incomplete and
caused some filter events to not be produced anymore. This change fixes
that issue and moves to a cleaner (and clearer!) way of creating filter events.
Note: Change I154eb05bc419f827008161f85a6304a8599dc399 did not break
VTS which is problematic.
Test: atest VtsHalTvTunerTargetTest
Bug: 183057734
Change-Id: Id018c33c16c07a9dd9de725aea64207008d317b3
mFilterEventsLock was not always being held when mFilterEvents is
modified.
Test: atest VtsHalTvTunerTargetTest
Bug: 183057734
Change-Id: I5b6bdb3bb8674d6da89665182ce1694f04dc64b2
*) 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
VtsHalTvCec uses <give physical address> command with broadcast
mode to test cec sendMessage function, however according to the
cec spec about the command's description which says "A request to
a device to return its Physical Address", so this command is not
right for broadcast, some cec drivers deny to broadcast this
command, which will obviously lead the VTS case fail.
So I suggest to use <request active source> command to do the job.
I have verified the case can pass on Synaptics platform with this patch.
bug-id: b/206924358
Change-Id: I040c72180cf90cfbceb6363a50a621acf888c654
All the filter events in scheduler should be cleaned before stopping.
Sending events after stopping may cause problems if frameworks has
release some references.
Bug: 205763272
Test: atest VtsHalTvTunerTargetTest
Test: atest android.media.tv.tuner.cts
Change-Id: I2d3875b348035e14314034ff90aa8c066108affe
I am adding two minor tweaks to change
I2b9d45fa7df3f2490893cc24d98c0e0baaaf0c2c which notifies the condition
variable when trying to join the thread:
1. the mutex lock does not need to be held to notify the condition
variable.
2. adding isRunning check to existing if condition in
threadLoopOnce to condense the code.
Bug: 183057734
Test: atest android.media.tv.tuner.cts
Change-Id: Ia35e645bddd5005218e8e017a22b87b349997658
Adds a event buffering / scheduling mechanism that is configured using
the delay hint.
Bug: 183057734
Test: atest VtsHalTvTunerTargetTest
Change-Id: I154eb05bc419f827008161f85a6304a8599dc399
Because ISDB-T has up to three layers
(1) It is necessary to be able to obtain the hierarchical structure and
information of each hierarchy by getFrontendStatus. Various transmission
parameters, partial reception flags, error states at each level, etc.
(2) It is necessary to be able to set the transmission parameters of
each layer at the time of request. Various transmission parameters and
partial reception flags.
Bug: 171537116
Test: atest VtsHalTvTunerTargetTest
Test: atest android.media.tv.tuner.cts
Change-Id: I9a4b2296b83d97dcea5806f464ccf50885829f76
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>
SYSTEM_CEC_CONTROL is updated when system goes into or comes out of
standby mode.
When set to true, Android system is handling CEC commands.
When set to false, microprocessor is handling CEC commands.
Bug: 185434120
Test: manual
Change-Id: I0fbb13a65639508634c6c163b5eaed1885f9e127
Use class member variables instead of global variables
Remove struct keyword since it is redundant
Replace property_get_int32 usage with libbase API
Bug: 185434120
Test: manual
Change-Id: Ide477efd0f1d65bb684993aff783447adbe43aed
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>
If a new tuning request comes before stop old tuning, there is race
condition that the Frontend loop thread may crash while terminate().
Bug: 202335601
Fix: 202335601
Test: atest android.media.tv.tuner.cts
Change-Id: Ic168b585f0a8fe36bd8eeceee3e0b4c83d5388aa
Check tuner type before running VtsHalTvTunerV1_0TargetTest,
skip testcase if test is not design for that type of tuner.
Bug: 194774941
Test: run vts -m VtsHalTvTunerV1_0TargetTest
Change-Id: Iacd1356e9e60e9b69ecbe38f8d1f76f42138efb0
packetSize is int8_t on AIDL HAL, but packet size may be longer than
128, which will cause a HAL crash.
Bug: 191825295
Test: atest android.media.tv.tuner.cts
Test: atest VtsHalTvTunerTargetTest
Change-Id: I9ee52d3cacab40e69f5f01dbe51c397fa09bfea0
The ndk_platform backend will soon be deprecated because the ndk backend
can serve the same purpose. This is to eliminate the confusion about
having two variants (ndk and ndk_platform) for the same ndk backend.
Bug: 161456198
Test: m
Change-Id: I0652f1efe920111d79dd8c2ecd52e55dda54538f
FrontendIsdbtCoderate and FrontendIsdbtGuardInterval are typedefs in
HIDL HAL. The hidl2aidl tool used the original types in the parcelable
while conversion. And the wrong comment on FrontendIsdbtCoderate was
herited from HIDL too.
Bug: 191825295
Test: atest VtsHalTvTunerTargetTest
Change-Id: I44679e171b353010e9ea9cdd84b09a715459b4e7
To avoid redundant copies of input data, const reference is used.
Note that there is a behavior change when calling
createMediaFilterEventWithIon: the output buffer will be cleared even if
the operation fails to unblock future calls.
Test: vts-tradefed run vts -m VtsHalTvTunerV1_1TargetTest
Change-Id: Ib26f90930d288738c5b55843e2aecde5318c3786
*) DemuxFilterTypeDemuxFilterSubType -> DemuxFilterSubType.
Bug: 191825295
Test: make and run VtsHalTvTunerTargetTest
Change-Id: I9069ff91d35b58ee1db4297f888ef241cdfbc135
*) Remove unused FrontendDtmbCapabilities from ITuner.
*) DemuxFilterTypeDemuxFilterSubType -> DemuxFilterSubType.
Bug: 191825295
Test: make and run VtsHalTvTunerTargetTest
Change-Id: I79cb58d3eff559d381a6cf13711250330d2066b1
*) Use tuner AIDL HAL return values.
*) Replace mTunerService with mTuner to avoid confusing.
*) Merge other HIDL HAL changes.
*) ag/15371813, ag/15371814 and ag/15371815.
Bug: 191825295
Test: make and run VtsHalTvTunerTargetTest
Change-Id: Ibbf94c4fc36c3bda94a7e0f3e0697c83ac414d0e
Aidl will return these error codes as service specific errors in
EX_SERVICE_SPECIFIC.
Bug: 191825295
Test: make and run VtsHalTvTunerTargetTest
Change-Id: Ib27300229e30f40bd779188083f1db309dec89e4
* changes:
CEC: Add event handler to default HdmiCec
CEC: Add implementation of setCallback method to default HdmiCec
CEC: Add implementation of addLogicalAddress method to default HdmiCec
CEC: Add implementation of getCecVersion method to default HdmiCec
CEC: Add implementation of isConnected method to default HdmiCec
CEC: Add implementation of getVendorId method to default HdmiCec
CEC: Add implementation of getPortInfo method to default HdmiCec
CEC: Add implementation of clearLogicalAddress method to default HdmiCec
CEC: Add implementation of getPhysicalAddress method to default HdmiCec
CEC: Add implementation of SendMessage method to default HdmiCec
CEC: Initialise the HAL based on default implementation
When WAKEUP is set to false, HAL does not wake up the system
upon receiving <Image View On> or <Text View On> messages.
Bug: 185434120
Test: manual
Change-Id: Iaf98020decc887f04b02da480adc70b76189b66d
writepid command usage to join a cgroup has been deprecated in favor
of a more flexible approach using task_profiles. This way cgroup path
is not hardcoded and cgroup changes can be easily made. Replace
writepid with task_profiles command to migrate between cgroups.
Bug: 191283136
Test: build and boot
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I249ecc45a001a69d73b06b77154f9b6e5f9964d9
1) The tuner cases should be always allowed on devices w/o tuner.
-- VTS is common for all devices, we must allow the tuner cases to
pass/skip on non TV devices.
-- The tuner HAL is also optional on TV devices, like OTT, the tuner
VTS cases should be skipped on those devices too.
2) Filter type has been checked in Demux::attachRecordFilter().
Bug: 188709323
Test: make vts
Change-Id: Ifd1cb805d7f5d552a4aa7365ba78ff87b8a3ccc1
With Vts suite "11_r4/7337463”, meet a crash issue when run case "PerInstance/TunerRecordHidlTest#LnbRecordDataFlowWithTsRecordFilterTest/0_default".
The crash is introduced by 7402e02ebc
The "mLnbId" is a null pointer but it does "*mLnbId = ids[0];" which will obviously lead to crash.
After changing to "mLnbId = &ids[0];", all cases can PASS.
Bug: 189974145
Change-Id: Ic593bfd00fa53365af4bbfeb7512e392f516468c