[PATCH v2] edid-decode: Cannot support NonMixed MS without MS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
---
 parse-cta-block.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

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)
-- 
2.45.0





[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux