Thread (2 messages) flat view 2 messages, 2 authors, 2019-01-31
STALE2793d

[PATCH] avinfo: Dump unknown codecs and unknown categories

From: Pali Rohár <hidden>
Date: 2019-01-26 10:24:59
Subsystem: the rest · Maintainer: Linus Torvalds

---
 tools/avinfo.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/tools/avinfo.c b/tools/avinfo.c
index a3298e8c8..42f539f43 100644
--- a/tools/avinfo.c
+++ b/tools/avinfo.c
@@ -648,6 +648,8 @@ static void print_media_codec(
 			struct avdtp_media_codec_capability *cap,
 			uint8_t size)
 {
+	int i;
+
 	if (size < sizeof(*cap)) {
 		printf("\tMedia Codec: Unknown (broken)\n");
 		return;
@@ -668,6 +670,10 @@ static void print_media_codec(
 		break;
 	default:
 		printf("\tMedia Codec: Unknown\n");
+		printf("\t\tCodec Data:");
+		for (i = 0; i < size - 2; ++i)
+			printf(" 0x%.02x", ((unsigned char *)cap->data)[i]);
+		printf("\n");
 	}
 }
 
@@ -699,6 +705,7 @@ static void print_content_protection(
 static void print_caps(void *data, int size)
 {
 	int processed;
+	int i;
 
 	for (processed = 0; processed + 2 < size;) {
 		struct avdtp_service_capability *cap;
@@ -715,9 +722,14 @@ static void print_caps(void *data, int size)
 		case AVDTP_REPORTING:
 		case AVDTP_RECOVERY:
 		case AVDTP_MULTIPLEXING:
-		default:
 			/* FIXME: Add proper functions */
+			break;
+		default:
 			printf("\tUnknown category: %d\n", cap->category);
+			printf("\t\tData:");
+			for (i = 0; i < cap->length; ++i)
+				printf(" 0x%.02x", ((unsigned char *)cap->data)[i]);
+			printf("\n");
 			break;
 		case AVDTP_MEDIA_CODEC:
 			print_media_codec((void *) cap->data, cap->length);
-- 
2.11.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help