aboutsummaryrefslogtreecommitdiffstats
path: root/codecs/CMakeLists.txt
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2016-11-24 00:27:14 +0100
committerPeter Wu <peter@lekensteyn.nl>2016-12-06 17:51:47 +0000
commitf5e22a14877922aa7b907d2e434958c86efd6875 (patch)
tree33439d1a8cd3322faa9ce8b0f6b12a08427d47fb /codecs/CMakeLists.txt
parentd8cdb550445a1bc86626bd9d45da1ce958d1592b (diff)
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@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Diffstat (limited to 'codecs/CMakeLists.txt')
-rw-r--r--codecs/CMakeLists.txt9
1 files changed, 5 insertions, 4 deletions
diff --git a/codecs/CMakeLists.txt b/codecs/CMakeLists.txt
index 34bd7be885..4595054059 100644
--- a/codecs/CMakeLists.txt
+++ b/codecs/CMakeLists.txt
@@ -23,10 +23,6 @@ set(WSCODECS_FILES
codecs.c
G711a/G711adecode.c
G711u/G711udecode.c
- # These are wrapped in "#ifdef HAVE_SPANDSP", which we don't currently
- # handle or define.
- # G722/G722decode.c
- # G726/G726decode.c
speex/resample.c
)
@@ -51,6 +47,11 @@ set(wscodecs_LIBS
wsutil
)
+if(HAVE_SPANDSP)
+ list(APPEND WSCODECS_FILES G722/G722decode.c G726/G726decode.c)
+ list(APPEND wscodecs_LIBS ${SPANDSP_LIBRARIES})
+endif()
+
add_library(wscodecs ${LINK_MODE_LIB}
${WSCODECS_FILES}
${CMAKE_BINARY_DIR}/image/libwscodecs.rc