wireshark/codecs/CMakeLists.txt

94 lines
2.3 KiB
CMake
Raw Normal View History

# CMakeLists.txt
#
# Wireshark - Network traffic analyzer
# By Gerald Combs <gerald@wireshark.org>
# Copyright 1998 Gerald Combs
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
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
Qt: Initial RTP playback. Note the "initial". This is woefully incomplete. See the "to do" lists below and in the code. This differs a bit from the GTK+ version in that you specify one or more streams to be decoded. Instead of showing waveforms in individual widgets, add them all to a single QCustomPlot. This conserves screen real estate and lets us more easily take advantage of the QCP API. It also looks better IMHO. Change a bunch of checks for QtMultimediaWidgets to QtMultimedia. We probably won't use the widgets until we make 5.0 our minimum Qt version and plain old QtMultimedia lets us support Qt 4 more easily (in theory at least). Add resampling code from libspeex. I initially used this to resample each packet to match the preferred rate of our output device, but this resulted in poorer audio quality than expected. Leave it in and use to create visual samples for QCP and to match rates any time the rate changes. The latter is currently untested. Add some debugging macros. Note that both the RTP player and RTP analysis dialogs decode audio data using different code. Note that voip_calls_packet and voip_calls_init_tap appear to be dead code. To do: - Add silence frames where needed. - Implement the jitter buffer. - Implement the playback timing controls. - Tapping / scanning streams might be too slow. Change-Id: I20dd3b66d3df53c9b1f3501262dc01458849f6b4 Bug: 9007 Reviewed-on: https://code.wireshark.org/review/10458 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-12-13 00:51:40 +00:00
speex/resample.c
)
# Enables visibility in IDEs
file(GLOB EXTRA_CODEC_HEADERS
codecs.h
G711a/G711adecode.h G711a/G711atable.h
G711u/G711udecode.h G711u/G711utable.h
speex/arch.h
speex/speex_resampler.h
speex/stack_alloc.h
)
if(SBC_FOUND)
set(WSCODECS_FILES ${WSCODECS_FILES} sbc/sbc.c)
endif()
set(wscodecs_LIBS
CMake: Avoid unnecessary link dependency with SBC and fix debian warnings Fixes dpkg warnings: dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/wireshark-qt/usr/bin/wireshark was not linked against libsbc.so.1 (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/wireshark-gtk/usr/bin/wireshark-gtk was not linked against libsbc.so.1 (it uses none of the library's symbols) dpkg-shlibdeps: warning: symbol sbc_decode used by debian/libwscodecs0/usr/lib/x86_64-linux-gnu/libwscodecs.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol sbc_init used by debian/libwscodecs0/usr/lib/x86_64-linux-gnu/libwscodecs.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol sin used by debian/libwscodecs0/usr/lib/x86_64-linux-gnu/libwscodecs.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol floorf used by debian/libwscodecs0/usr/lib/x86_64-linux-gnu/libwscodecs.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol floor used by debian/libwscodecs0/usr/lib/x86_64-linux-gnu/libwscodecs.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol sbc_finish used by debian/libwscodecs0/usr/lib/x86_64-linux-gnu/libwscodecs.so.0.0.0 found in none of the libraries Change-Id: I71911513c348edd336cdc82ea358b6a05760b4b9 Reviewed-on: https://code.wireshark.org/review/13784 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Balint Reczey <balint@balintreczey.hu>
2016-02-05 19:14:51 +00:00
${M_LIBRARIES}
${GMODULE2_LIBRARIES}
CMake: Avoid unnecessary link dependency with SBC and fix debian warnings Fixes dpkg warnings: dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/wireshark-qt/usr/bin/wireshark was not linked against libsbc.so.1 (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/wireshark-gtk/usr/bin/wireshark-gtk was not linked against libsbc.so.1 (it uses none of the library's symbols) dpkg-shlibdeps: warning: symbol sbc_decode used by debian/libwscodecs0/usr/lib/x86_64-linux-gnu/libwscodecs.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol sbc_init used by debian/libwscodecs0/usr/lib/x86_64-linux-gnu/libwscodecs.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol sin used by debian/libwscodecs0/usr/lib/x86_64-linux-gnu/libwscodecs.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol floorf used by debian/libwscodecs0/usr/lib/x86_64-linux-gnu/libwscodecs.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol floor used by debian/libwscodecs0/usr/lib/x86_64-linux-gnu/libwscodecs.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol sbc_finish used by debian/libwscodecs0/usr/lib/x86_64-linux-gnu/libwscodecs.so.0.0.0 found in none of the libraries Change-Id: I71911513c348edd336cdc82ea358b6a05760b4b9 Reviewed-on: https://code.wireshark.org/review/13784 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Balint Reczey <balint@balintreczey.hu>
2016-02-05 19:14:51 +00:00
${SBC_LIBRARIES}
wsutil
)
add_library(wscodecs ${LINK_MODE_LIB}
${WSCODECS_FILES}
${CMAKE_BINARY_DIR}/image/libwscodecs.rc
)
set(FULL_SO_VERSION "0.0.0")
set_target_properties(wscodecs PROPERTIES
PREFIX "lib"
COMPILE_DEFINITIONS "WS_BUILD_DLL"
COMPILE_OPTIONS "${WS_WS_WARNINGS_C_FLAGS}"
LINK_FLAGS "${WS_LINK_FLAGS}"
VERSION ${FULL_SO_VERSION} SOVERSION 0
FOLDER "DLLs"
)
if(ENABLE_APPLICATION_BUNDLE)
set_target_properties(wscodecs PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/run/Wireshark.app/Contents/Frameworks
)
endif()
target_link_libraries(wscodecs ${wscodecs_LIBS})
if(NOT ${ENABLE_STATIC})
install(TARGETS wscodecs
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
endif()
CHECKAPI(
NAME
codecs
SWITCHES
-g abort -g termoutput -build
SOURCES
${WSCODECS_FILES}
)