diff --git a/mythtv/libs/libmythtv/mythplayerui.cpp b/mythtv/libs/libmythtv/mythplayerui.cpp
index 813b4291ff8..898af9688c5 100644
--- a/mythtv/libs/libmythtv/mythplayerui.cpp
+++ b/mythtv/libs/libmythtv/mythplayerui.cpp
@@ -21,6 +21,8 @@ MythPlayerUI::MythPlayerUI(MythMainWindow* MainWindow, TV* Tv,
: MythPlayerEditorUI(MainWindow, Tv, Context, Flags),
MythVideoScanTracker(this)
{
+ m_display = MainWindow->GetDisplay();
+
// Finish setting up the overlays
m_osd.SetPlayer(this);
m_captionsOverlay.SetPlayer(this);
@@ -840,6 +842,12 @@ void MythPlayerUI::GetPlaybackData(InfoMap& Map)
Map["load"] = m_outputJmeter.GetLastCPUStats();
GetCodecDescription(Map);
+
+ QString displayfps = QString("%1x%2@%3Hz")
+ .arg(m_display->GetResolution().width())
+ .arg(m_display->GetResolution().height())
+ .arg(m_display->GetRefreshRate(), 0, 'f', 2);
+ Map["displayfps"] = displayfps;
}
void MythPlayerUI::GetCodecDescription(InfoMap& Map)
diff --git a/mythtv/libs/libmythtv/mythplayerui.h b/mythtv/libs/libmythtv/mythplayerui.h
index 2d90af6d8fe..401b8062e8e 100644
--- a/mythtv/libs/libmythtv/mythplayerui.h
+++ b/mythtv/libs/libmythtv/mythplayerui.h
@@ -7,6 +7,8 @@
#include "jitterometer.h"
#include "mythplayer.h"
+class MythDisplay;
+
class MTV_PUBLIC MythPlayerUI : public MythPlayerEditorUI, public MythVideoScanTracker
{
Q_OBJECT
@@ -66,6 +68,8 @@ class MTV_PUBLIC MythPlayerUI : public MythPlayerEditorUI, public MythVideoScanT
bool m_osdDebug { false };
QTimer m_osdDebugTimer;
+
+ MythDisplay *m_display { nullptr };
};
#endif
diff --git a/mythtv/themes/default-wide/osd.xml b/mythtv/themes/default-wide/osd.xml
index f894f60ff6a..bd504901164 100644
--- a/mythtv/themes/default-wide/osd.xml
+++ b/mythtv/themes/default-wide/osd.xml
@@ -140,6 +140,17 @@
805,80,250,25
left,vcenter
+
+