Age | Commit message (Collapse) | Author | Files | Lines |
|
The warning about a late reply or Feature Abort to a transmitted
message was rather vague. Show whether it is a late reply or a
late Feature Abort and report the opcode in human readable format.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Split off the tuner, record and timer tests into a separate
source since cec-test.cpp became a bit too big.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
The 'Day error: November 31, at 6:00 am, for 1 hr.' test can also use
the send_timer_error helper.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
A single function dealt with tuner, record and timer messages,
split this up into three, one function for each type of message.
The programmed timer handling in the main processing loop is also
split off into its own function.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Start and stop recording as timers are scheduled. Schedule future timers
if a completed timer has a recording sequence. Delete overlapped and
unfinished timers. Reduce available media space when a recording is
completed.
Signed-off-by: Deborah Brouwer <deborahbrouwer3563@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Check that Timer Status and Time Cleared Status replies have a valid
operand. Send timers with out-of-range dates and check follower's
response. Send an out-of-range recording sequence and check that the timer
is not set. Send a duplicate timer and check that the timer is not set.
Set overlapping timers and check that the timer overlap warning is set.
In the follower, keep track of timers that have been received and warn
if there may be insufficient space for a programmed recording.
Signed-off-by: Deborah Brouwer <deborahbrouwer3563@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
This change was totally wrong. All the existing drivers (except
rc-loopback) return the number of transmitters, not what would be
a valid mask. The documentation also says so.
This reverts commit eb47c00736586329a2043512dacb10fcf95aa58a.
Signed-off-by: Sean Young <sean@mess.org>
|
|
Signed-off-by: Sean Young <sean@mess.org>
|
|
Check that the recording device ignores a Standby message while it is
recording. When the recording is finished, check that the recording device
enters standby unless the recording device is the active source.
Signed-off-by: Deborah Brouwer <deborahbrouwer3563@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Expand the One Touch Record tests so that the follower and initiator know
their local and remote device types and respond accordingly. Send Record
TV Screen and check that Record On source replies are valid. Send Record
On source messages and check that Record Status replies are valid. Send
Record Off and check that the recording terminates.
Signed-off-by: Deborah Brouwer <deborahbrouwer3563@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
The logging of the signal free time was no longer done when
show == true and verbose == false, fix the logic.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Fixes: 8639ff89 ("cec-ctl: report low drive without --verbose")
|
|
Use the same phrase as in the CEC specification.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
When analyzing a low-level pin log with (--analyze-pin the low
drive condition was only reported if --verbose was also given.
But this is important enough that it should also be reported without
--verbose.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
The CEC_MSG_ROUTING_INFORMATION handler fell through to the
CEC_MSG_GET_MENU_LANGUAGE handler for no good reason. Just return
instead.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
A device may use a Backup logical address (aka Reserved in CEC
Version < 2.0) if the logical addresses that the device would normally
used are unavailable. Since a Backup logical address is not unique to any
device type, it cannot be used to determine the device type of the
follower. Instead use the more accurate log_addr_type as returned by
CEC_ADAP_G_LOG_ADDRS to find the device type.
Signed-off-by: Deborah Brouwer <deborahbrouwer3563@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Remove the Record Status test for One Touch Record because the follower
sends these kinds of messages in response to Record On.
Signed-off-by: Deborah Brouwer <deborahbrouwer3563@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
The convention is to have the type ("lirc_mode2/") prefixed so the
BPF loader knows what type it is.
Signed-off-by: Sean Young <sean@mess.org>
|
|
Logical Addresses 12 and 13 were called Reserved 1/2 in CEC 1.4,
but were renamed to Backup 1/2 in CEC 2.0. Follow that new name,
also because the corresponding #defines in cec.h use BACKUP as well.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
It is redundant to initialize a struct cec_msg variable with an empty list
if the variable is also initialized by a call to cec_msg_init. Remove
these redundant initializations.
Signed-off-by: Deborah Brouwer <deborahbrouwer3563@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Test that a deck in standby will wake up upon receiving the Deck Control
messages Eject or Play Forward.
Signed-off-by: Deborah Brouwer <deborahbrouwer3563@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
This fixes the following warnings on a 32-bit system:
cec-test.cpp: In function ‘int deck_ctl_deck_ctl(node*, unsigned int, unsigned int, bool)’:
cec-test.cpp:742:69: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘time_t’ {aka ‘long int’} [-Wsign-compare]
742 | for (unsigned i = 0; deck_status == CEC_OP_DECK_INFO_SKIP_FWD && i < long_timeout; i++) {
| ~~^~~~~~~~~~~~~~
cec-test.cpp:754:69: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘time_t’ {aka ‘long int’} [-Wsign-compare]
754 | for (unsigned i = 0; deck_status == CEC_OP_DECK_INFO_SKIP_REV && i < long_timeout; i++) {
| ~~^~~~~~~~~~~~~~
cec-processing.cpp: In function ‘void testProcessing(node*, bool)’:
cec-processing.cpp:1105:47: warning: comparison of integer expressions of different signedness: ‘time_t’ {aka ‘long int’} and ‘unsigned int’ [-Wsign-compare]
1105 | (time(nullptr) - last_pwr_status_toggle > node->state.toggle_power_status)) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
|
|
g++ version 7 has problems with this assignment:
v4l2_ext_controls vivid_ro_ctrls = {
.which = V4L2_CTRL_WHICH_REQUEST_VAL,
.count = 1,
.controls = &vivid_ro_ctrl,
};
Probably because 'which' is part of an anonymous union.
Go back to assigning this the old fashioned way to allow
v4l2-compliance to be compiled with g++ 7.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
|
|
Remove the Deck Status message test because invalid Deck Status messages
are already captured by cec-compliance in other tests.
Signed-off-by: Deborah Brouwer <deborahbrouwer3563@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Send all Deck Play commands and check that the follower implements them.
Test that the follower returns Feature Abort for invalid Play operands.
Signed-off-by: Deborah Brouwer <deborahbrouwer3563@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Send all Deck Control commands Skip Forward, Skip Reverse, Stop and Eject
and check the corresponding deck status. Test that the follower returns
Feature Abort for invalid Deck Control operands.
Signed-off-by: Deborah Brouwer <deborahbrouwer3563@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
[hverkuil: move CEC_OP_DECK_CTL_MODE_EJECT up to after MODE_STOP]
|
|
Fix bad indentation in checkInput().
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Add a lot of comments to explain the various tests. Also check
that all controls are filled in correctly upon completion of a
request, even if no controls were set in the queued request.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Very old kernels do not have the _BITUL define. Test for this.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
You want to be able to set the sleep values to e.g. 0.1 seconds,
so use a double instead of unsigned.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
When sleeping before Image View On or Standby, clarify before which
message the Sleep comes. This makes it easier to grep for a sleep
for Standby or a sleep for Image View On.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Test that a valid Deck Status message is received in response to Give Deck
Status and that Give Deck Status automatic reporting can be turned on and
off. Test that the follower returns Feature Abort for an invalid Give Deck
Status operand.
Signed-off-by: Deborah Brouwer <deborahbrouwer3563@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
For CEC adapters using versions < CEC 2.0, read the CEC Features
as configured in the CEC adapter and emulate the features that are
present.
Signed-off-by: Deborah Brouwer <deborahbrouwer3563@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Several CDC helper functions were in cec-compliance.cpp, but
they belong to cec-test.cpp where the CDC tests happen. Move
them to cec-test.cpp.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Several audio helper functions that were in cec-compliance.cpp
really belong to cec-test-audio.cpp. Move them.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
The warning about an invalid audio_out_delay was shown even
if the value was valid (1). Check if it is != 1 first.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Correctly detect and log hdr10, mpeg2 and vp8 control types.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Update to the latest kernel media headers.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
The compliance utility didn't detect that V4L2_PIX_FMT_VP8_FRAME
represents a stateless decoder. Add support for this.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
If audio_out_delay is not present in the message, then set
the value to 1.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Found with -Wimplicit-fallthrough
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Found by -Wmissing-prototypes
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Use constexpr instead of const, ensuring these are all initialized
at compile time.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Rephrase error message to avoid the ugly:
'Expected no warnings, got 1 warnings'
Now it says: 'Expected no warnings, but got 1'
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
cec_ops_report_current_latency() hardcodes the audio_out_delay value
if it is unused, ignoring the actual value. Which is fine, except when
running a compliance test, then you want the actual value.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
The warning when a reserved audio out delay value was used
didn't include that value 1 should be used instead. Clarify
this.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
'type=list' lists all supported EDID types. This makes life a little
bit easier when trying out different EDIDs.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Either report it as '0x010203 (Name)' or '0x010203, 66051',
depending on whether the Vendor ID is a vendor that is known
by libcecutil.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
The Vendor ID is just 24 bits, so report only 6 digits (%06x)
instead of 8 (%08x).
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Reported-by: Luca Di Gregorio <lucdig@gmail.com>
Signed-off-by: Sean Young <sean@mess.org>
|
|
If the controlling device simply stops sending audio rate messages, give
the cec-follower the ability to detect that it has not received an audio
rate message within 2 seconds as required. The cec-follower will quit the
audio rate controlled mode. Eliminate the need to measure an interval
between two audio rate messages.
Signed-off-by: Deborah Brouwer <deborahbrouwer3563@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|