Message ID | 20240605103512.568660-1-sebastian.wick@redhat.com |
---|---|
State | New |
Headers | show |
Series | [v2] edid-decode: Cannot support NonMixed MS without MS | expand |
diff --git ./parse-cta-block.cpp ../parse-cta-block.cpp index 4d2afc6..e976de5 100644 --- ./parse-cta-block.cpp +++ ../parse-cta-block.cpp @@ -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)
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(-)