Ticket #9998: 0003-Convert-raw-sampling-rate-into-visually-appeasing-di.patch

File 0003-Convert-raw-sampling-rate-into-visually-appeasing-di.patch, 2.4 KB (added by dekarl@…, 13 years ago)

Example of a possible fix.

  • mythtv/libs/libmythtv/mythplayer.cpp

    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 
    43524352    return((int)spos);
    43534353}
    43544354
     4355QString 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
    43554384void MythPlayer::GetPlaybackData(InfoMap &infoMap)
    43564385{
    4357     QString samplerate = RingBuffer::BitrateToString(audio.GetSampleRate());
     4386    QString samplerate = FrequencyToString(audio.GetSampleRate());
    43584387    infoMap.insert("samplerate",  samplerate);
    43594388    infoMap.insert("filename",    player_ctx->buffer->GetSafeFilename());
    43604389    infoMap.insert("decoderrate", player_ctx->buffer->GetDecoderRate());
  • mythtv/libs/libmythtv/mythplayer.h

    diff --git a/mythtv/libs/libmythtv/mythplayer.h b/mythtv/libs/libmythtv/mythplayer.h
    index daeb4dc..2305407 100644
    a b class MTV_PUBLIC MythPlayer 
    173173    void      GetCodecDescription(InfoMap &infoMap);
    174174    QString   GetXDS(const QString &key) const;
    175175    PIPLocation GetNextPIPLocation(void) const;
     176    static QString FrequencyToString(uint64_t rate);
    176177
    177178    // Bool Gets
    178179    bool    IsPaused(void) const              { return allpaused;      }