Re: [PATCH] avinfo: Dump unknown codecs and unknown categories
From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Date: 2019-01-31 10:50:33
Hi Pali, On Sat, Jan 26, 2019 at 12:26 PM Pali Rohár [off-list ref] wrote:
quoted hunk ↗ jump to hunk
--- 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
Applied, thanks. -- Luiz Augusto von Dentz