Show the PID field of the transport feedback NACK as "RTCP Transport

Feedback NACK PID", not just as "RTCP Transport Feedback NACK", and give
the field a name for that.

Use it in the protocol tree for the bits of the BLP field, rather than
making it a hidden field there.

Clean up the tags appended to the BLP field.

svn path=/trunk/; revision=45157
This commit is contained in:
Guy Harris 2012-09-26 20:19:20 +00:00
parent 068815cc67
commit 141200fa86
1 changed files with 9 additions and 10 deletions

View File

@ -819,23 +819,22 @@ dissect_rtcp_rtpfb_nack( tvbuff_t *tvb, int offset, proto_tree *rtcp_tree, proto
offset += 2;
ti = proto_tree_add_item(rtcp_tree, hf_rtcp_rtpfb_nack_blp, tvb, offset, 2, ENC_BIG_ENDIAN);
proto_item_append_text(ti, ": ");
rtcp_rtpfb_nack_blp = tvb_get_ntohs(tvb, offset);
bitfield_tree = proto_item_add_subtree(ti, ett_rtcp_nack_blp);
nack_num_frames_lost = 1;
if (rtcp_rtpfb_nack_blp) {
proto_item_append_text(ti, " (Frames");
for (i = 0; i < 16; i ++) {
if (rtcp_rtpfb_nack_blp & (1<<i)) {
proto_item *hidden_ti;
proto_tree_add_text(bitfield_tree, tvb, offset, 2, "Frame %d also lost", rtcp_rtpfb_nack_pid + i + 1);
hidden_ti = proto_tree_add_uint(bitfield_tree, hf_rtcp_rtpfb_nack_pid, tvb, offset, 2, rtcp_rtpfb_nack_pid + i + 1);
PROTO_ITEM_SET_HIDDEN(hidden_ti);
proto_item_append_text(ti, "%d ", rtcp_rtpfb_nack_pid + i + 1);
proto_tree_add_uint_format(bitfield_tree, hf_rtcp_rtpfb_nack_pid, tvb, offset, 2, rtcp_rtpfb_nack_pid + i + 1,
"Frame %u also lost", rtcp_rtpfb_nack_pid + i + 1);
proto_item_append_text(ti, " %u", rtcp_rtpfb_nack_pid + i + 1);
nack_num_frames_lost ++;
}
}
proto_item_append_text(ti, " lost)");
} else {
proto_item_set_text(ti, "0 (No additional frames lost)");
proto_item_append_text(ti, " (No additional frames lost)");
}
offset += 2;
@ -4524,8 +4523,8 @@ proto_register_rtcp(void)
{
&hf_rtcp_rtpfb_nack_pid,
{
"RTCP Transport Feedback NACK",
"rtcp.rtpfb.nack",
"RTCP Transport Feedback NACK PID",
"rtcp.rtpfb.nack_pid",
FT_UINT16,
BASE_DEC,
NULL,
@ -4537,7 +4536,7 @@ proto_register_rtcp(void)
&hf_rtcp_rtpfb_nack_blp,
{
"RTCP Transport Feedback NACK BLP",
"rtcp.rtpfb.nack.blp",
"rtcp.rtpfb.nack_blp",
FT_UINT16,
BASE_HEX,
NULL,