Skip to content

Commit

Permalink
StatusBox: Add 'Video decoders' item to list available hardware decoders
Browse files Browse the repository at this point in the history
- limited to VAAPI until extended for other APIs/platforms
  • Loading branch information
mark-kendall committed Jan 17, 2020
1 parent cfe014e commit 21f8ecc
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 0 deletions.
28 changes: 28 additions & 0 deletions mythtv/programs/mythfrontend/statusbox.cpp
Expand Up @@ -29,6 +29,7 @@ using namespace std;
#include "mythdialogbox.h"
#include "mythrender_base.h"
#include "mythdisplay.h"
#include "decoders/mythcodeccontext.h"

struct LogLine {
QString m_line;
Expand Down Expand Up @@ -119,6 +120,10 @@ void StatusBox::Init()
QVariant::fromValue((void*)SLOT(doJobQueueStatus())));
item->DisplayState("jobqueue", "icon");

item = new MythUIButtonListItem(m_categoryList, tr("Video decoders"),
QVariant::fromValue((void*)SLOT(doDecoderStatus())));
item->DisplayState("decoders", "icon");

item = new MythUIButtonListItem(m_categoryList, tr("Display"),
QVariant::fromValue((void*)SLOT(doDisplayStatus())));
item->DisplayState("display", "icon");
Expand Down Expand Up @@ -1460,6 +1465,29 @@ void StatusBox::doMachineStatus()

}

void StatusBox::doDecoderStatus()
{
if (m_iconState)
m_iconState->DisplayState("decoders");
m_logList->Reset();
QString displayhelp = tr("Available hardware decoders for video playback.");
if (m_helpText)
m_helpText->SetText(displayhelp);
if (m_justHelpText)
m_justHelpText->SetText(displayhelp);

QStringList decoders = MythCodecContext::GetDecoderDescription();
if (decoders.isEmpty())
{
AddLogLine(tr("None"));
}
else
{
foreach (QString decoder, decoders)
AddLogLine(decoder);
}
}

void StatusBox::doDisplayStatus()
{
if (m_iconState)
Expand Down
1 change: 1 addition & 0 deletions mythtv/programs/mythfrontend/statusbox.h
Expand Up @@ -45,6 +45,7 @@ class StatusBox : public MythScreenType
void doMachineStatus();
void doAutoExpireList(bool updateExpList = true);
void doDisplayStatus();
void doDecoderStatus();

private:
void AddLogLine(const QString & line,
Expand Down

0 comments on commit 21f8ecc

Please sign in to comment.