aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/rtp_audio_stream.cpp
diff options
context:
space:
mode:
authorJirka Novak <j.novak@netsystem.cz>2021-04-13 16:38:13 +0200
committerWireshark GitLab Utility <gerald+gitlab-utility@wireshark.org>2021-04-14 14:02:58 +0000
commitc7f56462490eb287a4152fb086dc8ae4ef8fcd11 (patch)
treebcb417998a807bb87209d2af263765707c380ffe /ui/qt/rtp_audio_stream.cpp
parent38d279326a7b48aab44edfc58348758663b4d2ba (diff)
VoIP dialogs: Performance improvements
Retap and UI response are much faster when many RTP streams are processed. RTP Streams/Analyse 1000+, RTP Player 500+. Changes: - RTP streams are searched with hash, not by iterating over list. - UI operations do not redraw screen after every change, just after all changes. UI is locked when rereading packets. - Sample list during RTP decoding is stored in memory so wireshark uses just half of opened files for audio decoding than before. - Analysis window checkbox area is limited in height - Dialogs shows shows count of streams, count of selected streams and count of unmuted streams - Documentation extended with chapter about RTP decoding parameters - Documentation extended with performance estimates
Diffstat (limited to 'ui/qt/rtp_audio_stream.cpp')
-rw-r--r--ui/qt/rtp_audio_stream.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/ui/qt/rtp_audio_stream.cpp b/ui/qt/rtp_audio_stream.cpp
index 5fc8d1c9f5..41a848ed1d 100644
--- a/ui/qt/rtp_audio_stream.cpp
+++ b/ui/qt/rtp_audio_stream.cpp
@@ -36,6 +36,7 @@
#include <QVariant>
#include <QTimer>
#include <QDebug>
+#include <QBuffer>
// To do:
// - Only allow one rtpstream_info_t per RtpAudioStream?
@@ -80,7 +81,7 @@ RtpAudioStream::RtpAudioStream(QObject *parent, rtpstream_info_t *rtpstream, boo
qWarning() << "Can't create temp file in " << tempname;
throw -1;
}
- sample_file_frame_ = new QTemporaryFile(tempname, this);
+ sample_file_frame_ = new QBuffer(this);
if (! sample_file_frame_->open(QIODevice::ReadWrite)) {
// We are out of file resources
delete sample_file_;
@@ -179,7 +180,7 @@ void RtpAudioStream::reset(double global_start_time)
if (!sample_file_->open(QIODevice::ReadWrite)) {
qWarning() << "Can't create temp file in " << tempname << " during retap";
}
- sample_file_frame_ = new QTemporaryFile(tempname, this);
+ sample_file_frame_ = new QBuffer(this);
if (!sample_file_frame_->open(QIODevice::ReadWrite)) {
qWarning() << "Can't create temp file in " << tempname << " during retap";
}