From 96aa29729494181e4201c3e15505dde584939e31 Mon Sep 17 00:00:00 2001 From: Georgi Chorbadzhiyski Date: Mon, 10 Oct 2011 15:01:49 +0300 Subject: [PATCH] mpeg/psi: Print text value of audiotype in descriptor 0x0a (Audio language). --- mpeg/psi/desc_0a.h | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/mpeg/psi/desc_0a.h b/mpeg/psi/desc_0a.h index ae4a968..fc680a2 100644 --- a/mpeg/psi/desc_0a.h +++ b/mpeg/psi/desc_0a.h @@ -4,6 +4,7 @@ * Copyright (C) 2009-2010 VideoLAN * * Authors: Christophe Massiot + * Georgi Chorbadzhiyski * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the @@ -83,6 +84,14 @@ static inline uint8_t desc0an_get_audiotype(const uint8_t *p_desc_n) return p_desc_n[3]; } +static inline const char *desc0a_get_audiotype_txt(uint8_t audio_type) +{ + return audio_type == 0x00 ? "undefined" : + audio_type == 0x01 ? "clean effects" : + audio_type == 0x02 ? "hearing impaired" : + audio_type == 0x03 ? "visual impaired commentary" : "reserved"; +} + static inline bool desc0a_validate(const uint8_t *p_desc) { return !(desc_get_length(p_desc) % DESC0A_LANGUAGE_SIZE); @@ -98,14 +107,18 @@ static inline void desc0a_print(uint8_t *p_desc, f_print pf_print, j++; switch (i_print_type) { case PRINT_XML: - pf_print(opaque, "", + pf_print(opaque, "", (const char *)desc0an_get_code(p_desc_n), - desc0an_get_audiotype(p_desc_n)); + desc0an_get_audiotype(p_desc_n), + desc0a_get_audiotype_txt(desc0an_get_audiotype(p_desc_n)) + ); break; default: - pf_print(opaque, " - desc 0a audio_language language=%3.3s audiotype=0x%hhx", + pf_print(opaque, " - desc 0a audio_language language=%3.3s audiotype=%u audiotype_txt=\"%s\"", (const char *)desc0an_get_code(p_desc_n), - desc0an_get_audiotype(p_desc_n)); + desc0an_get_audiotype(p_desc_n), + desc0a_get_audiotype_txt(desc0an_get_audiotype(p_desc_n)) + ); } } }