[v2] edid-decode: Cannot support NonMixed MS without MS
Commit Message
When `Max Stream Count` is zero, the sink does not support multistream
and thus cannot support NonMixed MS.
An EDID with Max Stream Count = 0 and Non Mixed MS = 1 can be found in
linuxhw/EDID ./Digital/TCL/TCL5655/1723FF2DC6D1 at commit cff7fe4d44.
v2:
* Log a failure instead of silently ignoring Non Mixed MS
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
---
parse-cta-block.cpp | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
@@ -2498,10 +2498,13 @@ static void cta_hdmi_audio_block(const unsigned char *x, unsigned length)
fail("Empty Data Block with length %u.\n", length);
return;
}
- if (x[0] & 3)
+ if (x[0] & 3) {
printf(" Max Stream Count: %u\n", (x[0] & 3) + 1);
- if (x[0] & 4)
- printf(" Supports MS NonMixed\n");
+ if (x[0] & 4)
+ printf(" Supports MS NonMixed\n");
+ } else if (x[0] & 4) {
+ fail("MS NonMixed support indicated but Max Stream Count == 0.\n");
+ }
num_descs = x[1] & 7;
if (num_descs == 0)