URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=f5e22a14877922aa7b907d2e434958c86efd6875
Submitter: Peter Wu (peter@xxxxxxxxxxxxx)
Changed: branch: master
Repository: wireshark
Commits:
f5e22a1 by Peter Wu (peter@xxxxxxxxxxxxx):
codecs: Add support for G.722 and G.726
Integrate the Spandsp library for G.722 and G.726 support. Adds support
for G.722 and all eight variants of G.726.
Note: this also fixes a crash in Qt (buffer overrun, reading too much
data) caused by confusion of the larger output buffer (resample_buff)
with the smaller input buffer (decode_buff). It was not triggered before
because the sample rate was always 8k, but with the addition of the new
codecs, a different sample rate became possible (16k).
Fix also a crash which occurs when the RTP_STREAM_DEBUG macro is enabled
and the VOIP Calls dialog is opened (the begin frame, start_fd, is not
yet known and therfore a NULL dereference could occur).
Passes testing (plays normally without bad RTP timing errors) with
SampleCaptures files: sip-rtp-g722.pcap and sip-rtp-g726.pcap. Tested
with cmake (Qt), autotools (Qt and GTK+) with ASAN enabled.
Bug: 5619
Change-Id: I5661908d193927bba50901079119eeff0c04991f
Reviewed-on: https://code.wireshark.org/review/18939
Petri-Dish: Peter Wu <peter@xxxxxxxxxxxxx>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@xxxxxxxxxxxxx>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>
Reviewed-by: Peter Wu <peter@xxxxxxxxxxxxx>
Actions performed:
from d8cdb55 Autotools: Disable Qt4 on macOS.
adds f5e22a1 codecs: Add support for G.722 and G.726
Summary of changes:
CMakeLists.txt | 15 ++++++
CMakeOptions.txt | 1 +
cmake/modules/FindSPANDSP.cmake | 55 +++++++++++++++++++++
cmakeconfig.h.in | 3 ++
codecs/CMakeLists.txt | 9 ++--
codecs/G722/G722decode.c | 55 ++++++++++++++-------
codecs/G722/G722decode.h | 10 ++--
codecs/G726/G726decode.c | 86 +++++++++++++++++++++++----------
codecs/G726/G726decode.h | 19 +++++---
codecs/Makefile.am | 10 ++--
codecs/codecs.c | 21 +++++++-
configure.ac | 22 +++++++++
debian/control | 2 +-
docbook/release-notes.asciidoc | 1 +
packaging/nsis/CMakeLists.txt | 2 +-
packaging/rpm/SPECS/wireshark.spec.in | 11 +++++
packaging/wix/CMakeLists.txt | 4 +-
tools/debian-setup.sh | 2 +-
tools/win-setup.ps1 | 7 ++-
ui/gtk/rtp_player.c | 8 ++-
ui/qt/rtp_audio_stream.cpp | 10 +++-
ui/qt/rtp_player_dialog.cpp | 2 +-
22 files changed, 282 insertions(+), 73 deletions(-)
create mode 100644 cmake/modules/FindSPANDSP.cmake