vdr-plugin-softhddevice-drm-gles 1.5.9-20e15de
config.cpp
Go to the documentation of this file.
1
26#include <cstring>
27#include <cstdlib>
28#include <mutex>
29
30#include "config.h"
31#include "logger.h"
32
33/*****************************************************************************
34 * cSoftHdConfig - Setup parameters
35 ****************************************************************************/
36
45bool cSoftHdConfig::SetupParse(const char *name, const char *value)
46{
47 //LOGDEBUG("config: %s: '%s' = '%s'", __FUNCTION__, name, value);
48
49 if (!strcasecmp(name, "HideMainMenuEntry")) { ConfigHideMainMenuEntry = atoi(value);
50 } else if (!strcasecmp(name, "AdditionalBufferLengthMs")) { ConfigAdditionalBufferLengthMs = atoi(value);
51 } else if (!strcasecmp(name, "LogLevel")) { ConfigLogLevels = abs(atoi(value));
52 ConfigLogState = atoi(value) > 0;
55 } else if (!strcasecmp(name, "DisableDeint")) { ConfigDisableDeint = atoi(value);
56 } else if (!strcasecmp(name, "DecoderNeedsIFrame")) { ConfigDecoderNeedsIFrame = atoi(value);
57 } else if (!strcasecmp(name, "ParseH264Dimensions")) { ConfigParseH264Dimensions = atoi(value);
58 } else if (!strcasecmp(name, "DecoderFallbackToSw")) { ConfigDecoderFallbackToSw = atoi(value);
59 } else if (!strcasecmp(name, "DecoderFallbackToSwNumPkts")) { ConfigDecoderFallbackToSwNumPkts = atoi(value);
60 } else if (!strcasecmp(name, "AudioDelay")) { ConfigVideoAudioDelayMs = atoi(value);
61 } else if (!strcasecmp(name, "AudioPassthrough")) { ConfigAudioPassthroughMask = abs(atoi(value)); ConfigAudioPassthroughState = atoi(value) > 0;
62 } else if (!strcasecmp(name, "AudioDownmix")) { ConfigAudioDownmix = atoi(value);
63 } else if (!strcasecmp(name, "AudioSoftvol")) { ConfigAudioSoftvol = atoi(value);
64 } else if (!strcasecmp(name, "AudioNormalize")) { ConfigAudioNormalize = atoi(value);
65 } else if (!strcasecmp(name, "AudioMaxNormalize")) { ConfigAudioMaxNormalize = atoi(value);
66 } else if (!strcasecmp(name, "AudioCompression")) { ConfigAudioCompression = atoi(value);
67 } else if (!strcasecmp(name, "AudioMaxCompression")) { ConfigAudioMaxCompression = atoi(value);
68 } else if (!strcasecmp(name, "AudioStereoDescent")) { ConfigAudioStereoDescent = atoi(value);
69 } else if (!strcasecmp(name, "AudioAutoAES")) { ConfigAudioAutoAES = atoi(value);
70 } else if (!strcasecmp(name, "AudioEq")) { ConfigAudioEq = atoi(value);
71 } else if (!strcasecmp(name, "AudioEqBand01b")) { ConfigAudioEqBand[0] = atoi(value);
72 } else if (!strcasecmp(name, "AudioEqBand02b")) { ConfigAudioEqBand[1] = atoi(value);
73 } else if (!strcasecmp(name, "AudioEqBand03b")) { ConfigAudioEqBand[2] = atoi(value);
74 } else if (!strcasecmp(name, "AudioEqBand04b")) { ConfigAudioEqBand[3] = atoi(value);
75 } else if (!strcasecmp(name, "AudioEqBand05b")) { ConfigAudioEqBand[4] = atoi(value);
76 } else if (!strcasecmp(name, "AudioEqBand06b")) { ConfigAudioEqBand[5] = atoi(value);
77 } else if (!strcasecmp(name, "AudioEqBand07b")) { ConfigAudioEqBand[6] = atoi(value);
78 } else if (!strcasecmp(name, "AudioEqBand08b")) { ConfigAudioEqBand[7] = atoi(value);
79 } else if (!strcasecmp(name, "AudioEqBand09b")) { ConfigAudioEqBand[8] = atoi(value);
80 } else if (!strcasecmp(name, "AudioEqBand10b")) { ConfigAudioEqBand[9] = atoi(value);
81 } else if (!strcasecmp(name, "AudioEqBand11b")) { ConfigAudioEqBand[10] = atoi(value);
82 } else if (!strcasecmp(name, "AudioEqBand12b")) { ConfigAudioEqBand[11] = atoi(value);
83 } else if (!strcasecmp(name, "AudioEqBand13b")) { ConfigAudioEqBand[12] = atoi(value);
84 } else if (!strcasecmp(name, "AudioEqBand14b")) { ConfigAudioEqBand[13] = atoi(value);
85 } else if (!strcasecmp(name, "AudioEqBand15b")) { ConfigAudioEqBand[14] = atoi(value);
86 } else if (!strcasecmp(name, "AudioEqBand16b")) { ConfigAudioEqBand[15] = atoi(value);
87 } else if (!strcasecmp(name, "AudioEqBand17b")) { ConfigAudioEqBand[16] = atoi(value);
88 } else if (!strcasecmp(name, "AudioEqBand18b")) { ConfigAudioEqBand[17] = atoi(value);
89 } else if (!strcasecmp(name, "PipScalePercent")) { ConfigPipScalePercent = atoi(value);
90 } else if (!strcasecmp(name, "PipLeftPercent")) { ConfigPipLeftPercent = atoi(value);
91 } else if (!strcasecmp(name, "PipTopPercent")) { ConfigPipTopPercent = atoi(value);
92 } else if (!strcasecmp(name, "PipUseAlt")) { ConfigPipUseAlt = atoi(value);
93 } else if (!strcasecmp(name, "PipAltScalePercent")) { ConfigPipAltScalePercent = atoi(value);
94 } else if (!strcasecmp(name, "PipAltLeftPercent")) { ConfigPipAltLeftPercent = atoi(value);
95 } else if (!strcasecmp(name, "PipAltTopPercent")) { ConfigPipAltTopPercent = atoi(value);
96#ifdef USE_GLES
97 } else if (!strcasecmp(name, "MaxSizeGPUImageCache")) { ConfigMaxSizeGPUImageCache = atoi(value);
98#endif
99 } else
100 return false;
101
102 return true;
103}
104
106{
107 if (!loglevel)
108 return;
109
110 char prefix[256] = "Set loglevels:";
111 if (loglevel & L_DEBUG)
112 strcat(prefix, " standard debugs,");
113 if (loglevel & L_AV_SYNC)
114 strcat(prefix, " AV-Sync,");
115 if (loglevel & L_SOUND)
116 strcat(prefix, " sound,");
117 if (loglevel & L_OSD)
118 strcat(prefix, " osd,");
119 if (loglevel & L_DRM)
120 strcat(prefix, " drm,");
121 if (loglevel & L_CODEC)
122 strcat(prefix, " codec,");
123 if (loglevel & L_FFMPEG)
124 strcat(prefix, " ffmpeg,");
125 if (loglevel & L_STILL)
126 strcat(prefix, " stillpicture,");
127 if (loglevel & L_TRICK)
128 strcat(prefix, " trickspeed,");
129 if (loglevel & L_MEDIA)
130 strcat(prefix, " mediaplayer,");
131 if ((loglevel & L_OPENGL) ||
132 (loglevel & L_OPENGL_TIME) ||
133 (loglevel & L_OPENGL_TIME_ALL))
134 strcat(prefix, " OpenGL OSD,");
135 if (loglevel & L_PACKET)
136 strcat(prefix, " packet tracking,");
137 if (loglevel & L_GRAB)
138 strcat(prefix, " grabbing");
139
140 LOGINFO("%s", prefix);
141}
142
144{
145 std::lock_guard<std::mutex> lock(m_mutex);
147}
148
150{
151 std::lock_guard<std::mutex> lock(m_mutex);
153}
bool ConfigParseH264Dimensions
parse h264 stream for width and height for decoder init
Definition config.h:62
int ConfigVideoAudioDelayMs
config audio delay
Definition config.h:42
void PrintLogLevel(int)
Definition config.cpp:105
bool ConfigLogState
flag logging on/off
Definition config.h:58
bool ConfigAudioNormalize
config use normalize volume
Definition config.h:47
int ConfigAudioAutoAES
config automatic AES handling
Definition config.h:52
int ConfigAudioStereoDescent
config reduce stereo loudness
Definition config.h:51
int m_decoderNeedsMaxPackets
Definition config.h:93
int ConfigDecoderFallbackToSwNumPkts
maximum number of packets sent before fallback to sw decoder
Definition config.h:64
void SetDecoderNeedsMaxPackets(int)
Definition config.cpp:143
bool ConfigAudioCompression
config use volume compression
Definition config.h:49
bool ConfigAudioPassthroughState
flag audio-passthrough on/off
Definition config.h:44
bool ConfigAudioSoftvol
config use software volume
Definition config.h:46
bool ConfigDisableDeint
disable deinterlacer
Definition config.h:60
int ConfigPipAltTopPercent
0 = aligned to top, 100 = aligned to bottom
Definition config.h:75
int ConfigAudioEqBand[18]
config equalizer filter bands
Definition config.h:54
int ConfigPipLeftPercent
0 = aligned to left, 100 = aligned to right
Definition config.h:68
int ConfigAdditionalBufferLengthMs
config size ms of a/v buffer
Definition config.h:41
int ConfigAudioMaxCompression
config max volume compression
Definition config.h:50
int ConfigPipAltLeftPercent
0 = aligned to left, 100 = aligned to right
Definition config.h:74
int ConfigLogLevels
loglevel config
Definition config.h:59
int ConfigPipAltScalePercent
alternative scale factor of pip video
Definition config.h:73
bool SetupParse(const char *, const char *)
Parse setup parameters.
Definition config.cpp:45
int ConfigPipTopPercent
0 = aligned to top, 100 = aligned to bottom
Definition config.h:69
bool ConfigDecoderNeedsIFrame
start h264 decoder only when an I-Frame arrives
Definition config.h:61
bool ConfigDecoderFallbackToSw
fallback to software decoder if the hardware decoder fails
Definition config.h:63
int GetDecoderNeedsMaxPackets(void)
Definition config.cpp:149
int ConfigAudioEq
config equalizer filter
Definition config.h:53
int ConfigPipScalePercent
scale factor of pip video
Definition config.h:67
int ConfigPipUseAlt
Definition config.h:71
int ConfigAudioPassthroughMask
config audio pass-through mask
Definition config.h:43
std::mutex m_mutex
Definition config.h:94
bool ConfigHideMainMenuEntry
config hide main menu entry
Definition config.h:57
bool ConfigAudioDownmix
config ffmpeg audio downmix
Definition config.h:45
int ConfigAudioMaxNormalize
config max normalize factor
Definition config.h:48
static std::shared_ptr< cSoftHdLogger > GetLogger()
Get an instance to the global logger.
Definition logger.cpp:51
SoftHdDevice config header file.
Logger class header file.
#define L_OPENGL_TIME_ALL
Definition logger.h:64
#define L_DEBUG
Logger flags.
Definition logger.h:53
#define L_FFMPEG
Definition logger.h:67
#define L_SOUND
Definition logger.h:55
#define L_DRM
Definition logger.h:57
#define L_OPENGL_TIME
Definition logger.h:63
#define L_GRAB
Definition logger.h:66
#define L_AV_SYNC
Definition logger.h:54
#define L_STILL
Definition logger.h:59
#define L_CODEC
Definition logger.h:58
#define L_PACKET
Definition logger.h:65
#define L_OPENGL
Definition logger.h:62
#define LOGINFO
Definition logger.h:43
#define L_TRICK
Definition logger.h:60
#define L_OSD
Definition logger.h:56
#define L_MEDIA
Definition logger.h:61