diff options
author | Martin Kaiser <wireshark@kaiser.cx> | 2013-03-12 22:04:09 +0000 |
---|---|---|
committer | Martin Kaiser <wireshark@kaiser.cx> | 2013-03-12 22:04:09 +0000 |
commit | f58e2cc90a428eba04db2a73145d553b7ac0909d (patch) | |
tree | a88c5138b7fc8fd1272d6a4f70788489a7077d0e | |
parent | 221b249acd37946925d32926791ad1f5abb69dc6 (diff) |
dissect Application Signalling Descriptor
svn path=/trunk/; revision=48273
-rw-r--r-- | epan/dissectors/packet-mpeg-descriptor.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/epan/dissectors/packet-mpeg-descriptor.c b/epan/dissectors/packet-mpeg-descriptor.c index 9bbee6a27e..08ff5b9ea1 100644 --- a/epan/dissectors/packet-mpeg-descriptor.c +++ b/epan/dissectors/packet-mpeg-descriptor.c @@ -2138,6 +2138,24 @@ proto_mpeg_descriptor_dissect_ac3(tvbuff_t *tvb, guint offset, guint8 len, proto proto_tree_add_item(tree, hf_mpeg_descr_ac3_additional_info, tvb, offset, end - offset, ENC_NA); } +/* 0x6F Application Signalling Descriptor */ +static int hf_mpeg_descr_app_sig_app_type = -1; +static int hf_mpeg_descr_app_sig_ait_ver = -1; + +static void +proto_mpeg_descriptor_dissect_app_sig(tvbuff_t *tvb, guint offset, guint8 len, proto_tree *tree) +{ + guint offset_start; + + offset_start = offset; + while (offset-offset_start < len) { + proto_tree_add_item(tree, hf_mpeg_descr_app_sig_app_type, tvb, offset, 2, ENC_BIG_ENDIAN); + offset += 2; + proto_tree_add_item(tree, hf_mpeg_descr_app_sig_ait_ver, tvb, offset, 2, ENC_BIG_ENDIAN); + offset++; + } +} + /* 0x73 Default Authority Descriptor */ static int hf_mpeg_descr_default_authority_name = -1; @@ -2697,6 +2715,9 @@ proto_mpeg_descriptor_dissect(tvbuff_t *tvb, guint offset, proto_tree *tree) case 0x6A: /* AC-3 Descriptor */ proto_mpeg_descriptor_dissect_ac3(tvb, offset, len, descriptor_tree); break; + case 0x6F: /* Application Signalling Descriptor */ + proto_mpeg_descriptor_dissect_app_sig(tvb, offset, len, descriptor_tree); + break; case 0x73: /* Default Authority Descriptor */ proto_mpeg_descriptor_dissect_default_authority(tvb, offset, len, descriptor_tree); break; @@ -3840,6 +3861,17 @@ proto_register_mpeg_descriptor(void) FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL } }, + /* 0x6F Application Signalling Descriptor */ + { &hf_mpeg_descr_app_sig_app_type, { + "Application type", "mpeg_descr.app_sig.app_type", + FT_UINT16, BASE_HEX, NULL, 0x7FFF, NULL, HFILL + } }, + + { &hf_mpeg_descr_app_sig_ait_ver, { + "AIT version", "mpeg_descr.app_sig.ait_ver", + FT_UINT8, BASE_HEX, NULL, 0x3F, NULL, HFILL + } }, + /* 0x73 Default Authority Descriptor */ { &hf_mpeg_descr_default_authority_name, { "Default Authority Name", "mpeg_descr.default_authority.name", |