From a7f3654ba1094d65fbaae7c84bf0bbfe1ecd85fa Mon Sep 17 00:00:00 2001
From: Karl Dietz <dekarl@users.sourceforge.net>
Date: Wed, 7 Sep 2011 16:10:28 +0200
Subject: [PATCH 3/3] Convert raw sampling rate into visually appeasing display for humans.
---
mythtv/libs/libmythtv/mythplayer.cpp | 31 ++++++++++++++++++++++++++++++-
mythtv/libs/libmythtv/mythplayer.h | 1 +
2 files changed, 31 insertions(+), 1 deletions(-)
diff --git a/mythtv/libs/libmythtv/mythplayer.cpp b/mythtv/libs/libmythtv/mythplayer.cpp
index 3e2966c..50f948c 100644
a
|
b
|
int MythPlayer::GetStatusbarPos(void) const |
4352 | 4352 | return((int)spos); |
4353 | 4353 | } |
4354 | 4354 | |
| 4355 | QString MythPlayer::FrequencyToString(uint64_t frequencyRaw) |
| 4356 | { |
| 4357 | QString msg; |
| 4358 | float frequencyHumanReadable; |
| 4359 | int range = 0; |
| 4360 | if (rate < 1) |
| 4361 | { |
| 4362 | return "-"; |
| 4363 | } |
| 4364 | else if (frequencyRaw >= 1000000) |
| 4365 | { |
| 4366 | msg = QObject::tr("%1MHz"); |
| 4367 | frequencyHumanReadable = (float)frequencyRaw / (1000000.0); |
| 4368 | range = 3; // for nnn.125MHz frequency incl. offset |
| 4369 | } |
| 4370 | else if (rate >= 1000) |
| 4371 | { |
| 4372 | msg = QObject::tr("%1KHz"); |
| 4373 | frequencyHumanReadable = (float)frequencyRaw / 1000.0; |
| 4374 | range = 1; // for 44.1KHz sampling rate |
| 4375 | } |
| 4376 | else |
| 4377 | { |
| 4378 | msg = QObject::tr("%1Hz"); |
| 4379 | frequencyHumanReadable = (float)frequencyRaw; |
| 4380 | } |
| 4381 | return msg.arg(frequencyHumanReadable, 0, 'f', range); |
| 4382 | } |
| 4383 | |
4355 | 4384 | void MythPlayer::GetPlaybackData(InfoMap &infoMap) |
4356 | 4385 | { |
4357 | | QString samplerate = RingBuffer::BitrateToString(audio.GetSampleRate()); |
| 4386 | QString samplerate = FrequencyToString(audio.GetSampleRate()); |
4358 | 4387 | infoMap.insert("samplerate", samplerate); |
4359 | 4388 | infoMap.insert("filename", player_ctx->buffer->GetSafeFilename()); |
4360 | 4389 | infoMap.insert("decoderrate", player_ctx->buffer->GetDecoderRate()); |
diff --git a/mythtv/libs/libmythtv/mythplayer.h b/mythtv/libs/libmythtv/mythplayer.h
index daeb4dc..2305407 100644
a
|
b
|
class MTV_PUBLIC MythPlayer |
173 | 173 | void GetCodecDescription(InfoMap &infoMap); |
174 | 174 | QString GetXDS(const QString &key) const; |
175 | 175 | PIPLocation GetNextPIPLocation(void) const; |
| 176 | static QString FrequencyToString(uint64_t rate); |
176 | 177 | |
177 | 178 | // Bool Gets |
178 | 179 | bool IsPaused(void) const { return allpaused; } |