vdr-plugin-softhddevice-drm-gles 1.6.7
cSoftHdConfig Class Reference

Plugin Configuration. More...

#include <config.h>

Public Member Functions

 cSoftHdConfig (void)=default
 
bool SetupParse (const char *, const char *)
 Parse setup parameters.
 
void PrintLogLevel (int)
 
void SetDecoderNeedsMaxPackets (int)
 
int GetDecoderNeedsMaxPackets (void)
 
bool CompareCurrentMode (sDrmMode *)
 Return true, if the given mode is equal to the current display mode.
 

Public Attributes

bool ConfigHideMainMenuEntry = false
 config hide main menu entry
 
int ConfigVideoEnableHDR = 0
 enable HDR
 
int ConfigVideoDisplayMode = CONFIG_DISPLAY_MODE_DEFAULT
 display mode (enum ConfigDisplayMode)
 
bool ConfigAudioSoftvol = false
 config use software volume
 
bool ConfigAudioDownmix = false
 config ffmpeg audio downmix
 
int ConfigAudioPassthroughMask = 0
 config audio pass-through mask
 
bool ConfigAudioPassthroughState = false
 flag audio-passthrough on/off
 
int ConfigAudioAutoAES = 0
 config automatic AES handling
 
int ConfigVideoAudioDelayMs = 0
 config audio delay
 
bool ConfigAudioNormalize = false
 config use normalize volume
 
int ConfigAudioMaxNormalize = 0
 config max normalize factor
 
bool ConfigAudioCompression = false
 config use volume compression
 
int ConfigAudioMaxCompression = 0
 config max volume compression
 
int ConfigAudioStereoDescent = 0
 config reduce stereo loudness
 
int ConfigAudioEq = 0
 config equalizer filter
 
int ConfigAudioEqBand [18]
 config equalizer filter bands
 
int ConfigPipScalePercent = 25
 scale factor of pip video
 
int ConfigPipLeftPercent = 100
 0 = aligned to left, 100 = aligned to right
 
int ConfigPipTopPercent = 0
 0 = aligned to top, 100 = aligned to bottom
 
int ConfigPipUseAlt = false
 
int ConfigPipAltScalePercent = 25
 alternative scale factor of pip video
 
int ConfigPipAltLeftPercent = 0
 0 = aligned to left, 100 = aligned to right
 
int ConfigPipAltTopPercent = 0
 0 = aligned to top, 100 = aligned to bottom
 
bool ConfigLogState = true
 flag logging on/off
 
int ConfigLogLevels = 0
 loglevel config
 
int ConfigAdditionalBufferLengthMs = 0
 config size ms of a/v buffer
 
bool ConfigDisableDeint = false
 disable deinterlacer
 
bool ConfigDecoderFallbackToSw = false
 fallback to software decoder if the hardware decoder fails
 
int ConfigDecoderFallbackToSwNumPkts = 22
 maximum number of packets sent before fallback to sw decoder
 
bool ConfigDecoderNeedsIFrame = false
 start h264 decoder only when an I-Frame arrives
 
bool ConfigParseH264Dimensions = false
 parse h264 stream for width and height for decoder init
 
int ConfigParseH264StreamStart = 0
 log frames at stream start up to the given number of I-Frames
 
int ConfigDropInvalidH264PFrames = 0
 drop P-Frames with invalid references on stream start up to the given number of I-Frames
 
int ConfigMaxSizeGPUImageCache = 128
 config max gpu image cache size
 
int ConfigShowChannelSwitchDurationMessage = 0
 let the skin show a short message about the channel switch duration
 
const charConfigAudioPCMDevice = nullptr
 audio PCM device
 
const charConfigAudioMixerChannel = nullptr
 audio mixer channel name
 
const charConfigDrmConnector = nullptr
 user requested drm connector (e.g. "HDMI-A-1")
 
const charConfigDrmDevice = nullptr
 user requested drm device (e.g. "/dev/dri/card0")
 
const charConfigDisplayResolution = nullptr
 display resolution (syntax: "1920x1080@50")
 
