Wireshark-commits: [Wireshark-commits] master 3687d39: Qt: Initial RTP playback.

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Fri, 2 Oct 2015 18:26:20 +0000 (UTC)
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=3687d393040a40655d84e3e03417a474032bad86
Submitter: Gerald Combs (gerald@xxxxxxxxxxxxx)
Changed: branch: master
Repository: wireshark

Commits:

3687d39 by Gerald Combs (gerald@xxxxxxxxxxxxx):

    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@xxxxxxxxxxxxx>
    Reviewed-by: Gerald Combs <gerald@xxxxxxxxxxxxx>
    

Actions performed:

    from  fd5eafa   CMake: Don't feed -fPIC to Visual C++.
    adds  3687d39   Qt: Initial RTP playback.


Summary of changes:
 CMakeLists.txt                                     |   10 +-
 Makefile.nmake                                     |    2 +-
 acinclude.m4                                       |   10 +-
 cmakeconfig.h.in                                   |    4 +-
 codecs/CMakeLists.txt                              |   11 +
 codecs/Makefile.common                             |    8 +-
 codecs/Makefile.nmake                              |    7 +
 codecs/speex/README.txt                            |    2 +
 codecs/speex/arch.h                                |  235 ++++
 codecs/speex/resample.c                            | 1203 ++++++++++++++++++++
 codecs/speex/speex_resampler.h                     |  344 ++++++
 codecs/speex/stack_alloc.h                         |  115 ++
 configure.ac                                       |   15 +-
 docbook/wsug_src/WSUG_chapter_telephony.asciidoc   |   11 +-
 epan/dissectors/packet-rtp.h                       |    4 +-
 ui/gtk/rtp_analysis.c                              |    2 +-
 ui/gtk/rtp_player.c                                |    7 +-
 ui/gtk/voip_calls_dlg.c                            |    1 +
 ui/help_url.c                                      |    4 +
 ui/help_url.h                                      |    3 +-
 ui/qt/CMakeLists.txt                               |    8 +
 ui/qt/Makefile.am                                  |    2 +
 ui/qt/Makefile.common                              |   10 +
 ui/qt/Wireshark.pro                                |   11 +-
 ui/qt/packet_dialog.cpp                            |    3 +-
 ui/qt/rtp_audio_stream.cpp                         |  396 +++++++
 ui/qt/rtp_audio_stream.h                           |  151 +++
 ui/qt/rtp_player_dialog.cpp                        |  656 +++++++++++
 ui/qt/rtp_player_dialog.h                          |  136 +++
 ui/qt/{io_graph_dialog.ui => rtp_player_dialog.ui} |  345 +++---
 ui/qt/voip_calls_dialog.cpp                        |  116 +-
 ui/qt/voip_calls_dialog.h                          |    1 +
 ui/qt/voip_calls_dialog.ui                         |    2 +-
 ui/rtp_media.h                                     |    2 +
 ui/rtp_stream.c                                    |    2 +
 ui/rtp_stream.h                                    |   19 +-
 ui/tap-sequence-analysis.c                         |    5 +
 ui/tap-sequence-analysis.h                         |   19 +-
 ui/voip_calls.c                                    |   11 +-
 ui/voip_calls.h                                    |   20 +-
 vagrant_provision.sh                               |    2 +-
 41 files changed, 3630 insertions(+), 285 deletions(-)
 create mode 100644 codecs/speex/README.txt
 create mode 100644 codecs/speex/arch.h
 create mode 100644 codecs/speex/resample.c
 create mode 100644 codecs/speex/speex_resampler.h
 create mode 100644 codecs/speex/stack_alloc.h
 create mode 100644 ui/qt/rtp_audio_stream.cpp
 create mode 100644 ui/qt/rtp_audio_stream.h
 create mode 100644 ui/qt/rtp_player_dialog.cpp
 create mode 100644 ui/qt/rtp_player_dialog.h
 copy ui/qt/{io_graph_dialog.ui => rtp_player_dialog.ui} (58%)