aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/rtp_audio_stream.h
AgeCommit message (Collapse)AuthorFilesLines
2018-06-25RTP: Common functions for allocation/deallocation of rtpstream_info_tJiri Novak1-2/+3
Change-Id: I9a0a11d238473a7c57d85547dca0713ed421a500 Reviewed-on: https://code.wireshark.org/review/28417 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-06-23RTP: code cleanup 3Jiri Novak1-4/+4
*rtp_stream* -> rtpstream to follow common name Change-Id: I381bc1cdb8206c5cfe67e94dd7fb1a5cb25f9c16 Reviewed-on: https://code.wireshark.org/review/28394 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-06-20RTP: Encapsulation of comparsion of two rtpstreamsJiri Novak1-5/+1
Changes: - rtpstream_id_t is introduced and its related functions. It encapsulates comparsion of two rtpstreams. - dest_* renamed to dst_* - src_port and dst_port are 16bits only. - sharkd_session.c use common id functions - IAX2 part related to RTP updated to common *id* function Change-Id: Id38728a4e5d80363480c7ce42ff9c6eaad069686 Reviewed-on: https://code.wireshark.org/review/28340 Petri-Dish: Anders Broman <a.broman58@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-06-19RTP: Code clean upJiri Novak1-5/+5
Changes: - rtpstream_packet renamed to rtpstream_packet_cb to follow *_cb pattern - variables/types used in iax2_analysis_dialog were created as copy of *rtp* ones, but names were left as *rtp* -> *iax2* - struct _rtp_stream_info replaced with rtp_stream_info_t - there was tap-rtp-analysis.h, but no tap-rtp-analysis.c - related content was moved from tap-rtp-common.c - *rtp_stream* functions renamed to *rtpstream* - renamed rtp_stream_info_t to rtpstream_info_t to follow *rtpstream* pattern. - renamed ui/rtp_stream.c rtpstream_draw -> rtpstream_draw_cb Change-Id: Ib11ff5367cc464ea1b0c73432bc50b0eb9cd203e Reviewed-on: https://code.wireshark.org/review/28299 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-05-01Fix comment end after SPDX identifierStig Bjørlykke1-1/+2
Move */ to a separate line below the SPDX identifier. Change-Id: Id1032215449cfccae0933147b45e04b65e0b727f Reviewed-on: https://code.wireshark.org/review/27211 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-08replace SPDX identifier GPL-2.0+ with GPL-2.0-or-later.Dario Lombardo1-1/+1
The first is deprecated, as per https://spdx.org/licenses/. Change-Id: I8e21e1d32d09b8b94b93a2dc9fbdde5ffeba6bed Reviewed-on: https://code.wireshark.org/review/25661 Petri-Dish: Anders Broman <a.broman58@gmail.com> Petri-Dish: Dario Lombardo <lomato@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-02Qt: use SPDX identifiers.Dario Lombardo1-14/+1
Change-Id: I111945c08f99818c249a868c12d9a7b3a3df64b3 Reviewed-on: https://code.wireshark.org/review/25563 Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-07-21Qt RTP: Add the default device and adjust sample rates.Gerald Combs1-0/+1
In the RTP player dialog, list the default audio device first, ensure it's selected by default and ensure that the list items are unique. According to http://code.qt.io/cgit/qt/qtmultimedia.git/tree/src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp?h=5.9 the default device on Windows uses the special WAVE_MAPPER id, which appears to support various sample rates even when the underlying hardware doesn't. Ensuring the names are unique fixes an issue I'm seeing on a test machine here. When decoding, check to see if our sample rate is supported by our output device and adjust accordingly. Bug: 13906 Change-Id: Iddc0beb2459bfac42276ff29d227c2619b0a8d90 Reviewed-on: https://code.wireshark.org/review/22756 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-12-06Qt: Make the RTP player output device selectable.Gerald Combs1-0/+3
Add a combobox for selecting the output device and populate it with our available devices. Let the user know if our output format isn't supported. Ping-Bug: 13105 Change-Id: I299c7d0f191bb66d93896338036000e2c377781f Reviewed-on: https://code.wireshark.org/review/19046 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-06-06Qt: RTP audio stream fixups.Gerald Combs1-1/+1
Make sure audio_stream_ is non-NULL before we try to use it. Delete audio_stream_ more gracefully and add a note about mutexes on OS X and Windows. Bug: 12166 Change-Id: I12e76c49e631bc1de813c5c7d82c7d928c71237e Reviewed-on: https://code.wireshark.org/review/15759 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-10-27Add jitter logic to RtpAudioStream.Gerald Combs1-1/+52
Copy the jitter logic from rtp_player.c to rtp_audio_stream.cpp. This still isn't correct but the RTP player should now be complete enough to start looking at the bug list at the top of rtp_player_dialog.cpp. Disable timing and jitter controls while we're playing while we're here. Fixes bug 11635. Bug: 11635 Change-Id: Ie583ade522702cbe1bbcea4475a535caa1d74fa2 Reviewed-on: https://code.wireshark.org/review/11295 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-10-21Split RTP player tapping, decoding, and plotting.Gerald Combs1-1/+6
In RtpAudioStream split tapping+decoding into separate member functions. Store RTP payloads in memory. In RtpPlayerDialog split tapping+plotting. This more closely resembles what we're doing in the GTK+ UI and paves the way for jitter support and other changes. Change-Id: I244c225cec8930545622e6582b7be35ebe45b237 Reviewed-on: https://code.wireshark.org/review/11195 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-10-02Use QVector::size instead of ::length.Gerald Combs1-1/+1
Qt < 5.2 doesn't have ::length. Change-Id: Ie6a06034c5e2ea8ddc1f9e1131a682ff9442fb75 Reviewed-on: https://code.wireshark.org/review/10754 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-10-02Qt: Initial RTP playback.Gerald Combs1-0/+151
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>