const charConfigOsdResolution = nullptr
 osd resolution (syntax: "1920x1080")
 
int ConfigDisableOglOsd = 0
 config disable ogl osd
 
const charCurrentDecoderName = "unknown"
 current decoder name
 
const charCurrentDecoderType = "unknown"
 current decoder type: "hardware" or "software"
 
std::atomic< intStatMaxShortTermAudioJitterMs = 0
 logged max audio jitter of the last 1000 packets
 
std::atomic< intStatMaxLongTermAudioJitterMs = 0
 logged max overall audio jitter since stream start
 
std::atomic< intStatMaxShortTermVideoJitterMs = 0
 logged max video jitter of the last 1000 packets
 
std::atomic< intStatMaxLongTermVideoJitterMs = 0
 logged max overall video jitter since stream start
 
std::vector< sDrmModeCollectedDrmModes
 collected available drm modes on the current connector
 
sDrmMode AutoDetectedDrmMode
 auto detected mode on the first startup (maybe equal to UserSetMode)
 
sDrmMode UserSetDrmMode
 user requested drm mode on the current connector
 
sDrmMode CurrentDrmMode
 currently used drm mode on the current connector
 
sDrmMode CurrentVideoDrmMode
 currently used video drm mode
 
sDrmMode RequestedDrmMode
 is set to the requested mode which should be changed to
 

Private Attributes

int m_decoderNeedsMaxPackets = 0
 
std::mutex m_mutex
 

Detailed Description

Plugin Configuration.

Definition at line 49 of file config.h.

Constructor & Destructor Documentation

◆ cSoftHdConfig()

cSoftHdConfig::cSoftHdConfig ( void  )
default

Member Function Documentation

◆ CompareCurrentMode()

bool cSoftHdConfig::CompareCurrentMode ( sDrmMode newMode)

Return true, if the given mode is equal to the current display mode.

Definition at line 165 of file config.cpp.

References CurrentDrmMode, sDrmMode::height, sDrmMode::interlaced, sDrmMode::refreshRateHz, and sDrmMode::width.

Referenced by cSoftHdDevice::SetDisplayMode().

◆ GetDecoderNeedsMaxPackets()

int cSoftHdConfig::GetDecoderNeedsMaxPackets ( void  )

Definition at line 156 of file config.cpp.

References m_decoderNeedsMaxPackets, and m_mutex.

Referenced by cMenuSetupSoft::Create(), and cVideoStream::DecodeInput().

◆ PrintLogLevel()

void cSoftHdConfig::PrintLogLevel ( int  loglevel)

◆ SetDecoderNeedsMaxPackets()

void cSoftHdConfig::SetDecoderNeedsMaxPackets ( int  num)

Definition at line 150 of file config.cpp.

References m_decoderNeedsMaxPackets, and m_mutex.

Referenced by cVideoStream::DecodeInput().

◆ SetupParse()

Member Data Documentation

◆ AutoDetectedDrmMode

sDrmMode cSoftHdConfig::AutoDetectedDrmMode

auto detected mode on the first startup (maybe equal to UserSetMode)

Definition at line 133 of file config.h.

Referenced by cMenuSetupSoft::BuildDisplayModeList(), cDrmDevice::FindMode(), and cSoftHdDevice::SetDisplayMode().

◆ CollectedDrmModes

std::vector<sDrmMode> cSoftHdConfig::CollectedDrmModes

collected available drm modes on the current connector

Definition at line 132 of file config.h.

Referenced by cMenuSetupSoft::BuildDisplayModeList(), cDrmDevice::CanHandleMode(), cDrmDevice::Init(), and cSoftHdDevice::SetDisplayMode().

◆ ConfigAdditionalBufferLengthMs

int cSoftHdConfig::ConfigAdditionalBufferLengthMs = 0

config size ms of a/v buffer

