From 3c1fee6d223d7f4efc9489616d893ac80171db57 Mon Sep 17 00:00:00 2001 From: Mark Kendall Date: Sat, 4 Jun 2011 17:24:37 +0800 Subject: [PATCH] MythPlayer: New GetPlaybackData method. --- mythtv/libs/libmythtv/mythplayer.cpp | 21 +++++++++++++++++++++ mythtv/libs/libmythtv/mythplayer.h | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/mythtv/libs/libmythtv/mythplayer.cpp b/mythtv/libs/libmythtv/mythplayer.cpp index 87cf4cf7729..578843e5044 100644 --- a/mythtv/libs/libmythtv/mythplayer.cpp +++ b/mythtv/libs/libmythtv/mythplayer.cpp @@ -4314,6 +4314,27 @@ int MythPlayer::GetStatusbarPos(void) const return((int)spos); } +void MythPlayer::GetPlaybackData(InfoMap &infoMap) +{ + QString samplerate = RingBuffer::BitrateToString(audio.GetSampleRate()); + infoMap.insert("samplerate", samplerate); + infoMap.insert("filename", player_ctx->buffer->GetSafeFilename()); + infoMap.insert("decoderrate", player_ctx->buffer->GetDecoderRate()); + infoMap.insert("storagerate", player_ctx->buffer->GetStorageRate()); + infoMap.insert("bufferavail", player_ctx->buffer->GetAvailableBuffer()); + infoMap.insert("avsync", + QString::number((float)avsync_avg / (float)frame_interval, 'f', 2)); + if (videoOutput) + { + QString frames = QString("%1/%2").arg(videoOutput->ValidVideoFrames()) + .arg(videoOutput->FreeVideoFrames()); + infoMap.insert("videoframes", frames); + } + if (decoder) + infoMap["videodecoder"] = decoder->GetCodecDecoderName(); + GetCodecDescription(infoMap); +} + int MythPlayer::GetSecondsBehind(void) const { if (!player_ctx->recorder) diff --git a/mythtv/libs/libmythtv/mythplayer.h b/mythtv/libs/libmythtv/mythplayer.h index ca5753435ce..c9b3696163d 100644 --- a/mythtv/libs/libmythtv/mythplayer.h +++ b/mythtv/libs/libmythtv/mythplayer.h @@ -144,7 +144,7 @@ class MTV_PUBLIC MythPlayer QSize GetVideoSize(void) const { return video_disp_dim; } float GetVideoAspect(void) const { return video_aspect; } float GetFrameRate(void) const { return video_frame_rate; } - + void GetPlaybackData(InfoMap &infoMap); bool IsAudioNeeded(void) { return !using_null_videoout && player_ctx->IsAudioNeeded(); } uint GetVolume(void) { return audio.GetVolume(); } int GetSecondsBehind(void) const;