aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-btavdtp.c
diff options
context:
space:
mode:
authorMichal Labedzki <michal.labedzki@tieto.com>2014-10-16 12:34:39 +0200
committerMichal Labedzki <michal.labedzki@tieto.com>2014-10-22 13:07:57 +0000
commitfc4471f06135bc692b77a2a88b3ba24f372efa25 (patch)
tree2c204c44a8ff9c0a1ab8aa380d452b714f3502ff /epan/dissectors/packet-btavdtp.c
parentc2f58d396212f59e1c0c572319d74107f82c4a8c (diff)
Bluetooth: A2DP: APT-X does not use RTP while there is no content protection
Change-Id: I5ff8ffdda827b08ee7e284c15e70dadc368b009e Reviewed-on: https://code.wireshark.org/review/4906 Petri-Dish: Michal Labedzki <michal.labedzki@tieto.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
Diffstat (limited to 'epan/dissectors/packet-btavdtp.c')
-rw-r--r--epan/dissectors/packet-btavdtp.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/epan/dissectors/packet-btavdtp.c b/epan/dissectors/packet-btavdtp.c
index fa06c34c29..ed38d7fb0a 100644
--- a/epan/dissectors/packet-btavdtp.c
+++ b/epan/dissectors/packet-btavdtp.c
@@ -2854,9 +2854,12 @@ dissect_bta2dp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
pinfo->destport = sep_data.stream_number;
#endif
- bluetooth_add_address(pinfo, &pinfo->net_dst, sep_data.stream_number, "BT A2DP", pinfo->fd->num, FALSE, &bta2dp_codec_info);
- call_dissector(rtp_handle, tvb, pinfo, tree);
-
+ if (bta2dp_codec_info.content_protection_type == 0 && codec_dissector == aptx_handle) {
+ call_dissector_with_data(aptx_handle, tvb, pinfo, tree, &bta2dp_codec_info);
+ } else {
+ bluetooth_add_address(pinfo, &pinfo->net_dst, sep_data.stream_number, "BT A2DP", pinfo->fd->num, FALSE, &bta2dp_codec_info);
+ call_dissector(rtp_handle, tvb, pinfo, tree);
+ }
offset += tvb_length_remaining(tvb, offset);
return offset;
@@ -2939,7 +2942,6 @@ proto_reg_handoff_bta2dp(void)
mpeg_audio_handle = find_dissector("mpeg-audio");
/* TODO: ATRAC dissector does not exist yet */
atrac_handle = find_dissector("atrac");
- aptx_handle = find_dissector("aptx");
rtp_handle = find_dissector("rtp");