Definition at line 97 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cSoftHdDevice::GetBufferFillLevelThresholdMs(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigAudioAutoAES

int cSoftHdConfig::ConfigAudioAutoAES = 0

config automatic AES handling

Definition at line 67 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigAudioCompression

bool cSoftHdConfig::ConfigAudioCompression = false

config use volume compression

Definition at line 71 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cSoftHdAudio::cSoftHdAudio(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigAudioDownmix

bool cSoftHdConfig::ConfigAudioDownmix = false

config ffmpeg audio downmix

Definition at line 64 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cSoftHdAudio::Setup(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigAudioEq

int cSoftHdConfig::ConfigAudioEq = 0

config equalizer filter

Definition at line 76 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cSoftHdAudio::cSoftHdAudio(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigAudioEqBand

int cSoftHdConfig::ConfigAudioEqBand[18]
Initial value:
=
{ 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0 }

config equalizer filter bands

Definition at line 77 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cSoftHdAudio::cSoftHdAudio(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigAudioMaxCompression

int cSoftHdConfig::ConfigAudioMaxCompression = 0

config max volume compression

Definition at line 72 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cSoftHdAudio::cSoftHdAudio(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigAudioMaxNormalize

int cSoftHdConfig::ConfigAudioMaxNormalize = 0

config max normalize factor

Definition at line 70 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cSoftHdAudio::cSoftHdAudio(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigAudioMixerChannel

const char* cSoftHdConfig::ConfigAudioMixerChannel = nullptr

audio mixer channel name

Definition at line 114 of file config.h.

Referenced by cPluginSoftHdDevice::ProcessArgs().

◆ ConfigAudioNormalize

bool cSoftHdConfig::ConfigAudioNormalize = false

config use normalize volume

Definition at line 69 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cSoftHdAudio::cSoftHdAudio(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigAudioPassthroughMask

int cSoftHdConfig::ConfigAudioPassthroughMask = 0

config audio pass-through mask

Definition at line 65 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigAudioPassthroughState

bool cSoftHdConfig::ConfigAudioPassthroughState = false

flag audio-passthrough on/off

Definition at line 66 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigAudioPCMDevice

const char* cSoftHdConfig::ConfigAudioPCMDevice = nullptr

audio PCM device

Definition at line 113 of file config.h.

Referenced by cPluginSoftHdDevice::ProcessArgs().

◆ ConfigAudioSoftvol

bool cSoftHdConfig::ConfigAudioSoftvol = false

config use software volume

Definition at line 63 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigAudioStereoDescent

int cSoftHdConfig::ConfigAudioStereoDescent = 0

config reduce stereo loudness

Definition at line 73 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cSoftHdAudio::cSoftHdAudio(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigDecoderFallbackToSw

bool cSoftHdConfig::ConfigDecoderFallbackToSw = false

fallback to software decoder if the hardware decoder fails

Definition at line 99 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cVideoStream::cVideoStream(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigDecoderFallbackToSwNumPkts

int cSoftHdConfig::ConfigDecoderFallbackToSwNumPkts = 22

maximum number of packets sent before fallback to sw decoder

Definition at line 100 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cVideoStream::cVideoStream(), cSoftHdDevice::SetDecoderFallbackToSw(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigDecoderNeedsIFrame

bool cSoftHdConfig::ConfigDecoderNeedsIFrame = false

start h264 decoder only when an I-Frame arrives

Definition at line 101 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cSoftHdDevice::SetDecoderNeedsIFrame(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigDisableDeint

bool cSoftHdConfig::ConfigDisableDeint = false

disable deinterlacer

Definition at line 98 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cSoftHdDevice::SetDisableDeint(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigDisableOglOsd

int cSoftHdConfig::ConfigDisableOglOsd = 0

◆ ConfigDisplayResolution

const char* cSoftHdConfig::ConfigDisplayResolution = nullptr

display resolution (syntax: "1920x1080@50")

Definition at line 117 of file config.h.

Referenced by cPluginSoftHdDevice::ProcessArgs().

◆ ConfigDrmConnector

const char* cSoftHdConfig::ConfigDrmConnector = nullptr

user requested drm connector (e.g. "HDMI-A-1")

Definition at line 115 of file config.h.

Referenced by cPluginSoftHdDevice::ProcessArgs().

◆ ConfigDrmDevice

const char* cSoftHdConfig::ConfigDrmDevice = nullptr

user requested drm device (e.g. "/dev/dri/card0")

Definition at line 116 of file config.h.

Referenced by cPluginSoftHdDevice::ProcessArgs().

◆ ConfigDropInvalidH264PFrames

int cSoftHdConfig::ConfigDropInvalidH264PFrames = 0

drop P-Frames with invalid references on stream start up to the given number of I-Frames

Definition at line 104 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cVideoStream::OpenDecoder(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigHideMainMenuEntry

bool cSoftHdConfig::ConfigHideMainMenuEntry = false

config hide main menu entry

Definition at line 56 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cPluginSoftHdDevice::MainMenuEntry(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigLogLevels

int cSoftHdConfig::ConfigLogLevels = 0

loglevel config

Definition at line 94 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigLogState

bool cSoftHdConfig::ConfigLogState = true

flag logging on/off

Definition at line 93 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigMaxSizeGPUImageCache

int cSoftHdConfig::ConfigMaxSizeGPUImageCache = 128

config max gpu image cache size

Definition at line 106 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cSoftHdDevice::MaxSizeGPUImageCache(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigOsdResolution

const char* cSoftHdConfig::ConfigOsdResolution = nullptr

osd resolution (syntax: "1920x1080")

Definition at line 118 of file config.h.

Referenced by cDrmDevice::cDrmDevice(), and cPluginSoftHdDevice::ProcessArgs().

◆ ConfigParseH264Dimensions

bool cSoftHdConfig::ConfigParseH264Dimensions = false

parse h264 stream for width and height for decoder init

Definition at line 102 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cSoftHdDevice::SetParseH264Dimensions(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigParseH264StreamStart

int cSoftHdConfig::ConfigParseH264StreamStart = 0

log frames at stream start up to the given number of I-Frames

Definition at line 103 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cVideoStream::OpenDecoder(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigPipAltLeftPercent

int cSoftHdConfig::ConfigPipAltLeftPercent = 0

0 = aligned to left, 100 = aligned to right

Definition at line 89 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cVideoRender::SetPipSize(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigPipAltScalePercent

int cSoftHdConfig::ConfigPipAltScalePercent = 25

alternative scale factor of pip video

Definition at line 88 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cVideoRender::SetPipSize(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigPipAltTopPercent

int cSoftHdConfig::ConfigPipAltTopPercent = 0

0 = aligned to top, 100 = aligned to bottom

Definition at line 90 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cVideoRender::SetPipSize(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigPipLeftPercent

int cSoftHdConfig::ConfigPipLeftPercent = 100

0 = aligned to left, 100 = aligned to right

Definition at line 84 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cVideoRender::SetPipSize(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigPipScalePercent

int cSoftHdConfig::ConfigPipScalePercent = 25

scale factor of pip video

Definition at line 83 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cVideoRender::SetPipSize(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigPipTopPercent

int cSoftHdConfig::ConfigPipTopPercent = 0

0 = aligned to top, 100 = aligned to bottom

Definition at line 85 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cVideoRender::SetPipSize(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigPipUseAlt

int cSoftHdConfig::ConfigPipUseAlt = false

◆ ConfigShowChannelSwitchDurationMessage

int cSoftHdConfig::ConfigShowChannelSwitchDurationMessage = 0

let the skin show a short message about the channel switch duration

Definition at line 108 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), cVideoRender::DisplayFrame(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigVideoAudioDelayMs

◆ ConfigVideoDisplayMode

int cSoftHdConfig::ConfigVideoDisplayMode = CONFIG_DISPLAY_MODE_DEFAULT

display mode (enum ConfigDisplayMode)

Definition at line 60 of file config.h.

Referenced by cMenuSetupSoft::BuildDisplayModeList(), cMenuSetupSoft::cMenuSetupSoft(), cVideoStream::RenderFrame(), SetupParse(), and cMenuSetupSoft::Store().

◆ ConfigVideoEnableHDR

int cSoftHdConfig::ConfigVideoEnableHDR = 0

enable HDR

Definition at line 59 of file config.h.

Referenced by cMenuSetupSoft::cMenuSetupSoft(), SetupParse(), and cMenuSetupSoft::Store().

◆ CurrentDecoderName

const char* cSoftHdConfig::CurrentDecoderName = "unknown"

current decoder name

Definition at line 126 of file config.h.

Referenced by cMenuSetupSoft::Create(), and cVideoStream::OpenDecoder().

◆ CurrentDecoderType

const char* cSoftHdConfig::CurrentDecoderType = "unknown"

current decoder type: "hardware" or "software"

Definition at line 127 of file config.h.

Referenced by cMenuSetupSoft::Create(), and cVideoStream::OpenDecoder().

◆ CurrentDrmMode

sDrmMode cSoftHdConfig::CurrentDrmMode

currently used drm mode on the current connector

Definition at line 135 of file config.h.

Referenced by cMenuSetupSoft::BuildDisplayModeList(), CompareCurrentMode(), and cDrmDevice::FindMode().

◆ CurrentVideoDrmMode

sDrmMode cSoftHdConfig::CurrentVideoDrmMode

currently used video drm mode

Definition at line 136 of file config.h.

Referenced by cVideoStream::RenderFrame(), and cSoftHdDevice::SetDisplayMode().

◆ m_decoderNeedsMaxPackets

int cSoftHdConfig::m_decoderNeedsMaxPackets = 0
private

Definition at line 147 of file config.h.

Referenced by GetDecoderNeedsMaxPackets(), and SetDecoderNeedsMaxPackets().

◆ m_mutex

std::mutex cSoftHdConfig::m_mutex
private

Definition at line 148 of file config.h.

Referenced by GetDecoderNeedsMaxPackets(), and SetDecoderNeedsMaxPackets().

◆ RequestedDrmMode

sDrmMode cSoftHdConfig::RequestedDrmMode

is set to the requested mode which should be changed to

Definition at line 137 of file config.h.

Referenced by cDrmDevice::cDrmDevice(), cSoftHdDevice::HandleDisplayModeChange(), and cDrmDevice::ReInit().

◆ StatMaxLongTermAudioJitterMs

std::atomic<int> cSoftHdConfig::StatMaxLongTermAudioJitterMs = 0

logged max overall audio jitter since stream start

Definition at line 129 of file config.h.

Referenced by cMenuSetupSoft::Create(), and cSoftHdDevice::PlayAudio().

◆ StatMaxLongTermVideoJitterMs

std::atomic<int> cSoftHdConfig::StatMaxLongTermVideoJitterMs = 0

logged max overall video jitter since stream start

Definition at line 131 of file config.h.

Referenced by cMenuSetupSoft::Create(), and cSoftHdDevice::PlayVideoInternal().

◆ StatMaxShortTermAudioJitterMs

std::atomic<int> cSoftHdConfig::StatMaxShortTermAudioJitterMs = 0

logged max audio jitter of the last 1000 packets

Definition at line 128 of file config.h.

Referenced by cMenuSetupSoft::Create(), and cSoftHdDevice::PlayAudio().

◆ StatMaxShortTermVideoJitterMs

std::atomic<int> cSoftHdConfig::StatMaxShortTermVideoJitterMs = 0

logged max video jitter of the last 1000 packets

Definition at line 130 of file config.h.

Referenced by cMenuSetupSoft::Create(), and cSoftHdDevice::PlayVideoInternal().

◆ UserSetDrmMode

sDrmMode cSoftHdConfig::UserSetDrmMode

user requested drm mode on the current connector

Definition at line 134 of file config.h.

Referenced by cDrmDevice::cDrmDevice(), cPluginSoftHdDevice::ProcessArgs(), and cDrmDevice::ReInit().


The documentation for this class was generated from the following files: