diff --git a/HISTORY b/HISTORY index 4080788..d54ed1d 100644 --- a/HISTORY +++ b/HISTORY @@ -519,3 +519,7 @@ VDR Plugin 'femon' Revision History - Updated CA definitions. - Fixed the SVDRP service IP menu item (Thanks to Toerless Eckert). - Fixed the detaching of receiver during a channel switch. + +2015-XX-XX: Version 2.2.1 + +- diff --git a/femon.c b/femon.c index f173af9..a5e18a2 100644 --- a/femon.c +++ b/femon.c @@ -22,7 +22,7 @@ #define GITVERSION "" #endif -static const char VERSION[] = "2.2.0" GITVERSION; +static const char VERSION[] = "2.2.1" GITVERSION; static const char DESCRIPTION[] = trNOOP("DVB Signal Information Monitor (OSD)"); static const char MAINMENUENTRY[] = trNOOP("Signal Information"); @@ -40,13 +40,13 @@ public: virtual void Housekeeping(void); virtual void MainThreadHook(void) {} virtual cString Active(void) { return NULL; } - virtual const char *MainMenuEntry(void) { return (femonConfig.hidemenu ? NULL : tr(MAINMENUENTRY)); } + virtual const char *MainMenuEntry(void) { return (FemonConfig.hidemenu ? NULL : tr(MAINMENUENTRY)); } virtual cOsdObject *MainMenuAction(void); virtual cMenuSetupPage *SetupMenu(void); - virtual bool SetupParse(const char *Name, const char *Value); - virtual bool Service(const char *Id, void *Data); + virtual bool SetupParse(const char *nameP, const char *valueP); + virtual bool Service(const char *idP, void *dataP); virtual const char **SVDRPHelpPages(void); - virtual cString SVDRPCommand(const char *Command, const char *Option, int &ReplyCode); + virtual cString SVDRPCommand(const char *commandP, const char *optionP, int &replyCodeP); }; cPluginFemon::cPluginFemon() @@ -108,35 +108,35 @@ cOsdObject *cPluginFemon::MainMenuAction(void) return NULL; } -bool cPluginFemon::SetupParse(const char *Name, const char *Value) +bool cPluginFemon::SetupParse(const char *nameP, const char *valueP) { // Parse your own setup parameters and store their values. - if (!strcasecmp(Name, "HideMenu")) femonConfig.hidemenu = atoi(Value); - else if (!strcasecmp(Name, "DisplayMode")) femonConfig.displaymode = atoi(Value); - else if (!strcasecmp(Name, "Position")) femonConfig.position = atoi(Value); - else if (!strcasecmp(Name, "Skin")) femonConfig.skin = atoi(Value); - else if (!strcasecmp(Name, "Theme")) femonConfig.theme = atoi(Value); - else if (!strcasecmp(Name, "Downscale")) femonConfig.downscale = atoi(Value); - else if (!strcasecmp(Name, "RedLimit")) femonConfig.redlimit = atoi(Value); - else if (!strcasecmp(Name, "GreenLimit")) femonConfig.greenlimit = atoi(Value); - else if (!strcasecmp(Name, "UpdateInterval")) femonConfig.updateinterval = atoi(Value); - else if (!strcasecmp(Name, "AnalStream")) femonConfig.analyzestream = atoi(Value); - else if (!strcasecmp(Name, "CalcInterval")) femonConfig.calcinterval = atoi(Value); - else if (!strcasecmp(Name, "UseSvdrp")) femonConfig.usesvdrp = atoi(Value); - else if (!strcasecmp(Name, "ServerPort")) femonConfig.svdrpport = atoi(Value); - else if (!strcasecmp(Name, "ServerIp")) strn0cpy(femonConfig.svdrpip, Value, sizeof(femonConfig.svdrpip)); + if (!strcasecmp(nameP, "HideMenu")) FemonConfig.hidemenu = atoi(valueP); + else if (!strcasecmp(nameP, "DisplayMode")) FemonConfig.displaymode = atoi(valueP); + else if (!strcasecmp(nameP, "Position")) FemonConfig.position = atoi(valueP); + else if (!strcasecmp(nameP, "Skin")) FemonConfig.skin = atoi(valueP); + else if (!strcasecmp(nameP, "Theme")) FemonConfig.theme = atoi(valueP); + else if (!strcasecmp(nameP, "Downscale")) FemonConfig.downscale = atoi(valueP); + else if (!strcasecmp(nameP, "RedLimit")) FemonConfig.redlimit = atoi(valueP); + else if (!strcasecmp(nameP, "GreenLimit")) FemonConfig.greenlimit = atoi(valueP); + else if (!strcasecmp(nameP, "UpdateInterval")) FemonConfig.updateinterval = atoi(valueP); + else if (!strcasecmp(nameP, "AnalStream")) FemonConfig.analyzestream = atoi(valueP); + else if (!strcasecmp(nameP, "CalcInterval")) FemonConfig.calcinterval = atoi(valueP); + else if (!strcasecmp(nameP, "UseSvdrp")) FemonConfig.usesvdrp = atoi(valueP); + else if (!strcasecmp(nameP, "ServerPort")) FemonConfig.svdrpport = atoi(valueP); + else if (!strcasecmp(nameP, "ServerIp")) strn0cpy(FemonConfig.svdrpip, valueP, sizeof(FemonConfig.svdrpip)); else return false; - if (femonConfig.displaymode < 0 || femonConfig.displaymode >= eFemonModeMaxNumber) femonConfig.displaymode = 0; + if (FemonConfig.displaymode < 0 || FemonConfig.displaymode >= eFemonModeMaxNumber) FemonConfig.displaymode = 0; return true; } -bool cPluginFemon::Service(const char *Id, void *Data) +bool cPluginFemon::Service(const char *idP, void *dataP) { - if (strcmp(Id,"FemonService-v1.0") == 0) { - if (Data) { - FemonService_v1_0 *data = reinterpret_cast(Data); + if (strcmp(idP, "FemonService-v1.0") == 0) { + if (dataP) { + FemonService_v1_0 *data = reinterpret_cast(dataP); if (!cDevice::ActualDevice()) return false; cDvbDevice *dev = getDvbDevice(cDevice::ActualDevice()); @@ -196,82 +196,82 @@ const char **cPluginFemon::SVDRPHelpPages(void) return HelpPages; } -cString cPluginFemon::SVDRPCommand(const char *Command, const char *Option, int &ReplyCode) +cString cPluginFemon::SVDRPCommand(const char *commandP, const char *optionP, int &replyCodeP) { cDvbDevice *dev = getDvbDevice(cDevice::ActualDevice()); - if (*Option && isnumber(Option)) { - cDvbDevice *dev2 = dynamic_cast(cDevice::GetDevice(int(strtol(Option, NULL, 10)))); + if (*optionP && isnumber(optionP)) { + cDvbDevice *dev2 = dynamic_cast(cDevice::GetDevice(int(strtol(optionP, NULL, 10)))); if (dev2) dev = dev2; } if (cReplayControl::NowReplaying() || !dev) { - ReplyCode = 550; // Requested action not taken + replyCodeP = 550; // Requested action not taken return cString("Cannot open femon plugin while replaying"); } - if (strcasecmp(Command, "OPEN") == 0) { + if (strcasecmp(commandP, "OPEN") == 0) { if (!cFemonOsd::Instance()) cRemote::CallPlugin(Name()); return cString("Opening femon plugin"); } - else if (strcasecmp(Command, "QUIT") == 0) { + else if (strcasecmp(commandP, "QUIT") == 0) { if (cFemonOsd::Instance()) cRemote::Put(kBack); return cString("Closing femon plugin"); } - else if (strcasecmp(Command, "NEXT") == 0) { + else if (strcasecmp(commandP, "NEXT") == 0) { if (cFemonOsd::Instance()) return cString::sprintf("Switching to next device: %s", cFemonOsd::Instance()->DeviceSwitch(1) ? "ok" : "failed"); else return cString("Cannot switch device"); } - else if (strcasecmp(Command, "PREV") == 0) { + else if (strcasecmp(commandP, "PREV") == 0) { if (cFemonOsd::Instance()) return cString::sprintf("Switching to previous device: %s", cFemonOsd::Instance()->DeviceSwitch(-1) ? "ok" : "failed"); else return cString("Cannot switch device"); } - else if (strcasecmp(Command, "INFO") == 0) { + else if (strcasecmp(commandP, "INFO") == 0) { return getFrontendInfo(dev); } - else if (strcasecmp(Command, "NAME") == 0) { + else if (strcasecmp(commandP, "NAME") == 0) { return getFrontendName(dev); } - else if (strcasecmp(Command, "STAT") == 0) { + else if (strcasecmp(commandP, "STAT") == 0) { return getFrontendStatus(dev); } - else if (strcasecmp(Command, "STRG") == 0) { + else if (strcasecmp(commandP, "STRG") == 0) { return cString::sprintf("%d on device #%d", dev->SignalStrength(), dev->CardIndex()); } - else if (strcasecmp(Command, "QUAL") == 0) { + else if (strcasecmp(commandP, "QUAL") == 0) { return cString::sprintf("%d on device #%d", dev->SignalQuality(), dev->CardIndex()); } - else if (strcasecmp(Command, "SGNL") == 0) { + else if (strcasecmp(commandP, "SGNL") == 0) { int value = getSignal(dev); return cString::sprintf("%04X (%02d%%) on device #%d", value, value / 655, dev->CardIndex()); } - else if (strcasecmp(Command, "SNRA") == 0) { + else if (strcasecmp(commandP, "SNRA") == 0) { int value = getSNR(dev); return cString::sprintf("%04X (%02d%%) on device #%d", value, value / 655, dev->CardIndex()); } - else if (strcasecmp(Command, "BERA") == 0) { + else if (strcasecmp(commandP, "BERA") == 0) { return cString::sprintf("%08X on device #%d", getBER(dev), dev->CardIndex()); } - else if (strcasecmp(Command, "UNCB") == 0) { + else if (strcasecmp(commandP, "UNCB") == 0) { return cString::sprintf("%08X on device #%d", getUNC(dev), dev->CardIndex()); } - else if (strcasecmp(Command, "VIBR") == 0) { + else if (strcasecmp(commandP, "VIBR") == 0) { if (cFemonOsd::Instance()) return cString::sprintf("%s on device #%d", *getBitrateMbits(cFemonOsd::Instance()->GetVideoBitrate()), cDevice::ActualDevice()->CardIndex()); else return cString::sprintf("--- Mbit/s on device #%d", cDevice::ActualDevice()->CardIndex()); } - else if (strcasecmp(Command, "AUBR") == 0) { + else if (strcasecmp(commandP, "AUBR") == 0) { if (cFemonOsd::Instance()) return cString::sprintf("%s on device #%d", *getBitrateKbits(cFemonOsd::Instance()->GetAudioBitrate()), cDevice::ActualDevice()->CardIndex()); else return cString::sprintf("--- kbit/s on device #%d", cDevice::ActualDevice()->CardIndex()); } - else if (strcasecmp(Command, "DDBR") == 0) { + else if (strcasecmp(commandP, "DDBR") == 0) { if (cFemonOsd::Instance()) return cString::sprintf("%s on device #%d", *getBitrateKbits(cFemonOsd::Instance()->GetDolbyBitrate()), cDevice::ActualDevice()->CardIndex()); else @@ -282,42 +282,42 @@ cString cPluginFemon::SVDRPCommand(const char *Command, const char *Option, int class cMenuFemonSetup : public cMenuSetupPage { private: - const char *dispmodes[eFemonModeMaxNumber]; - const char *skins[eFemonSkinMaxNumber]; - const char *themes[eFemonThemeMaxNumber]; - cFemonConfig data; - cVector help; + const char *dispModesM[eFemonModeMaxNumber]; + const char *skinsM[eFemonSkinMaxNumber]; + const char *themesM[eFemonThemeMaxNumber]; + cFemonConfig dataM; + cVector helpM; void Setup(void); protected: virtual eOSState ProcessKey(eKeys Key); virtual void Store(void); public: - cMenuFemonSetup(void); + cMenuFemonSetup(); }; -cMenuFemonSetup::cMenuFemonSetup(void) +cMenuFemonSetup::cMenuFemonSetup() { debug("%s()\n", __PRETTY_FUNCTION__); - dispmodes[eFemonModeBasic] = tr("basic"); - dispmodes[eFemonModeTransponder] = tr("transponder"); - dispmodes[eFemonModeStream] = tr("stream"); - dispmodes[eFemonModeAC3] = tr("AC-3"); + dispModesM[eFemonModeBasic] = tr("basic"); + dispModesM[eFemonModeTransponder] = tr("transponder"); + dispModesM[eFemonModeStream] = tr("stream"); + dispModesM[eFemonModeAC3] = tr("AC-3"); - skins[eFemonSkinClassic] = tr("Classic"); - skins[eFemonSkinElchi] = tr("Elchi"); + skinsM[eFemonSkinClassic] = tr("Classic"); + skinsM[eFemonSkinElchi] = tr("Elchi"); - themes[eFemonThemeClassic] = tr("Classic"); - themes[eFemonThemeElchi] = tr("Elchi"); - themes[eFemonThemeSTTNG] = tr("ST:TNG"); - themes[eFemonThemeDeepBlue] = tr("DeepBlue"); - themes[eFemonThemeMoronimo] = tr("Moronimo"); - themes[eFemonThemeEnigma] = tr("Enigma"); - themes[eFemonThemeEgalsTry] = tr("EgalsTry"); - themes[eFemonThemeDuotone] = tr("Duotone"); - themes[eFemonThemeSilverGreen] = tr("SilverGreen"); - themes[eFemonThemePearlHD] = tr("PearlHD"); + themesM[eFemonThemeClassic] = tr("Classic"); + themesM[eFemonThemeElchi] = tr("Elchi"); + themesM[eFemonThemeSTTNG] = tr("ST:TNG"); + themesM[eFemonThemeDeepBlue] = tr("DeepBlue"); + themesM[eFemonThemeMoronimo] = tr("Moronimo"); + themesM[eFemonThemeEnigma] = tr("Enigma"); + themesM[eFemonThemeEgalsTry] = tr("EgalsTry"); + themesM[eFemonThemeDuotone] = tr("Duotone"); + themesM[eFemonThemeSilverGreen] = tr("SilverGreen"); + themesM[eFemonThemePearlHD] = tr("PearlHD"); - data = femonConfig; + dataM = FemonConfig; SetMenuCategory(mcSetupPlugins); Setup(); } @@ -327,52 +327,52 @@ void cMenuFemonSetup::Setup(void) int current = Current(); Clear(); - help.Clear(); + helpM.Clear(); - Add(new cMenuEditBoolItem(tr("Hide main menu entry"), &data.hidemenu)); - help.Append(tr("Define whether the main menu entry is hidden.")); + Add(new cMenuEditBoolItem(tr("Hide main menu entry"), &dataM.hidemenu)); + helpM.Append(tr("Define whether the main menu entry is hidden.")); - Add(new cMenuEditStraItem(tr("Default display mode"), &data.displaymode, eFemonModeMaxNumber, dispmodes)); - help.Append(tr("Define the default display mode at startup.")); + Add(new cMenuEditStraItem(tr("Default display mode"), &dataM.displaymode, eFemonModeMaxNumber, dispModesM)); + helpM.Append(tr("Define the default display mode at startup.")); - Add(new cMenuEditStraItem(trVDR("Setup.OSD$Skin"), &data.skin, eFemonSkinMaxNumber, skins)); - help.Append(tr("Define the used OSD skin.")); + Add(new cMenuEditStraItem(trVDR("Setup.OSD$Skin"), &dataM.skin, eFemonSkinMaxNumber, skinsM)); + helpM.Append(tr("Define the used OSD skin.")); - Add(new cMenuEditStraItem(trVDR("Setup.OSD$Theme"), &data.theme, eFemonThemeMaxNumber,themes)); - help.Append(tr("Define the used OSD theme.")); + Add(new cMenuEditStraItem(trVDR("Setup.OSD$Theme"), &dataM.theme, eFemonThemeMaxNumber, themesM)); + helpM.Append(tr("Define the used OSD theme.")); - Add(new cMenuEditBoolItem(tr("Position"), &data.position, trVDR("bottom"), trVDR("top"))); - help.Append(tr("Define the position of OSD.")); + Add(new cMenuEditBoolItem(tr("Position"), &dataM.position, trVDR("bottom"), trVDR("top"))); + helpM.Append(tr("Define the position of OSD.")); - Add(new cMenuEditIntItem(tr("Downscale OSD size [%]"), &data.downscale, 0, 20)); - help.Append(tr("Define the downscale ratio for OSD size.")); + Add(new cMenuEditIntItem(tr("Downscale OSD size [%]"), &dataM.downscale, 0, 20)); + helpM.Append(tr("Define the downscale ratio for OSD size.")); - Add(new cMenuEditIntItem(tr("Red limit [%]"), &data.redlimit, 1, 50)); - help.Append(tr("Define a limit for red bar, which is used to indicate a bad signal.")); + Add(new cMenuEditIntItem(tr("Red limit [%]"), &dataM.redlimit, 1, 50)); + helpM.Append(tr("Define a limit for red bar, which is used to indicate a bad signal.")); - Add(new cMenuEditIntItem(tr("Green limit [%]"), &data.greenlimit, 51, 100)); - help.Append(tr("Define a limit for green bar, which is used to indicate a good signal.")); + Add(new cMenuEditIntItem(tr("Green limit [%]"), &dataM.greenlimit, 51, 100)); + helpM.Append(tr("Define a limit for green bar, which is used to indicate a good signal.")); - Add(new cMenuEditIntItem(tr("OSD update interval [0.1s]"), &data.updateinterval, 1, 100)); - help.Append(tr("Define an interval for OSD updates. The smaller interval generates higher CPU load.")); + Add(new cMenuEditIntItem(tr("OSD update interval [0.1s]"), &dataM.updateinterval, 1, 100)); + helpM.Append(tr("Define an interval for OSD updates. The smaller interval generates higher CPU load.")); - Add(new cMenuEditBoolItem(tr("Analyze stream"), &data.analyzestream)); - help.Append(tr("Define whether the DVB stream is analyzed and bitrates calculated.")); + Add(new cMenuEditBoolItem(tr("Analyze stream"), &dataM.analyzestream)); + helpM.Append(tr("Define whether the DVB stream is analyzed and bitrates calculated.")); - if (femonConfig.analyzestream) { - Add(new cMenuEditIntItem(tr("Calculation interval [0.1s]"), &data.calcinterval, 1, 100)); - help.Append(tr("Define an interval for calculation. The bigger interval generates more stable values.")); + if (FemonConfig.analyzestream) { + Add(new cMenuEditIntItem(tr("Calculation interval [0.1s]"), &dataM.calcinterval, 1, 100)); + helpM.Append(tr("Define an interval for calculation. The bigger interval generates more stable values.")); } - Add(new cMenuEditBoolItem(tr("Use SVDRP service"), &data.usesvdrp)); - help.Append(tr("Define whether the SVDRP service is used in client/server setups.")); + Add(new cMenuEditBoolItem(tr("Use SVDRP service"), &dataM.usesvdrp)); + helpM.Append(tr("Define whether the SVDRP service is used in client/server setups.")); - if (data.usesvdrp) { - Add(new cMenuEditIntItem(tr("SVDRP service port"), &data.svdrpport, 1, 65535)); - help.Append(tr("Define the port number of SVDRP service.")); + if (dataM.usesvdrp) { + Add(new cMenuEditIntItem(tr("SVDRP service port"), &dataM.svdrpport, 1, 65535)); + helpM.Append(tr("Define the port number of SVDRP service.")); - Add(new cMenuEditStrItem(tr("SVDRP service IP"), data.svdrpip, sizeof(data.svdrpip), ".1234567890")); - help.Append(tr("Define the IP address of SVDRP service.")); + Add(new cMenuEditStrItem(tr("SVDRP service IP"), dataM.svdrpip, sizeof(dataM.svdrpip), ".1234567890")); + helpM.Append(tr("Define the IP address of SVDRP service.")); } SetCurrent(Get(current)); @@ -382,35 +382,35 @@ void cMenuFemonSetup::Setup(void) void cMenuFemonSetup::Store(void) { debug("%s()\n", __PRETTY_FUNCTION__); - femonConfig = data; - SetupStore("HideMenu", femonConfig.hidemenu); - SetupStore("DisplayMode", femonConfig.displaymode); - SetupStore("Skin", femonConfig.skin); - SetupStore("Theme", femonConfig.theme); - SetupStore("Position", femonConfig.position); - SetupStore("Downscale", femonConfig.downscale); - SetupStore("RedLimit", femonConfig.redlimit); - SetupStore("GreenLimit", femonConfig.greenlimit); - SetupStore("UpdateInterval", femonConfig.updateinterval); - SetupStore("AnalStream", femonConfig.analyzestream); - SetupStore("CalcInterval", femonConfig.calcinterval); - SetupStore("UseSvdrp", femonConfig.usesvdrp); - SetupStore("ServerPort", femonConfig.svdrpport); - SetupStore("ServerIp", femonConfig.svdrpip); + FemonConfig = dataM; + SetupStore("HideMenu", FemonConfig.hidemenu); + SetupStore("DisplayMode", FemonConfig.displaymode); + SetupStore("Skin", FemonConfig.skin); + SetupStore("Theme", FemonConfig.theme); + SetupStore("Position", FemonConfig.position); + SetupStore("Downscale", FemonConfig.downscale); + SetupStore("RedLimit", FemonConfig.redlimit); + SetupStore("GreenLimit", FemonConfig.greenlimit); + SetupStore("UpdateInterval", FemonConfig.updateinterval); + SetupStore("AnalStream", FemonConfig.analyzestream); + SetupStore("CalcInterval", FemonConfig.calcinterval); + SetupStore("UseSvdrp", FemonConfig.usesvdrp); + SetupStore("ServerPort", FemonConfig.svdrpport); + SetupStore("ServerIp", FemonConfig.svdrpip); } eOSState cMenuFemonSetup::ProcessKey(eKeys Key) { - int oldUsesvdrp = data.usesvdrp; - int oldAnalyzestream = data.analyzestream; + int oldUsesvdrp = dataM.usesvdrp; + int oldAnalyzestream = dataM.analyzestream; eOSState state = cMenuSetupPage::ProcessKey(Key); - if (Key != kNone && (data.analyzestream != oldAnalyzestream || data.usesvdrp != oldUsesvdrp)) + if (Key != kNone && (dataM.analyzestream != oldAnalyzestream || dataM.usesvdrp != oldUsesvdrp)) Setup(); - if ((Key == kInfo) && (state == osUnknown) && (Current() < help.Size())) - return AddSubMenu(new cMenuText(cString::sprintf("%s - %s '%s'", tr("Help"), trVDR("Plugin"), PLUGIN_NAME_I18N), help[Current()])); + if ((Key == kInfo) && (state == osUnknown) && (Current() < helpM.Size())) + return AddSubMenu(new cMenuText(cString::sprintf("%s - %s '%s'", tr("Help"), trVDR("Plugin"), PLUGIN_NAME_I18N), helpM[Current()])); return state; } diff --git a/femonaac.c b/femonaac.c index a96b745..04007da 100644 --- a/femonaac.c +++ b/femonaac.c @@ -10,13 +10,13 @@ #define IS_HEAAC_AUDIO(buf) (((buf)[0] == 0xFF) && (((buf)[1] & 0xF6) == 0xF0)) -int cFemonAAC::s_Samplerates[16] = +int cFemonAAC::sampleRateS[16] = { 96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, -1, -1, -1, -1 }; -cFemonAAC::cFemonAAC(cFemonAudioIf *audiohandler) -: m_AudioHandler(audiohandler) +cFemonAAC::cFemonAAC(cFemonAudioIf *audioHandlerP) +: audioHandlerM(audioHandlerP) { } @@ -24,11 +24,11 @@ cFemonAAC::~cFemonAAC() { } -bool cFemonAAC::processAudio(const uint8_t *buf, int len) +bool cFemonAAC::processAudio(const uint8_t *bufP, int lenP) { - cFemonBitStream bs(buf, len * 8); + cFemonBitStream bs(bufP, lenP * 8); - if (!m_AudioHandler) + if (!audioHandlerM) return false; /* ADTS Fixed Header: @@ -46,9 +46,9 @@ bool cFemonAAC::processAudio(const uint8_t *buf, int len) */ // skip PES header - if (!PesLongEnough(len)) + if (!PesLongEnough(lenP)) return false; - bs.SkipBits(8 * PesPayloadOffset(buf)); + bs.SkipBits(8 * PesPayloadOffset(bufP)); // HE-AAC audio detection if (bs.GetBits(12) != 0xFFF) // syncword @@ -66,38 +66,38 @@ bool cFemonAAC::processAudio(const uint8_t *buf, int len) bs.SkipBit(); // private pid int channel_configuration = bs.GetBits(3); // channel_configuration - m_AudioHandler->SetAudioCodec(AUDIO_CODEC_HEAAC); - m_AudioHandler->SetAudioBitrate(AUDIO_BITRATE_RESERVED); + audioHandlerM->SetAudioCodec(AUDIO_CODEC_HEAAC); + audioHandlerM->SetAudioBitrate(AUDIO_BITRATE_RESERVED); switch (channel_configuration) { case 0: - m_AudioHandler->SetAudioChannel(AUDIO_CHANNEL_MODE_STEREO); + audioHandlerM->SetAudioChannel(AUDIO_CHANNEL_MODE_STEREO); break; case 1: - m_AudioHandler->SetAudioChannel(AUDIO_CHANNEL_MODE_JOINT_STEREO); + audioHandlerM->SetAudioChannel(AUDIO_CHANNEL_MODE_JOINT_STEREO); break; case 2: - m_AudioHandler->SetAudioChannel(AUDIO_CHANNEL_MODE_DUAL); + audioHandlerM->SetAudioChannel(AUDIO_CHANNEL_MODE_DUAL); break; case 3: - m_AudioHandler->SetAudioChannel(AUDIO_CHANNEL_MODE_SINGLE); + audioHandlerM->SetAudioChannel(AUDIO_CHANNEL_MODE_SINGLE); break; default: - m_AudioHandler->SetAudioChannel(AUDIO_CHANNEL_MODE_INVALID); + audioHandlerM->SetAudioChannel(AUDIO_CHANNEL_MODE_INVALID); break; } switch (sampling_frequency_index) { case 0xC ... 0xF: - m_AudioHandler->SetAudioSamplingFrequency(AUDIO_SAMPLING_FREQUENCY_RESERVED); + audioHandlerM->SetAudioSamplingFrequency(AUDIO_SAMPLING_FREQUENCY_RESERVED); break; default: - m_AudioHandler->SetAudioSamplingFrequency(s_Samplerates[sampling_frequency_index]); + audioHandlerM->SetAudioSamplingFrequency(sampleRateS[sampling_frequency_index]); break; } diff --git a/femonaac.h b/femonaac.h index f517f1d..153e6e0 100644 --- a/femonaac.h +++ b/femonaac.h @@ -12,15 +12,15 @@ class cFemonAAC { private: - cFemonAudioIf *m_AudioHandler; + cFemonAudioIf *audioHandlerM; - static int s_Samplerates[16]; + static int sampleRateS[16]; public: - cFemonAAC(cFemonAudioIf *audiohandler); + cFemonAAC(cFemonAudioIf *audioHandlerP); virtual ~cFemonAAC(); - bool processAudio(const uint8_t *buf, int len); + bool processAudio(const uint8_t *bufP, int lenP); }; #endif //__FEMONAAC_H diff --git a/femonac3.c b/femonac3.c index 087e071..2d6d28e 100644 --- a/femonac3.c +++ b/femonac3.c @@ -9,25 +9,25 @@ #include "femontools.h" #include "femonac3.h" -int cFemonAC3::s_Bitrates[32] = +int cFemonAC3::bitrateS[32] = { 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, 448, 512, 576, 640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; -int cFemonAC3::s_Frequencies[4] = +int cFemonAC3::frequencieS[4] = { 480, 441, 320, 0 }; -int cFemonAC3::s_Frames[3][32] = +int cFemonAC3::frameS[3][32] = { {64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, 448, 512, 640, 768, 896, 1024, 1152, 1280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {69, 87, 104, 121, 139, 174, 208, 243, 278, 348, 417, 487, 557, 696, 835, 975, 1114, 1253, 1393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {96, 120, 144, 168, 192, 240, 288, 336, 384, 480, 576, 672, 768, 960, 1152, 1344, 1536, 1728, 1920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }; -cFemonAC3::cFemonAC3(cFemonAC3If *audiohandler) -: m_AudioHandler(audiohandler) +cFemonAC3::cFemonAC3(cFemonAC3If *audioHandlerP) +: audioHandlerM(audioHandlerP) { } @@ -35,21 +35,21 @@ cFemonAC3::~cFemonAC3() { } -bool cFemonAC3::processAudio(const uint8_t *buf, int len) +bool cFemonAC3::processAudio(const uint8_t *bufP, int lenP) { int fscod, frmsizcod, bsmod, acmod; int centermixlevel = AUDIO_CENTER_MIX_LEVEL_INVALID; int surroundmixlevel = AUDIO_SURROUND_MIX_LEVEL_INVALID; int dolbysurroundmode = AUDIO_DOLBY_SURROUND_MODE_INVALID; - cFemonBitStream bs(buf, len * 8); + cFemonBitStream bs(bufP, lenP * 8); - if (!m_AudioHandler) + if (!audioHandlerM) return false; // skip PES header - if (!PesLongEnough(len)) + if (!PesLongEnough(lenP)) return false; - bs.SkipBits(8 * PesPayloadOffset(buf)); + bs.SkipBits(8 * PesPayloadOffset(bufP)); // http://rmworkshop.com/dvd_info/related_info/ac3hdr.htm @@ -78,16 +78,16 @@ bool cFemonAC3::processAudio(const uint8_t *buf, int len) if (acmod == 0x02) dolbysurroundmode = bs.GetBits(2); - m_AudioHandler->SetAC3Bitrate(1000 * s_Bitrates[frmsizcod >> 1]); - m_AudioHandler->SetAC3SamplingFrequency(100 * s_Frequencies[fscod]); - m_AudioHandler->SetAC3Bitstream(bsmod); - m_AudioHandler->SetAC3AudioCoding(acmod); - m_AudioHandler->SetAC3CenterMix(centermixlevel); - m_AudioHandler->SetAC3SurroundMix(surroundmixlevel); - m_AudioHandler->SetAC3DolbySurround(dolbysurroundmode); + audioHandlerM->SetAC3Bitrate(1000 * bitrateS[frmsizcod >> 1]); + audioHandlerM->SetAC3SamplingFrequency(100 * frequencieS[fscod]); + audioHandlerM->SetAC3Bitstream(bsmod); + audioHandlerM->SetAC3AudioCoding(acmod); + audioHandlerM->SetAC3CenterMix(centermixlevel); + audioHandlerM->SetAC3SurroundMix(surroundmixlevel); + audioHandlerM->SetAC3DolbySurround(dolbysurroundmode); - m_AudioHandler->SetAC3LFE(bs.GetBit()); // low frequency effects on - m_AudioHandler->SetAC3Dialog(bs.GetBits(5)); // dialog normalization + audioHandlerM->SetAC3LFE(bs.GetBit()); // low frequency effects on + audioHandlerM->SetAC3Dialog(bs.GetBits(5)); // dialog normalization return true; } diff --git a/femonac3.h b/femonac3.h index 22f2fbc..92b1f2c 100644 --- a/femonac3.h +++ b/femonac3.h @@ -12,17 +12,17 @@ class cFemonAC3 { private: - cFemonAC3If *m_AudioHandler; + cFemonAC3If *audioHandlerM; - static int s_Bitrates[32]; - static int s_Frequencies[4]; - static int s_Frames[3][32]; + static int bitrateS[32]; + static int frequencieS[4]; + static int frameS[3][32]; public: - cFemonAC3(cFemonAC3If *audiohandler); + cFemonAC3(cFemonAC3If *audioHandlerP); virtual ~cFemonAC3(); - bool processAudio(const uint8_t *buf, int len); + bool processAudio(const uint8_t *bufP, int lenP); }; #endif //__FEMONAC3_H diff --git a/femonaudio.h b/femonaudio.h index 1257df1..8c06747 100644 --- a/femonaudio.h +++ b/femonaudio.h @@ -113,13 +113,13 @@ public: virtual ~cFemonAudioIf() {} // enum - virtual void SetAudioCodec(eAudioCodec codec) = 0; + virtual void SetAudioCodec(eAudioCodec codecP) = 0; // kbit/s or eAudioBitrate - virtual void SetAudioBitrate(double bitrate) = 0; + virtual void SetAudioBitrate(double bitRateP) = 0; // Hz or eAudioSamplingFrequency - virtual void SetAudioSamplingFrequency(int sampling) = 0; + virtual void SetAudioSamplingFrequency(int samplingP) = 0; // eAudioChannelMode - virtual void SetAudioChannel(eAudioChannelMode mode) = 0; + virtual void SetAudioChannel(eAudioChannelMode modeP) = 0; }; class cFemonAC3If { @@ -128,23 +128,23 @@ public: virtual ~cFemonAC3If() {} // bit/s or eAudioBitrate - virtual void SetAC3Bitrate(int bitrate) = 0; + virtual void SetAC3Bitrate(int bitRateP) = 0; // Hz or eAudioSamplingFrequency - virtual void SetAC3SamplingFrequency(int sampling) = 0; + virtual void SetAC3SamplingFrequency(int samplingP) = 0; // 0..7 or eAudioBitstreamMode - virtual void SetAC3Bitstream(int mode) = 0; + virtual void SetAC3Bitstream(int modeP) = 0; // 0..7 or eAudioCodingMode - virtual void SetAC3AudioCoding(int mode) = 0; + virtual void SetAC3AudioCoding(int modeP) = 0; // eAudioDolbySurroundMode - virtual void SetAC3DolbySurround(int mode) = 0; + virtual void SetAC3DolbySurround(int modeP) = 0; // eAudioCenterMixLevel - virtual void SetAC3CenterMix(int level) = 0; + virtual void SetAC3CenterMix(int levelP) = 0; // eAudioSurroundMixLevel - virtual void SetAC3SurroundMix(int level) = 0; + virtual void SetAC3SurroundMix(int levelP) = 0; // -dB - virtual void SetAC3Dialog(int level) = 0; + virtual void SetAC3Dialog(int levelP) = 0; // boolean - virtual void SetAC3LFE(bool onoff) = 0; + virtual void SetAC3LFE(bool onoffP) = 0; }; #endif //__FEMONAUDIO_H diff --git a/femoncfg.c b/femoncfg.c index 9eedaef..2bc6f6d 100644 --- a/femoncfg.c +++ b/femoncfg.c @@ -8,7 +8,7 @@ #include #include "femoncfg.h" -cFemonConfig femonConfig; +cFemonConfig FemonConfig; cFemonConfig::cFemonConfig(void) { @@ -28,7 +28,7 @@ cFemonConfig::cFemonConfig(void) strncpy(svdrpip, "0.0.0.0", sizeof(svdrpip)); } -const cFemonTheme femonTheme[eFemonThemeMaxNumber] = +const cFemonTheme FemonTheme[eFemonThemeMaxNumber] = { { // eFemonThemeClassic diff --git a/femoncfg.h b/femoncfg.h index cded40a..3a44e1b 100644 --- a/femoncfg.h +++ b/femoncfg.h @@ -39,7 +39,7 @@ public: char svdrpip[MaxSvdrpIp + 1]; // must end with additional null }; -extern cFemonConfig femonConfig; +extern cFemonConfig FemonConfig; enum eFemonSkins { @@ -76,6 +76,6 @@ struct cFemonTheme unsigned int clrGreen; }; -extern const cFemonTheme femonTheme[eFemonThemeMaxNumber]; +extern const cFemonTheme FemonTheme[eFemonThemeMaxNumber]; #endif // __FEMONCFG_H diff --git a/femonh264.c b/femonh264.c index 693976f..e0b03eb 100644 --- a/femonh264.c +++ b/femonh264.c @@ -8,7 +8,7 @@ #include "femontools.h" #include "femonh264.h" -const cFemonH264::t_DAR cFemonH264::s_DAR[] = +const cFemonH264::t_DAR cFemonH264::darS[] = { { VIDEO_ASPECT_RATIO_1_1, 100 }, { VIDEO_ASPECT_RATIO_4_3, 133 }, @@ -30,7 +30,7 @@ const cFemonH264::t_DAR cFemonH264::s_DAR[] = { VIDEO_ASPECT_RATIO_2_1, 200 } }; -const cFemonH264::t_SAR cFemonH264::s_SAR[] = +const cFemonH264::t_SAR cFemonH264::sarS[] = { { 0, 0 }, // VIDEO_ASPECT_RATIO_INVALID { 1, 1 }, // VIDEO_ASPECT_RATIO_1_1 @@ -51,7 +51,7 @@ const cFemonH264::t_SAR cFemonH264::s_SAR[] = { 2, 1 } // VIDEO_ASPECT_RATIO_2_1 }; -const eVideoFormat cFemonH264::s_VideoFormats[] = +const eVideoFormat cFemonH264::videoFormatS[] = { VIDEO_FORMAT_COMPONENT, VIDEO_FORMAT_PAL, @@ -62,25 +62,25 @@ const eVideoFormat cFemonH264::s_VideoFormats[] = VIDEO_FORMAT_RESERVED }; -const uint8_t cFemonH264::s_SeiNumClockTsTable[9] = +const uint8_t cFemonH264::seiNumClockTsTableS[9] = { 1, 1, 1, 2, 2, 3, 3, 2, 3 }; -cFemonH264::cFemonH264(cFemonVideoIf *videohandler) -: m_VideoHandler(videohandler), - m_Width(0), - m_Height(0), - m_AspectRatio(VIDEO_ASPECT_RATIO_INVALID), - m_Format(VIDEO_FORMAT_INVALID), - m_FrameRate(0), - m_BitRate(0), - m_Scan(VIDEO_SCAN_INVALID), - m_CpbDpbDelaysPresentFlag(false), - m_PicStructPresentFlag(false), - m_FrameMbsOnlyFlag(false), - m_MbAdaptiveFrameFieldFlag(false), - m_TimeOffsetLength(0) +cFemonH264::cFemonH264(cFemonVideoIf *videoHandlerP) +: videoHandlerM(videoHandlerP), + widthM(0), + heightM(0), + aspectRatioM(VIDEO_ASPECT_RATIO_INVALID), + formatM(VIDEO_FORMAT_INVALID), + frameRateM(0), + bitRateM(0), + scanM(VIDEO_SCAN_INVALID), + cpbDpbDelaysPresentFlagM(false), + picStructPresentFlagM(false), + frameMbsOnlyFlagM(false), + mbAdaptiveFrameFieldFlagM(false), + timeOffsetLengthM(0) { reset(); } @@ -89,18 +89,19 @@ cFemonH264::~cFemonH264() { } -bool cFemonH264::processVideo(const uint8_t *buf, int len) +bool cFemonH264::processVideo(const uint8_t *bufP, int lenP) { - uint8_t nal_data[len]; + uint8_t nal_data[lenP]; bool aud_found = false, sps_found = false, sei_found = true; // SEI temporarily disabled! + const uint8_t *buf = bufP; const uint8_t *start = buf; - const uint8_t *end = start + len; + const uint8_t *end = start + lenP; - if (!m_VideoHandler) + if (!videoHandlerM) return false; // skip PES header - if (!PesLongEnough(len)) + if (!PesLongEnough(lenP)) return false; buf += PesPayloadOffset(buf); start = buf; @@ -119,7 +120,7 @@ bool cFemonH264::processVideo(const uint8_t *buf, int len) if (!aud_found) { switch (buf[4] >> 5) { case 0: case 3: case 5: // I_FRAME - //debug("H.264: Found NAL AUD at offset %d/%d\n", int(buf - start), len); + //debug("H.264: Found NAL AUD at offset %d/%d\n", int(buf - start), lenP); aud_found = true; break; case 1: case 4: case 6: // P_FRAME; @@ -132,7 +133,7 @@ bool cFemonH264::processVideo(const uint8_t *buf, int len) case NAL_SPS: if (!sps_found) { - //debug("H.264: Found NAL SPS at offset %d/%d\n", int(buf - start), len); + //debug("H.264: Found NAL SPS at offset %d/%d\n", int(buf - start), lenP); int nal_len = nalUnescape(nal_data, buf + 4, int(end - buf - 4)); consumed = parseSPS(nal_data, nal_len); if (consumed > 0) @@ -142,7 +143,7 @@ bool cFemonH264::processVideo(const uint8_t *buf, int len) case NAL_SEI: if (!sei_found) { - //debug("H.264: Found NAL SEI at offset %d/%d\n", int(buf - start), len); + //debug("H.264: Found NAL SEI at offset %d/%d\n", int(buf - start), lenP); int nal_len = nalUnescape(nal_data, buf + 4, int(end - buf - 4)); consumed = parseSEI(nal_data, nal_len); if (consumed > 0) @@ -161,18 +162,18 @@ bool cFemonH264::processVideo(const uint8_t *buf, int len) } if (aud_found) { - m_VideoHandler->SetVideoCodec(VIDEO_CODEC_H264); + videoHandlerM->SetVideoCodec(VIDEO_CODEC_H264); if (sps_found) { - //debug("H.264: size %dx%d, aspect %d format %d bitrate %.0f\n", m_Width, m_Height, m_AspectRatio, m_Format, m_BitRate); - m_VideoHandler->SetVideoFormat(m_Format); - m_VideoHandler->SetVideoSize(m_Width, m_Height); - m_VideoHandler->SetVideoAspectRatio(m_AspectRatio); - m_VideoHandler->SetVideoBitrate(m_BitRate); + //debug("H.264: size %dx%d, aspect %d format %d bitrate %.0f\n", widthM, heightM, aspectRatioM, formatM, bitRateM); + videoHandlerM->SetVideoFormat(formatM); + videoHandlerM->SetVideoSize(widthM, heightM); + videoHandlerM->SetVideoAspectRatio(aspectRatioM); + videoHandlerM->SetVideoBitrate(bitRateM); } if (sps_found || sei_found) { - //debug("H.264: scan %d framerate %.2f\n", m_Scan, (m_Scan == VIDEO_SCAN_PROGRESSIVE) ? (m_FrameRate / 2) : m_FrameRate); - m_VideoHandler->SetVideoScan(m_Scan); - m_VideoHandler->SetVideoFramerate((m_Scan == VIDEO_SCAN_PROGRESSIVE) ? (m_FrameRate / 2) : m_FrameRate); + //debug("H.264: scan %d framerate %.2f\n", scanM, (scanM == VIDEO_SCAN_PROGRESSIVE) ? (frameRateM / 2) : frameRateM); + videoHandlerM->SetVideoScan(scanM); + videoHandlerM->SetVideoFramerate((scanM == VIDEO_SCAN_PROGRESSIVE) ? (frameRateM / 2) : frameRateM); } } @@ -181,60 +182,60 @@ bool cFemonH264::processVideo(const uint8_t *buf, int len) void cFemonH264::reset() { - m_CpbDpbDelaysPresentFlag = false; - m_PicStructPresentFlag = false; - m_FrameMbsOnlyFlag = false; - m_MbAdaptiveFrameFieldFlag = false; - m_TimeOffsetLength = 0; + cpbDpbDelaysPresentFlagM = false; + picStructPresentFlagM = false; + frameMbsOnlyFlagM = false; + mbAdaptiveFrameFieldFlagM = false; + timeOffsetLengthM = 0; } -const uint8_t *cFemonH264::nextStartCode(const uint8_t *start, const uint8_t *end) +const uint8_t *cFemonH264::nextStartCode(const uint8_t *startP, const uint8_t *endP) { - for (end -= 3; start < end; ++start) { - if ((start[0] == 0x00) && (start[1] == 0x00) && (start[2] == 0x01)) - return start; + for (endP -= 3; startP < endP; ++startP) { + if ((startP[0] == 0x00) && (startP[1] == 0x00) && (startP[2] == 0x01)) + return startP; } - return (end + 3); + return (endP + 3); } -int cFemonH264::nalUnescape(uint8_t *dst, const uint8_t *src, int len) +int cFemonH264::nalUnescape(uint8_t *dstP, const uint8_t *srcP, int lenP) { int s = 0, d = 0; - while (s < len) { - if (!src[s] && !src[s + 1]) { + while (s < lenP) { + if (!srcP[s] && !srcP[s + 1]) { // hit 00 00 xx - dst[d] = dst[d + 1] = 0; + dstP[d] = dstP[d + 1] = 0; s += 2; d += 2; - if (src[s] == 3) { + if (srcP[s] == 3) { s++; // 00 00 03 xx --> 00 00 xx - if (s >= len) + if (s >= lenP) return d; } } - dst[d++] = src[s++]; + dstP[d++] = srcP[s++]; } return d; } -int cFemonH264::parseSPS(const uint8_t *buf, int len) +int cFemonH264::parseSPS(const uint8_t *bufP, int lenP) { int profile_idc, level_idc, constraint_set3_flag, pic_order_cnt_type, i, j; - cFemonBitStream bs(buf, len); + cFemonBitStream bs(bufP, lenP); - uint32_t width = m_Width; - uint32_t height = m_Height; - eVideoAspectRatio aspect_ratio = m_AspectRatio; - eVideoFormat format = m_Format; - double frame_rate = m_FrameRate; - double bit_rate = m_BitRate; - bool cpb_dpb_delays_present_flag = m_CpbDpbDelaysPresentFlag; - bool pic_struct_present_flag = m_PicStructPresentFlag; - bool frame_mbs_only_flag = m_FrameMbsOnlyFlag; - bool mb_adaptive_frame_field_flag = m_MbAdaptiveFrameFieldFlag; - uint32_t time_offset_length = m_TimeOffsetLength; + uint32_t width = widthM; + uint32_t height = heightM; + eVideoAspectRatio aspect_ratio = aspectRatioM; + eVideoFormat format = formatM; + double frame_rate = frameRateM; + double bit_rate = bitRateM; + bool cpb_dpb_delays_present_flag = cpbDpbDelaysPresentFlagM; + bool pic_struct_present_flag = picStructPresentFlagM; + bool frame_mbs_only_flag = frameMbsOnlyFlagM; + bool mb_adaptive_frame_field_flag = mbAdaptiveFrameFieldFlagM; + uint32_t time_offset_length = timeOffsetLengthM; profile_idc = bs.GetBits(8); // profile_idc bs.SkipBit(); // constraint_set0_flag @@ -523,14 +524,14 @@ int cFemonH264::parseSPS(const uint8_t *buf, int len) sar_width = bs.GetBits(16); // sar_width sar_height = bs.GetBits(16); // sar_height } - else if (aspect_ratio_idc < ELEMENTS(s_SAR)) { - sar_width = s_SAR[aspect_ratio_idc].w; - sar_height = s_SAR[aspect_ratio_idc].h; + else if (aspect_ratio_idc < ELEMENTS(sarS)) { + sar_width = sarS[aspect_ratio_idc].w; + sar_height = sarS[aspect_ratio_idc].h; } if (sar_width && sar_height) { int index = -1, ratio = int(100.0L * sar_width * width / sar_height / height); - for (unsigned int i = 0; i < ELEMENTS(s_DAR); ++i) { - if (s_DAR[i].ratio == ratio) { + for (unsigned int i = 0; i < ELEMENTS(darS); ++i) { + if (darS[i].ratio == ratio) { index = i; break; } @@ -542,7 +543,7 @@ int cFemonH264::parseSPS(const uint8_t *buf, int len) aspect_ratio = VIDEO_ASPECT_RATIO_INVALID; } else - aspect_ratio = s_DAR[index].dar; + aspect_ratio = darS[index].dar; //debug("H.264 SPS: DAR %dx%d (%d)\n", sar_width, sar_height, aspect_ratio); } } @@ -551,8 +552,8 @@ int cFemonH264::parseSPS(const uint8_t *buf, int len) if (bs.GetBit()) { // video_signal_type_present_flag uint32_t video_format; video_format = bs.GetBits(3); // video_format - if (video_format < sizeof(s_VideoFormats) / sizeof(s_VideoFormats[0])) { - format = s_VideoFormats[video_format]; + if (video_format < sizeof(videoFormatS) / sizeof(videoFormatS[0])) { + format = videoFormatS[video_format]; //debug("H.264 SPS: video format %d\n", format); } bs.SkipBit(); // video_full_range_flag @@ -621,30 +622,30 @@ int cFemonH264::parseSPS(const uint8_t *buf, int len) } } - m_Width = width; - m_Height = height; - m_AspectRatio = aspect_ratio; - m_Format = format; - m_Scan = frame_mbs_only_flag ? VIDEO_SCAN_PROGRESSIVE : VIDEO_SCAN_INTERLACED; - m_FrameRate = frame_rate; - m_BitRate = bit_rate; - m_CpbDpbDelaysPresentFlag = cpb_dpb_delays_present_flag; - m_PicStructPresentFlag = pic_struct_present_flag; - m_FrameMbsOnlyFlag = frame_mbs_only_flag; - m_MbAdaptiveFrameFieldFlag = mb_adaptive_frame_field_flag; - m_TimeOffsetLength = time_offset_length; + widthM = width; + heightM = height; + aspectRatioM = aspect_ratio; + formatM = format; + scanM = frame_mbs_only_flag ? VIDEO_SCAN_PROGRESSIVE : VIDEO_SCAN_INTERLACED; + frameRateM = frame_rate; + bitRateM = bit_rate; + cpbDpbDelaysPresentFlagM = cpb_dpb_delays_present_flag; + picStructPresentFlagM = pic_struct_present_flag; + frameMbsOnlyFlagM = frame_mbs_only_flag; + mbAdaptiveFrameFieldFlagM = mb_adaptive_frame_field_flag; + timeOffsetLengthM = time_offset_length; return (bs.Index() / 8); } -int cFemonH264::parseSEI(const uint8_t *buf, int len) +int cFemonH264::parseSEI(const uint8_t *bufP, int lenP) { int num_referenced_subseqs, i; - cFemonBitStream bs(buf, len); + cFemonBitStream bs(bufP, lenP); - eVideoScan scan = m_Scan; + eVideoScan scan = scanM; - while ((bs.Index() * 8 + 16) < len) { // sei_message + while ((bs.Index() * 8 + 16) < lenP) { // sei_message int lastByte, payloadSize = 0, payloadType = 0; do { @@ -659,16 +660,16 @@ int cFemonH264::parseSEI(const uint8_t *buf, int len) switch (payloadType) { // sei_payload case 1: // pic_timing - if (m_CpbDpbDelaysPresentFlag) { // cpb_dpb_delays_present_flag + if (cpbDpbDelaysPresentFlagM) { // cpb_dpb_delays_present_flag bs.SkipUeGolomb(); // cpb_removal_delay bs.SkipUeGolomb(); // dpb_output_delay } - if (m_PicStructPresentFlag) { // pic_struct_present_flag + if (picStructPresentFlagM) { // pic_struct_present_flag uint32_t pic_struct, ct_type = 0, i = 0; pic_struct = bs.GetBits(4); // pic_struct - if (pic_struct >= (sizeof(s_SeiNumClockTsTable)) / sizeof(s_SeiNumClockTsTable[0])) + if (pic_struct >= (sizeof(seiNumClockTsTableS)) / sizeof(seiNumClockTsTableS[0])) return 0; - if (m_FrameMbsOnlyFlag && !m_MbAdaptiveFrameFieldFlag) + if (frameMbsOnlyFlagM && !mbAdaptiveFrameFieldFlagM) scan = VIDEO_SCAN_PROGRESSIVE; else { switch (pic_struct) { @@ -691,7 +692,7 @@ int cFemonH264::parseSEI(const uint8_t *buf, int len) } } //debug("H.264 SEI: pic struct %d scan type %d\n", pic_struct, scan); - for (i = 0; i < s_SeiNumClockTsTable[pic_struct]; ++i) { + for (i = 0; i < seiNumClockTsTableS[pic_struct]; ++i) { if (bs.GetBit()) { // clock_timestamp_flag[i] int full_timestamp_flag; ct_type |= (1 << bs.GetBits(2)); // ct_type @@ -717,8 +718,8 @@ int cFemonH264::parseSEI(const uint8_t *buf, int len) } } } - if (m_TimeOffsetLength > 0) - bs.SkipBits(m_TimeOffsetLength); // time_offset + if (timeOffsetLengthM > 0) + bs.SkipBits(timeOffsetLengthM); // time_offset } } if (i > 0) @@ -753,7 +754,7 @@ int cFemonH264::parseSEI(const uint8_t *buf, int len) bs.ByteAlign(); } - m_Scan = scan; + scanM = scan; return (bs.Index() / 8); } diff --git a/femonh264.h b/femonh264.h index cd7351e..82203f4 100644 --- a/femonh264.h +++ b/femonh264.h @@ -29,19 +29,19 @@ private: int h; } t_SAR; - cFemonVideoIf *m_VideoHandler; - uint32_t m_Width; - uint32_t m_Height; - eVideoAspectRatio m_AspectRatio; - eVideoFormat m_Format; - double m_FrameRate; - double m_BitRate; - eVideoScan m_Scan; - bool m_CpbDpbDelaysPresentFlag; - bool m_PicStructPresentFlag; - bool m_FrameMbsOnlyFlag; - bool m_MbAdaptiveFrameFieldFlag; - uint32_t m_TimeOffsetLength; + cFemonVideoIf *videoHandlerM; + uint32_t widthM; + uint32_t heightM; + eVideoAspectRatio aspectRatioM; + eVideoFormat formatM; + double frameRateM; + double bitRateM; + eVideoScan scanM; + bool cpbDpbDelaysPresentFlagM; + bool picStructPresentFlagM; + bool frameMbsOnlyFlagM; + bool mbAdaptiveFrameFieldFlagM; + uint32_t timeOffsetLengthM; void reset(); const uint8_t *nextStartCode(const uint8_t *start, const uint8_t *end); @@ -49,16 +49,16 @@ private: int parseSPS(const uint8_t *buf, int len); int parseSEI(const uint8_t *buf, int len); - static const t_SAR s_SAR[]; - static const t_DAR s_DAR[]; - static const eVideoFormat s_VideoFormats[]; - static const uint8_t s_SeiNumClockTsTable[9]; + static const t_SAR sarS[]; + static const t_DAR darS[]; + static const eVideoFormat videoFormatS[]; + static const uint8_t seiNumClockTsTableS[9]; public: - cFemonH264(cFemonVideoIf *videohandler); + cFemonH264(cFemonVideoIf *videoHandlerP); virtual ~cFemonH264(); - bool processVideo(const uint8_t *buf, int len); + bool processVideo(const uint8_t *bufP, int lenP); }; #endif //__FEMONH264_H diff --git a/femonlatm.c b/femonlatm.c index 7edb6c3..8931c88 100644 --- a/femonlatm.c +++ b/femonlatm.c @@ -8,20 +8,20 @@ #include "femontools.h" #include "femonlatm.h" -int cFemonLATM::s_Bitrates[3][16] = +int cFemonLATM::bitrateS[3][16] = { {0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256, -1}, // MPEG-2 Layer I {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1}, // MPEG-2 Layer II/III {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1} // MPEG-2 Layer II/III }; -int cFemonLATM::s_Samplerates[4] = +int cFemonLATM::sampleRateS[4] = { 22050, 24000, 16000, -1 }; -cFemonLATM::cFemonLATM(cFemonAudioIf *audiohandler) -: m_AudioHandler(audiohandler) +cFemonLATM::cFemonLATM(cFemonAudioIf *audioHandlerP) +: audioHandlerM(audioHandlerP) { } @@ -29,23 +29,23 @@ cFemonLATM::~cFemonLATM() { } -bool cFemonLATM::processAudio(const uint8_t *buf, int len) +bool cFemonLATM::processAudio(const uint8_t *bufP, int lenP) { - cFemonBitStream bs(buf, len * 8); + cFemonBitStream bs(bufP, lenP * 8); - if (!m_AudioHandler) + if (!audioHandlerM) return false; // skip PES header - if (!PesLongEnough(len)) + if (!PesLongEnough(lenP)) return false; - bs.SkipBits(8 * PesPayloadOffset(buf)); + bs.SkipBits(8 * PesPayloadOffset(bufP)); // MPEG audio detection if (bs.GetBits(12) != 0x56E) // syncword return false; - m_AudioHandler->SetAudioCodec(AUDIO_CODEC_LATM); + audioHandlerM->SetAudioCodec(AUDIO_CODEC_LATM); if (bs.GetBit() == 0) // id: MPEG-1=1, extension to lower sampling frequencies=0 return true; // @todo: lower sampling frequencies support @@ -59,52 +59,52 @@ bool cFemonLATM::processAudio(const uint8_t *buf, int len) switch (mode) { case 0: - m_AudioHandler->SetAudioChannel(AUDIO_CHANNEL_MODE_STEREO); + audioHandlerM->SetAudioChannel(AUDIO_CHANNEL_MODE_STEREO); break; case 1: - m_AudioHandler->SetAudioChannel(AUDIO_CHANNEL_MODE_JOINT_STEREO); + audioHandlerM->SetAudioChannel(AUDIO_CHANNEL_MODE_JOINT_STEREO); break; case 2: - m_AudioHandler->SetAudioChannel(AUDIO_CHANNEL_MODE_DUAL); + audioHandlerM->SetAudioChannel(AUDIO_CHANNEL_MODE_DUAL); break; case 3: - m_AudioHandler->SetAudioChannel(AUDIO_CHANNEL_MODE_SINGLE); + audioHandlerM->SetAudioChannel(AUDIO_CHANNEL_MODE_SINGLE); break; default: - m_AudioHandler->SetAudioChannel(AUDIO_CHANNEL_MODE_INVALID); + audioHandlerM->SetAudioChannel(AUDIO_CHANNEL_MODE_INVALID); break; } if (layer == 3) { - m_AudioHandler->SetAudioBitrate(AUDIO_BITRATE_FREE); + audioHandlerM->SetAudioBitrate(AUDIO_BITRATE_FREE); } else { switch (bit_rate_index) { case 0: - m_AudioHandler->SetAudioBitrate(AUDIO_BITRATE_FREE); + audioHandlerM->SetAudioBitrate(AUDIO_BITRATE_FREE); break; case 0xF: - m_AudioHandler->SetAudioBitrate(AUDIO_BITRATE_RESERVED); + audioHandlerM->SetAudioBitrate(AUDIO_BITRATE_RESERVED); break; default: - m_AudioHandler->SetAudioBitrate(1000 * s_Bitrates[layer][bit_rate_index]); + audioHandlerM->SetAudioBitrate(1000 * bitrateS[layer][bit_rate_index]); break; } } switch (sampling_frequency) { case 3: - m_AudioHandler->SetAudioSamplingFrequency(AUDIO_SAMPLING_FREQUENCY_RESERVED); + audioHandlerM->SetAudioSamplingFrequency(AUDIO_SAMPLING_FREQUENCY_RESERVED); break; default: - m_AudioHandler->SetAudioSamplingFrequency(s_Samplerates[sampling_frequency]); + audioHandlerM->SetAudioSamplingFrequency(sampleRateS[sampling_frequency]); break; } diff --git a/femonlatm.h b/femonlatm.h index 731f69c..827dc35 100644 --- a/femonlatm.h +++ b/femonlatm.h @@ -12,16 +12,16 @@ class cFemonLATM { private: - cFemonAudioIf *m_AudioHandler; + cFemonAudioIf *audioHandlerM; - static int s_Bitrates[3][16]; - static int s_Samplerates[4]; + static int bitrateS[3][16]; + static int sampleRateS[4]; public: - cFemonLATM(cFemonAudioIf *audiohandler); + cFemonLATM(cFemonAudioIf *audioHandlerP); virtual ~cFemonLATM(); - bool processAudio(const uint8_t *buf, int len); + bool processAudio(const uint8_t *bufP, int lenP); }; #endif //__FEMONLATM_H diff --git a/femonmpeg.c b/femonmpeg.c index e0f0564..9bfc38c 100644 --- a/femonmpeg.c +++ b/femonmpeg.c @@ -10,7 +10,7 @@ #define IS_EXTENSION_START(buf) (((buf)[0] == 0x00) && ((buf)[1] == 0x00) && ((buf)[2] == 0x01) && ((buf)[3] == 0xB5)) -int cFemonMPEG::s_Bitrates[2][3][16] = +int cFemonMPEG::bitrateS[2][3][16] = { { {0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256, -1}, // MPEG-2 Layer I @@ -24,21 +24,21 @@ int cFemonMPEG::s_Bitrates[2][3][16] = } }; -int cFemonMPEG::s_Samplerates[2][4] = +int cFemonMPEG::sampleRateS[2][4] = { {22050, 24000, 16000, -1}, // MPEG-2 {44100, 48000, 32000, -1} // MPEG-1 }; -eAudioCodec cFemonMPEG::s_Formats[2][4] = +eAudioCodec cFemonMPEG::formatS[2][4] = { {AUDIO_CODEC_MPEG2_I, AUDIO_CODEC_MPEG2_II, AUDIO_CODEC_MPEG2_III, AUDIO_CODEC_UNKNOWN}, // MPEG-2 {AUDIO_CODEC_MPEG1_I, AUDIO_CODEC_MPEG1_II, AUDIO_CODEC_MPEG1_III, AUDIO_CODEC_UNKNOWN} // MPEG-1 }; -cFemonMPEG::cFemonMPEG(cFemonVideoIf *videohandler, cFemonAudioIf *audiohandler) -: m_VideoHandler(videohandler), - m_AudioHandler(audiohandler) +cFemonMPEG::cFemonMPEG(cFemonVideoIf *videoHandlerP, cFemonAudioIf *audioHandlerP) +: videoHandlerM(videoHandlerP), + audioHandlerM(audioHandlerP) { } @@ -46,17 +46,17 @@ cFemonMPEG::~cFemonMPEG() { } -bool cFemonMPEG::processAudio(const uint8_t *buf, int len) +bool cFemonMPEG::processAudio(const uint8_t *bufP, int lenP) { - cFemonBitStream bs(buf, len * 8); + cFemonBitStream bs(bufP, lenP * 8); - if (!m_AudioHandler) + if (!audioHandlerM) return false; // skip PES header - if (!PesLongEnough(len)) + if (!PesLongEnough(lenP)) return false; - bs.SkipBits(8 * PesPayloadOffset(buf)); + bs.SkipBits(8 * PesPayloadOffset(bufP)); // MPEG audio detection if (bs.GetBits(12) != 0xFFF) // syncword @@ -71,68 +71,68 @@ bool cFemonMPEG::processAudio(const uint8_t *buf, int len) bs.SkipBit(); // private pid int mode = bs.GetBits(2); // mode - m_AudioHandler->SetAudioCodec(s_Formats[id][layer]); + audioHandlerM->SetAudioCodec(formatS[id][layer]); switch (mode) { case 0: - m_AudioHandler->SetAudioChannel(AUDIO_CHANNEL_MODE_STEREO); + audioHandlerM->SetAudioChannel(AUDIO_CHANNEL_MODE_STEREO); break; case 1: - m_AudioHandler->SetAudioChannel(AUDIO_CHANNEL_MODE_JOINT_STEREO); + audioHandlerM->SetAudioChannel(AUDIO_CHANNEL_MODE_JOINT_STEREO); break; case 2: - m_AudioHandler->SetAudioChannel(AUDIO_CHANNEL_MODE_DUAL); + audioHandlerM->SetAudioChannel(AUDIO_CHANNEL_MODE_DUAL); break; case 3: - m_AudioHandler->SetAudioChannel(AUDIO_CHANNEL_MODE_SINGLE); + audioHandlerM->SetAudioChannel(AUDIO_CHANNEL_MODE_SINGLE); break; default: - m_AudioHandler->SetAudioChannel(AUDIO_CHANNEL_MODE_INVALID); + audioHandlerM->SetAudioChannel(AUDIO_CHANNEL_MODE_INVALID); break; } switch (bit_rate_index) { case 0: - m_AudioHandler->SetAudioBitrate(AUDIO_BITRATE_FREE); + audioHandlerM->SetAudioBitrate(AUDIO_BITRATE_FREE); break; case 0xF: - m_AudioHandler->SetAudioBitrate(AUDIO_BITRATE_RESERVED); + audioHandlerM->SetAudioBitrate(AUDIO_BITRATE_RESERVED); break; default: - m_AudioHandler->SetAudioBitrate(1000 * s_Bitrates[id][layer][bit_rate_index]); + audioHandlerM->SetAudioBitrate(1000 * bitrateS[id][layer][bit_rate_index]); break; } switch (sampling_frequency) { case 3: - m_AudioHandler->SetAudioSamplingFrequency(AUDIO_SAMPLING_FREQUENCY_RESERVED); + audioHandlerM->SetAudioSamplingFrequency(AUDIO_SAMPLING_FREQUENCY_RESERVED); break; default: - m_AudioHandler->SetAudioSamplingFrequency(s_Samplerates[id][sampling_frequency]); + audioHandlerM->SetAudioSamplingFrequency(sampleRateS[id][sampling_frequency]); break; } return true; } -bool cFemonMPEG::processVideo(const uint8_t *buf, int len) +bool cFemonMPEG::processVideo(const uint8_t *bufP, int lenP) { - cFemonBitStream bs(buf, len * 8); + cFemonBitStream bs(bufP, lenP * 8); - if (!m_VideoHandler) + if (!videoHandlerM) return false; // skip PES header - if (!PesLongEnough(len)) + if (!PesLongEnough(lenP)) return false; - bs.SkipBits(8 * PesPayloadOffset(buf)); + bs.SkipBits(8 * PesPayloadOffset(bufP)); // MPEG-2 video detection, search for start code if (bs.GetBits(32) != 0x000001B3) // sequence header @@ -274,13 +274,13 @@ bool cFemonMPEG::processVideo(const uint8_t *buf, int len) } } - m_VideoHandler->SetVideoCodec(VIDEO_CODEC_MPEG2); - m_VideoHandler->SetVideoSize(horizontal_size, vertical_size); - m_VideoHandler->SetVideoBitrate(400.0 * (double)(bit_rate)); - m_VideoHandler->SetVideoFramerate(frame_rate); - m_VideoHandler->SetVideoScan(eVideoScan(scan)); - m_VideoHandler->SetVideoAspectRatio(eVideoAspectRatio(aspect)); - m_VideoHandler->SetVideoFormat(eVideoFormat(format)); + videoHandlerM->SetVideoCodec(VIDEO_CODEC_MPEG2); + videoHandlerM->SetVideoSize(horizontal_size, vertical_size); + videoHandlerM->SetVideoBitrate(400.0 * (double)(bit_rate)); + videoHandlerM->SetVideoFramerate(frame_rate); + videoHandlerM->SetVideoScan(eVideoScan(scan)); + videoHandlerM->SetVideoAspectRatio(eVideoAspectRatio(aspect)); + videoHandlerM->SetVideoFormat(eVideoFormat(format)); return true; } diff --git a/femonmpeg.h b/femonmpeg.h index b602d3b..f0db8eb 100644 --- a/femonmpeg.h +++ b/femonmpeg.h @@ -13,19 +13,19 @@ class cFemonMPEG { private: - cFemonVideoIf *m_VideoHandler; - cFemonAudioIf *m_AudioHandler; + cFemonVideoIf *videoHandlerM; + cFemonAudioIf *audioHandlerM; - static int s_Bitrates[2][3][16]; - static int s_Samplerates[2][4]; - static eAudioCodec s_Formats[2][4]; + static int bitrateS[2][3][16]; + static int sampleRateS[2][4]; + static eAudioCodec formatS[2][4]; public: - cFemonMPEG(cFemonVideoIf *videohandler, cFemonAudioIf *audiohandler); + cFemonMPEG(cFemonVideoIf *videoHandlerP, cFemonAudioIf *audioHandlerP); virtual ~cFemonMPEG(); - bool processVideo(const uint8_t *buf, int len); - bool processAudio(const uint8_t *buf, int len); + bool processVideo(const uint8_t *bufP, int lenP); + bool processAudio(const uint8_t *bufP, int lenP); }; #endif //__FEMONMPEG_H diff --git a/femonosd.c b/femonosd.c index 0544d3f..6885a45 100644 --- a/femonosd.c +++ b/femonosd.c @@ -21,22 +21,22 @@ #define CHANNELINPUT_TIMEOUT 1000 #define SVDRPPLUGIN "svdrpservice" -#define OSDWIDTH m_OsdWidth // in pixels -#define OSDHEIGHT m_OsdHeight // in pixels -#define OSDROWHEIGHT m_Font->Height() // in pixels +#define OSDWIDTH osdWidthM // in pixels +#define OSDHEIGHT osdHeightM // in pixels +#define OSDROWHEIGHT fontM->Height() // in pixels #define OSDINFOHEIGHT (OSDROWHEIGHT * 14) // in pixels (14 rows) #define OSDSTATUSHEIGHT (OSDROWHEIGHT * 6) // in pixels (6 rows) #define OSDSYMBOL(id) femonSymbols.Get(id) #define OSDSPACING femonSymbols.GetSpacing() #define OSDROUNDING femonSymbols.GetRounding() -#define IS_OSDROUNDING (femonConfig.skin == eFemonSkinElchi) +#define IS_OSDROUNDING (FemonConfig.skin == eFemonSkinElchi) #define IS_OSDRESOLUTION(r1, r2) (abs(r1 - r2) < 20) -#define OSDINFOWIN_Y(offset) (femonConfig.position ? (OSDHEIGHT - OSDINFOHEIGHT + offset) : offset) +#define OSDINFOWIN_Y(offset) (FemonConfig.position ? (OSDHEIGHT - OSDINFOHEIGHT + offset) : offset) #define OSDINFOWIN_X(col) ((col == 4) ? int(round(OSDWIDTH * 0.76)) : \ (col == 3) ? int(round(OSDWIDTH * 0.51)) : \ (col == 2) ? int(round(OSDWIDTH * 0.26)) : \ int(round(OSDWIDTH * 0.025))) -#define OSDSTATUSWIN_Y(offset) (femonConfig.position ? offset : (OSDHEIGHT - OSDSTATUSHEIGHT + offset)) +#define OSDSTATUSWIN_Y(offset) (FemonConfig.position ? offset : (OSDHEIGHT - OSDSTATUSHEIGHT + offset)) #define OSDSTATUSWIN_X(col) ((col == 7) ? int(round(OSDWIDTH * 0.79)) : \ (col == 6) ? int(round(OSDWIDTH * 0.68)) : \ (col == 5) ? int(round(OSDWIDTH * 0.46)) : \ @@ -52,85 +52,85 @@ x -= bm->Width() + spacing; \ y = (OSDROWHEIGHT - bm->Height()) / 2; \ if (y < 0) y = 0; \ - m_Osd->DrawBitmap(x, OSDSTATUSWIN_Y(offset) + y, *bm, femonTheme[femonConfig.theme].clrTitleText, femonTheme[femonConfig.theme].clrTitleBackground); \ + osdM->DrawBitmap(x, OSDSTATUSWIN_Y(offset) + y, *bm, FemonTheme[FemonConfig.theme].clrTitleText, FemonTheme[FemonConfig.theme].clrTitleBackground); \ } #define OSDDRAWSTATUSFRONTEND(column, bitmap, status) \ - m_Osd->DrawBitmap(OSDSTATUSWIN_XSYMBOL(column, x), OSDSTATUSWIN_Y(offset) + y, bitmap, (m_FrontendStatus & status) ? femonTheme[femonConfig.theme].clrActiveText : femonTheme[femonConfig.theme].clrRed, femonTheme[femonConfig.theme].clrBackground) + osdM->DrawBitmap(OSDSTATUSWIN_XSYMBOL(column, x), OSDSTATUSWIN_Y(offset) + y, bitmap, (frontendStatusM & status) ? FemonTheme[FemonConfig.theme].clrActiveText : FemonTheme[FemonConfig.theme].clrRed, FemonTheme[FemonConfig.theme].clrBackground) #define OSDDRAWSTATUSVALUES(label1, label2, label3, label4, label5, label6, label7) \ - m_Osd->DrawText(OSDSTATUSWIN_X(1), OSDSTATUSWIN_Y(offset), label1, femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font); \ - m_Osd->DrawText(OSDSTATUSWIN_X(2), OSDSTATUSWIN_Y(offset), label2, femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font); \ - m_Osd->DrawText(OSDSTATUSWIN_X(3), OSDSTATUSWIN_Y(offset), label3, femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font); \ - m_Osd->DrawText(OSDSTATUSWIN_X(4), OSDSTATUSWIN_Y(offset), label4, femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font); \ - m_Osd->DrawText(OSDSTATUSWIN_X(5), OSDSTATUSWIN_Y(offset), label5, femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font); \ - m_Osd->DrawText(OSDSTATUSWIN_X(6), OSDSTATUSWIN_Y(offset), label6, femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font); \ - m_Osd->DrawText(OSDSTATUSWIN_X(7), OSDSTATUSWIN_Y(offset), label7, femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font) + osdM->DrawText(OSDSTATUSWIN_X(1), OSDSTATUSWIN_Y(offset), label1, FemonTheme[FemonConfig.theme].clrInactiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM); \ + osdM->DrawText(OSDSTATUSWIN_X(2), OSDSTATUSWIN_Y(offset), label2, FemonTheme[FemonConfig.theme].clrInactiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM); \ + osdM->DrawText(OSDSTATUSWIN_X(3), OSDSTATUSWIN_Y(offset), label3, FemonTheme[FemonConfig.theme].clrInactiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM); \ + osdM->DrawText(OSDSTATUSWIN_X(4), OSDSTATUSWIN_Y(offset), label4, FemonTheme[FemonConfig.theme].clrInactiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM); \ + osdM->DrawText(OSDSTATUSWIN_X(5), OSDSTATUSWIN_Y(offset), label5, FemonTheme[FemonConfig.theme].clrInactiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM); \ + osdM->DrawText(OSDSTATUSWIN_X(6), OSDSTATUSWIN_Y(offset), label6, FemonTheme[FemonConfig.theme].clrInactiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM); \ + osdM->DrawText(OSDSTATUSWIN_X(7), OSDSTATUSWIN_Y(offset), label7, FemonTheme[FemonConfig.theme].clrInactiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM) #define OSDDRAWSTATUSBAR(value) \ if (value > 0) { \ int barvalue = OSDBARWIDTH(value); \ - m_Osd->DrawRectangle(0, OSDSTATUSWIN_Y(offset) + 3, min(OSDBARWIDTH(femonConfig.redlimit), barvalue), OSDSTATUSWIN_Y(offset) + OSDROWHEIGHT - 3, femonTheme[femonConfig.theme].clrRed); \ - if (barvalue > OSDBARWIDTH(femonConfig.redlimit)) \ - m_Osd->DrawRectangle(OSDBARWIDTH(femonConfig.redlimit), OSDSTATUSWIN_Y(offset) + 3, min((OSDWIDTH * femonConfig.greenlimit / 100), barvalue), OSDSTATUSWIN_Y(offset) + OSDROWHEIGHT - 3, femonTheme[femonConfig.theme].clrYellow); \ - if (barvalue > OSDBARWIDTH(femonConfig.greenlimit)) \ - m_Osd->DrawRectangle(OSDBARWIDTH(femonConfig.greenlimit), OSDSTATUSWIN_Y(offset) + 3, barvalue, OSDSTATUSWIN_Y(offset) + OSDROWHEIGHT - 3, femonTheme[femonConfig.theme].clrGreen); \ + osdM->DrawRectangle(0, OSDSTATUSWIN_Y(offset) + 3, min(OSDBARWIDTH(FemonConfig.redlimit), barvalue), OSDSTATUSWIN_Y(offset) + OSDROWHEIGHT - 3, FemonTheme[FemonConfig.theme].clrRed); \ + if (barvalue > OSDBARWIDTH(FemonConfig.redlimit)) \ + osdM->DrawRectangle(OSDBARWIDTH(FemonConfig.redlimit), OSDSTATUSWIN_Y(offset) + 3, min((OSDWIDTH * FemonConfig.greenlimit / 100), barvalue), OSDSTATUSWIN_Y(offset) + OSDROWHEIGHT - 3, FemonTheme[FemonConfig.theme].clrYellow); \ + if (barvalue > OSDBARWIDTH(FemonConfig.greenlimit)) \ + osdM->DrawRectangle(OSDBARWIDTH(FemonConfig.greenlimit), OSDSTATUSWIN_Y(offset) + 3, barvalue, OSDSTATUSWIN_Y(offset) + OSDROWHEIGHT - 3, FemonTheme[FemonConfig.theme].clrGreen); \ } #define OSDDRAWSTATUSTITLEBAR(title) \ - m_Osd->DrawRectangle(0, OSDSTATUSWIN_Y(offset), OSDWIDTH, OSDSTATUSWIN_Y(offset) + OSDROWHEIGHT - 1, femonTheme[femonConfig.theme].clrTitleBackground); \ - m_Osd->DrawText(OSDSTATUSWIN_X(1), OSDSTATUSWIN_Y(offset), title, femonTheme[femonConfig.theme].clrTitleText, femonTheme[femonConfig.theme].clrTitleBackground, m_Font); \ + osdM->DrawRectangle(0, OSDSTATUSWIN_Y(offset), OSDWIDTH, OSDSTATUSWIN_Y(offset) + OSDROWHEIGHT - 1, FemonTheme[FemonConfig.theme].clrTitleBackground); \ + osdM->DrawText(OSDSTATUSWIN_X(1), OSDSTATUSWIN_Y(offset), title, FemonTheme[FemonConfig.theme].clrTitleText, FemonTheme[FemonConfig.theme].clrTitleBackground, fontM); \ if (IS_OSDROUNDING) { \ - m_Osd->DrawEllipse(0, OSDSTATUSWIN_Y(0), OSDROUNDING, OSDSTATUSWIN_Y(OSDROUNDING), clrTransparent, -2); \ - m_Osd->DrawEllipse(OSDWIDTH - OSDROUNDING, OSDSTATUSWIN_Y(0), OSDWIDTH, OSDSTATUSWIN_Y(OSDROUNDING), clrTransparent, -1); \ + osdM->DrawEllipse(0, OSDSTATUSWIN_Y(0), OSDROUNDING, OSDSTATUSWIN_Y(OSDROUNDING), clrTransparent, -2); \ + osdM->DrawEllipse(OSDWIDTH - OSDROUNDING, OSDSTATUSWIN_Y(0), OSDWIDTH, OSDSTATUSWIN_Y(OSDROUNDING), clrTransparent, -1); \ } \ - m_Osd->DrawRectangle(0, OSDSTATUSWIN_Y(offset) + OSDROWHEIGHT, OSDWIDTH, OSDSTATUSWIN_Y(offset) + OSDSTATUSHEIGHT - 1, femonTheme[femonConfig.theme].clrBackground) + osdM->DrawRectangle(0, OSDSTATUSWIN_Y(offset) + OSDROWHEIGHT, OSDWIDTH, OSDSTATUSWIN_Y(offset) + OSDSTATUSHEIGHT - 1, FemonTheme[FemonConfig.theme].clrBackground) #define OSDDRAWSTATUSBOTTOMBAR() \ if (IS_OSDROUNDING) { \ - m_Osd->DrawEllipse(0, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT) - OSDROUNDING, OSDROUNDING, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT), clrTransparent, -3); \ - m_Osd->DrawEllipse(OSDWIDTH - OSDROUNDING, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT) - OSDROUNDING, OSDWIDTH, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT), clrTransparent, -4); \ + osdM->DrawEllipse(0, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT) - OSDROUNDING, OSDROUNDING, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT), clrTransparent, -3); \ + osdM->DrawEllipse(OSDWIDTH - OSDROUNDING, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT) - OSDROUNDING, OSDWIDTH, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT), clrTransparent, -4); \ } #define OSDCLEARSTATUS() \ - m_Osd->DrawRectangle(0, OSDSTATUSWIN_Y(0), OSDWIDTH, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT) - 1, clrTransparent) + osdM->DrawRectangle(0, OSDSTATUSWIN_Y(0), OSDWIDTH, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT) - 1, clrTransparent) #define OSDDRAWINFOLEFT(label, value) \ - m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), label, femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font); \ - m_Osd->DrawText(OSDINFOWIN_X(2), OSDINFOWIN_Y(offset), value, femonTheme[femonConfig.theme].clrActiveText, femonTheme[femonConfig.theme].clrBackground, m_Font) + osdM->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), label, FemonTheme[FemonConfig.theme].clrInactiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM); \ + osdM->DrawText(OSDINFOWIN_X(2), OSDINFOWIN_Y(offset), value, FemonTheme[FemonConfig.theme].clrActiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM) #define OSDDRAWINFORIGHT(label, value) \ - m_Osd->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), label, femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font); \ - m_Osd->DrawText(OSDINFOWIN_X(4), OSDINFOWIN_Y(offset), value, femonTheme[femonConfig.theme].clrActiveText, femonTheme[femonConfig.theme].clrBackground, m_Font) + osdM->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), label, FemonTheme[FemonConfig.theme].clrInactiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM); \ + osdM->DrawText(OSDINFOWIN_X(4), OSDINFOWIN_Y(offset), value, FemonTheme[FemonConfig.theme].clrActiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM) #define OSDDRAWINFOACTIVE(label, value) \ - m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), label, femonTheme[femonConfig.theme].clrActiveText, femonTheme[femonConfig.theme].clrBackground, m_Font); \ - m_Osd->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), value, femonTheme[femonConfig.theme].clrActiveText, femonTheme[femonConfig.theme].clrBackground, m_Font) + osdM->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), label, FemonTheme[FemonConfig.theme].clrActiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM); \ + osdM->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), value, FemonTheme[FemonConfig.theme].clrActiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM) #define OSDDRAWINFOINACTIVE(label, value) \ - m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), label, femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font); \ - m_Osd->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), value, femonTheme[femonConfig.theme].clrActiveText, femonTheme[femonConfig.theme].clrBackground, m_Font) + osdM->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), label, FemonTheme[FemonConfig.theme].clrInactiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM); \ + osdM->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), value, FemonTheme[FemonConfig.theme].clrActiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM) #define OSDDRAWINFOLINE(label) \ - m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), label, femonTheme[femonConfig.theme].clrActiveText, femonTheme[femonConfig.theme].clrBackground, m_Font) + osdM->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), label, FemonTheme[FemonConfig.theme].clrActiveText, FemonTheme[FemonConfig.theme].clrBackground, fontM) #define OSDDRAWINFOTITLEBAR(title) \ - m_Osd->DrawRectangle(0, OSDINFOWIN_Y(offset), OSDWIDTH, OSDINFOWIN_Y(offset) + OSDROWHEIGHT - 1, femonTheme[femonConfig.theme].clrTitleBackground); \ - m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), title, femonTheme[femonConfig.theme].clrTitleText, femonTheme[femonConfig.theme].clrTitleBackground, m_Font); \ + osdM->DrawRectangle(0, OSDINFOWIN_Y(offset), OSDWIDTH, OSDINFOWIN_Y(offset) + OSDROWHEIGHT - 1, FemonTheme[FemonConfig.theme].clrTitleBackground); \ + osdM->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), title, FemonTheme[FemonConfig.theme].clrTitleText, FemonTheme[FemonConfig.theme].clrTitleBackground, fontM); \ if (IS_OSDROUNDING) { \ - m_Osd->DrawEllipse(0, OSDINFOWIN_Y(0), OSDROUNDING, OSDINFOWIN_Y(OSDROUNDING), clrTransparent, -2); \ - m_Osd->DrawEllipse(OSDWIDTH - OSDROUNDING, OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDROUNDING), clrTransparent, -1); \ + osdM->DrawEllipse(0, OSDINFOWIN_Y(0), OSDROUNDING, OSDINFOWIN_Y(OSDROUNDING), clrTransparent, -2); \ + osdM->DrawEllipse(OSDWIDTH - OSDROUNDING, OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDROUNDING), clrTransparent, -1); \ } \ - m_Osd->DrawRectangle(0, OSDINFOWIN_Y(offset) + OSDROWHEIGHT, OSDWIDTH, OSDINFOWIN_Y(offset) + OSDINFOHEIGHT - 1, femonTheme[femonConfig.theme].clrBackground) + osdM->DrawRectangle(0, OSDINFOWIN_Y(offset) + OSDROWHEIGHT, OSDWIDTH, OSDINFOWIN_Y(offset) + OSDINFOHEIGHT - 1, FemonTheme[FemonConfig.theme].clrBackground) #define OSDDRAWINFOBOTTOMBAR() \ if (IS_OSDROUNDING) { \ - m_Osd->DrawEllipse(0, OSDINFOWIN_Y(OSDINFOHEIGHT) - OSDROUNDING, OSDROUNDING, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -3); \ - m_Osd->DrawEllipse((OSDWIDTH - OSDROUNDING), OSDINFOWIN_Y(OSDINFOHEIGHT) - OSDROUNDING, OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -4); \ + osdM->DrawEllipse(0, OSDINFOWIN_Y(OSDINFOHEIGHT) - OSDROUNDING, OSDROUNDING, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -3); \ + osdM->DrawEllipse((OSDWIDTH - OSDROUNDING), OSDINFOWIN_Y(OSDINFOHEIGHT) - OSDROUNDING, OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -4); \ } #define OSDCLEARINFO() \ - m_Osd->DrawRectangle(0, OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT) - 1, clrTransparent) + osdM->DrawRectangle(0, OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT) - 1, clrTransparent) #ifndef MINFONTSIZE #define MINFONTSIZE 10 @@ -142,69 +142,69 @@ class cFemonDummyFont : public cFont { public: - virtual int Width(uint c) const { return 10; } - virtual int Width(const char *s) const { return 50; } + virtual int Width(uint cP) const { return 10; } + virtual int Width(const char *sP) const { return 50; } virtual int Height(void) const { return 20; } - virtual void DrawText(cBitmap *Bitmap, int x, int y, const char *s, tColor ColorFg, tColor ColorBg, int Width) const {} - virtual void DrawText(cPixmap *Pixmap, int x, int y, const char *s, tColor ColorFg, tColor ColorBg, int Width) const {} + virtual void DrawText(cBitmap *bitmapP, int xP, int yP, const char *sP, tColor colorFgP, tColor colorBgP, int widthP) const {} + virtual void DrawText(cPixmap *pixmapP, int xP, int yP, const char *sP, tColor colorFgP, tColor colorBgP, int widthP) const {} }; -cFemonOsd *cFemonOsd::pInstance = NULL; +cFemonOsd *cFemonOsd::pInstanceS = NULL; -cFemonOsd *cFemonOsd::Instance(bool create) +cFemonOsd *cFemonOsd::Instance(bool createP) { debug("%s()\n", __PRETTY_FUNCTION__); - if ((pInstance == NULL) && create) + if ((pInstanceS == NULL) && createP) { - pInstance = new cFemonOsd(); + pInstanceS = new cFemonOsd(); } - return (pInstance); + return (pInstanceS); } cFemonOsd::cFemonOsd() : cOsdObject(true), cThread("femon osd"), - m_Osd(NULL), - m_Receiver(NULL), - m_Frontend(-1), - m_SvdrpFrontend(-1), - m_SvdrpVideoBitrate(-1), - m_SvdrpAudioBitrate(-1), - m_SvdrpPlugin(NULL), - m_Number(0), - m_OldNumber(0), - m_Quality(0), - m_QualityValid(false), - m_Strength(0), - m_StrengthValid(false), - m_SNR(0), - m_SNRValid(false), - m_Signal(0), - m_SignalValid(false), - m_BER(0), - m_BERValid(false), - m_UNC(0), - m_UNCValid(false), - m_FrontendName(""), - m_FrontendStatusValid(false), - m_DeviceSource(DEVICESOURCE_DVBAPI), - m_DisplayMode(femonConfig.displaymode), - m_OsdWidth(cOsd::OsdWidth() * (100 - femonConfig.downscale) / 100), - m_OsdHeight(cOsd::OsdHeight() * (100 - femonConfig.downscale) / 100), - m_OsdLeft(cOsd::OsdLeft() + (cOsd::OsdWidth() * femonConfig.downscale / 200)), - m_OsdTop(cOsd::OsdTop() + (cOsd::OsdHeight() * femonConfig.downscale / 200)), - m_InputTime(0), - m_Sleep(), - m_Mutex() + osdM(NULL), + receiverM(NULL), + frontendM(-1), + svdrpFrontendM(-1), + svdrpVideoBitRateM(-1), + svdrpAudioBitRateM(-1), + svdrpPluginM(NULL), + numberM(0), + oldNumberM(0), + qualityM(0), + qualityValidM(false), + strengthM(0), + strengthValidM(false), + snrM(0), + snrValidM(false), + signalM(0), + signalValidM(false), + berM(0), + berValidM(false), + uncM(0), + uncValidM(false), + frontendNameM(""), + frontendStatusValidM(false), + deviceSourceM(DEVICESOURCE_DVBAPI), + displayModeM(FemonConfig.displaymode), + osdWidthM(cOsd::OsdWidth() * (100 - FemonConfig.downscale) / 100), + osdHeightM(cOsd::OsdHeight() * (100 - FemonConfig.downscale) / 100), + osdLeftM(cOsd::OsdLeft() + (cOsd::OsdWidth() * FemonConfig.downscale / 200)), + osdTopM(cOsd::OsdTop() + (cOsd::OsdHeight() * FemonConfig.downscale / 200)), + inputTimeM(0), + sleepM(), + mutexM() { int tmp; debug("%s()\n", __PRETTY_FUNCTION__); - memset(&m_FrontendStatus, 0, sizeof(m_FrontendStatus)); - memset(&m_FrontendInfo, 0, sizeof(m_FrontendInfo)); - m_SvdrpConnection.handle = -1; + memset(&frontendStatusM, 0, sizeof(frontendStatusM)); + memset(&frontendInfoM, 0, sizeof(frontendInfoM)); + svdrpConnectionM.handle = -1; femonSymbols.Refresh(); - m_Font = cFont::CreateFont(Setup.FontSml, constrain(Setup.FontSmlSize, MINFONTSIZE, MAXFONTSIZE)); - if (!m_Font || !m_Font->Height()) { - m_Font = new cFemonDummyFont; + fontM = cFont::CreateFont(Setup.FontSml, constrain(Setup.FontSmlSize, MINFONTSIZE, MAXFONTSIZE)); + if (!fontM || !fontM->Height()) { + fontM = new cFemonDummyFont; error("cFemonOsd::cFemonOsd() cannot create required font."); } tmp = 5 * OSDSYMBOL(SYMBOL_LOCK).Width() + 6 * OSDSPACING; @@ -222,43 +222,43 @@ cFemonOsd::cFemonOsd() cFemonOsd::~cFemonOsd(void) { debug("%s()\n", __PRETTY_FUNCTION__); - m_Sleep.Signal(); + sleepM.Signal(); if (Running()) Cancel(3); - if (m_SvdrpConnection.handle >= 0) { - m_SvdrpPlugin = cPluginManager::GetPlugin(SVDRPPLUGIN); - if (m_SvdrpPlugin) - m_SvdrpPlugin->Service("SvdrpConnection-v1.0", &m_SvdrpConnection); + if (svdrpConnectionM.handle >= 0) { + svdrpPluginM = cPluginManager::GetPlugin(SVDRPPLUGIN); + if (svdrpPluginM) + svdrpPluginM->Service("SvdrpConnection-v1.0", &svdrpConnectionM); } - if (m_Receiver) { - m_Receiver->Deactivate(); - DELETENULL(m_Receiver); + if (receiverM) { + receiverM->Deactivate(); + DELETENULL(receiverM); } - if (m_Osd) - DELETENULL(m_Osd); - if (m_Font) - DELETENULL(m_Font); - if (m_Frontend >= 0) { - close(m_Frontend); - m_Frontend = -1; + if (osdM) + DELETENULL(osdM); + if (fontM) + DELETENULL(fontM); + if (frontendM >= 0) { + close(frontendM); + frontendM = -1; } - pInstance = NULL; + pInstanceS = NULL; } void cFemonOsd::DrawStatusWindow(void) { - cMutexLock lock(&m_Mutex); + cMutexLock lock(&mutexM); cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel()); - if (m_Osd && channel) { + if (osdM && channel) { cBitmap *bm = NULL; int offset = 0; int x = OSDWIDTH - OSDROUNDING; int y = 0; eTrackType track = cDevice::PrimaryDevice()->GetCurrentAudioTrack(); - OSDDRAWSTATUSTITLEBAR(*cString::sprintf("%d%s %s", m_Number ? m_Number : channel->Number(), m_Number ? "-" : "", channel->ShortName(true))); - if (m_SvdrpFrontend >= 0) { + OSDDRAWSTATUSTITLEBAR(*cString::sprintf("%d%s %s", numberM ? numberM : channel->Number(), numberM ? "-" : "", channel->ShortName(true))); + if (svdrpFrontendM >= 0) { bm = &OSDSYMBOL(SYMBOL_SVDRP); OSDDRAWSTATUSBM(OSDSPACING); } @@ -296,36 +296,36 @@ void cFemonOsd::DrawStatusWindow(void) } OSDDRAWSTATUSBM(0); } - else if (m_Receiver && m_Receiver->AC3Valid() && IS_DOLBY_TRACK(track)) { - if (m_Receiver->AC3_5_1()) bm = &OSDSYMBOL(SYMBOL_DD51); - else if (m_Receiver->AC3_2_0()) bm = &OSDSYMBOL(SYMBOL_DD20); + else if (receiverM && receiverM->AC3Valid() && IS_DOLBY_TRACK(track)) { + if (receiverM->AC3_5_1()) bm = &OSDSYMBOL(SYMBOL_DD51); + else if (receiverM->AC3_2_0()) bm = &OSDSYMBOL(SYMBOL_DD20); else bm = &OSDSYMBOL(SYMBOL_DD); OSDDRAWSTATUSBM(OSDSPACING); } - if (m_Receiver) { - if (IS_OSDRESOLUTION(m_Receiver->VideoVerticalSize(), 1080)) { - switch (m_Receiver->VideoScan()) { + if (receiverM) { + if (IS_OSDRESOLUTION(receiverM->VideoVerticalSize(), 1080)) { + switch (receiverM->VideoScan()) { case VIDEO_SCAN_INTERLACED: bm = &OSDSYMBOL(SYMBOL_FORMAT_1080i); break; case VIDEO_SCAN_PROGRESSIVE: bm = &OSDSYMBOL(SYMBOL_FORMAT_1080p); break; default: bm = &OSDSYMBOL(SYMBOL_FORMAT_1080); break; } } - else if (IS_OSDRESOLUTION(m_Receiver->VideoVerticalSize(), 720)) { - switch (m_Receiver->VideoScan()) { + else if (IS_OSDRESOLUTION(receiverM->VideoVerticalSize(), 720)) { + switch (receiverM->VideoScan()) { case VIDEO_SCAN_INTERLACED: bm = &OSDSYMBOL(SYMBOL_FORMAT_720i); break; case VIDEO_SCAN_PROGRESSIVE: bm = &OSDSYMBOL(SYMBOL_FORMAT_720p); break; default: bm = &OSDSYMBOL(SYMBOL_FORMAT_720); break; } } - else if (IS_OSDRESOLUTION(m_Receiver->VideoVerticalSize(), 576)) { - switch (m_Receiver->VideoScan()) { + else if (IS_OSDRESOLUTION(receiverM->VideoVerticalSize(), 576)) { + switch (receiverM->VideoScan()) { case VIDEO_SCAN_INTERLACED: bm = &OSDSYMBOL(SYMBOL_FORMAT_576i); break; case VIDEO_SCAN_PROGRESSIVE: bm = &OSDSYMBOL(SYMBOL_FORMAT_576p); break; default: bm = &OSDSYMBOL(SYMBOL_FORMAT_576); break; } } - else if (IS_OSDRESOLUTION(m_Receiver->VideoVerticalSize(), 480)) { - switch (m_Receiver->VideoScan()) { + else if (IS_OSDRESOLUTION(receiverM->VideoVerticalSize(), 480)) { + switch (receiverM->VideoScan()) { case VIDEO_SCAN_INTERLACED: bm = &OSDSYMBOL(SYMBOL_FORMAT_480i); break; case VIDEO_SCAN_PROGRESSIVE: bm = &OSDSYMBOL(SYMBOL_FORMAT_480p); break; default: bm = &OSDSYMBOL(SYMBOL_FORMAT_480); break; @@ -334,19 +334,19 @@ void cFemonOsd::DrawStatusWindow(void) else bm = NULL; OSDDRAWSTATUSBM(OSDSPACING); - switch (m_Receiver->VideoCodec()) { + switch (receiverM->VideoCodec()) { case VIDEO_CODEC_MPEG2: bm = &OSDSYMBOL(SYMBOL_MPEG2); break; case VIDEO_CODEC_H264: bm = &OSDSYMBOL(SYMBOL_H264); break; default: bm = NULL; break; } OSDDRAWSTATUSBM(OSDSPACING); - switch (m_Receiver->VideoFormat()) { + switch (receiverM->VideoFormat()) { case VIDEO_FORMAT_PAL: bm = &OSDSYMBOL(SYMBOL_PAL); break; case VIDEO_FORMAT_NTSC: bm = &OSDSYMBOL(SYMBOL_NTSC); break; default: bm = NULL; break; } OSDDRAWSTATUSBM(OSDSPACING); - switch (m_Receiver->VideoAspectRatio()) { + switch (receiverM->VideoAspectRatio()) { case VIDEO_ASPECT_RATIO_1_1: bm = &OSDSYMBOL(SYMBOL_AR_1_1); break; case VIDEO_ASPECT_RATIO_4_3: bm = &OSDSYMBOL(SYMBOL_AR_4_3); break; case VIDEO_ASPECT_RATIO_16_9: bm = &OSDSYMBOL(SYMBOL_AR_16_9); break; @@ -360,24 +360,24 @@ void cFemonOsd::DrawStatusWindow(void) OSDDRAWSTATUSBM(OSDSPACING); } offset += OSDROWHEIGHT; - if (m_StrengthValid) - OSDDRAWSTATUSBAR(m_Strength); + if (strengthValidM) + OSDDRAWSTATUSBAR(strengthM); offset += OSDROWHEIGHT; - if (m_QualityValid) - OSDDRAWSTATUSBAR(m_Quality); + if (qualityValidM) + OSDDRAWSTATUSBAR(qualityM); offset += OSDROWHEIGHT; - OSDDRAWSTATUSVALUES("STR:", m_SignalValid ? *cString::sprintf("%04x", m_Signal) : "", m_SignalValid ? *cString::sprintf("(%2d%%)", m_Signal / 655) : "", - "BER:", m_BERValid ? *cString::sprintf("%08x", m_BER) : "", *cString::sprintf("%s:", tr("Video")), - *getBitrateMbits(m_Receiver ? m_Receiver->VideoBitrate() : (m_SvdrpFrontend >= 0 ? m_SvdrpVideoBitrate : -1.0))); + OSDDRAWSTATUSVALUES("STR:", signalValidM ? *cString::sprintf("%04x", signalM) : "", signalValidM ? *cString::sprintf("(%2d%%)", signalM / 655) : "", + "BER:", berValidM ? *cString::sprintf("%08x", berM) : "", *cString::sprintf("%s:", tr("Video")), + *getBitrateMbits(receiverM ? receiverM->VideoBitrate() : (svdrpFrontendM >= 0 ? svdrpVideoBitRateM : -1.0))); offset += OSDROWHEIGHT; - OSDDRAWSTATUSVALUES("SNR:", m_SNRValid ? *cString::sprintf("%04x", m_SNR) : "", m_SNRValid ? *cString::sprintf("(%2d%%)", m_SNR / 655) : "", - "UNC:", m_UNCValid ? *cString::sprintf("%08x", m_UNC) : "", - *cString::sprintf("%s:", (m_Receiver && m_Receiver->AC3Valid() && IS_DOLBY_TRACK(track)) ? tr("AC-3") : tr("Audio")), - *getBitrateKbits(m_Receiver ? ((m_Receiver->AC3Valid() && IS_DOLBY_TRACK(track)) ? m_Receiver->AC3Bitrate() : m_Receiver->AudioBitrate()) : (m_SvdrpFrontend >= 0 ? m_SvdrpAudioBitrate : -1.0))); + OSDDRAWSTATUSVALUES("SNR:", snrValidM ? *cString::sprintf("%04x", snrM) : "", snrValidM ? *cString::sprintf("(%2d%%)", snrM / 655) : "", + "UNC:", uncValidM ? *cString::sprintf("%08x", uncM) : "", + *cString::sprintf("%s:", (receiverM && receiverM->AC3Valid() && IS_DOLBY_TRACK(track)) ? tr("AC-3") : tr("Audio")), + *getBitrateKbits(receiverM ? ((receiverM->AC3Valid() && IS_DOLBY_TRACK(track)) ? receiverM->AC3Bitrate() : receiverM->AudioBitrate()) : (svdrpFrontendM >= 0 ? svdrpAudioBitRateM : -1.0))); offset += OSDROWHEIGHT; x = OSDSYMBOL(SYMBOL_LOCK).Width(); y = (OSDROWHEIGHT - OSDSYMBOL(SYMBOL_LOCK).Height()) / 2; - if (m_FrontendStatusValid) { + if (frontendStatusValidM) { OSDDRAWSTATUSFRONTEND(1, OSDSYMBOL(SYMBOL_LOCK), FE_HAS_LOCK); OSDDRAWSTATUSFRONTEND(2, OSDSYMBOL(SYMBOL_SIGNAL), FE_HAS_SIGNAL); OSDDRAWSTATUSFRONTEND(3, OSDSYMBOL(SYMBOL_CARRIER), FE_HAS_CARRIER); @@ -385,20 +385,20 @@ void cFemonOsd::DrawStatusWindow(void) OSDDRAWSTATUSFRONTEND(5, OSDSYMBOL(SYMBOL_SYNC), FE_HAS_SYNC); } OSDDRAWSTATUSBOTTOMBAR(); - m_Osd->Flush(); + osdM->Flush(); } } void cFemonOsd::DrawInfoWindow(void) { - cMutexLock lock(&m_Mutex); + cMutexLock lock(&mutexM); cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel()); - if (m_Osd && channel) { + if (osdM && channel) { int offset = 0; eTrackType track = cDevice::PrimaryDevice()->GetCurrentAudioTrack(); - switch (m_DisplayMode) { + switch (displayModeM) { case eFemonModeTransponder: OSDDRAWINFOTITLEBAR(tr("Transponder Information")); offset += OSDROWHEIGHT; @@ -422,7 +422,7 @@ void cFemonOsd::DrawInfoWindow(void) switch (channel->Source() & cSource::st_Mask) { case cSource::stSat: { cDvbTransponderParameters dtp(channel->Parameters()); - OSDDRAWINFOLINE(*cString::sprintf("%s #%d - %s", *getSatelliteSystem(dtp.System()), (m_SvdrpFrontend >= 0) ? m_SvdrpFrontend : cDevice::ActualDevice()->CardIndex(), *m_FrontendName)); + OSDDRAWINFOLINE(*cString::sprintf("%s #%d - %s", *getSatelliteSystem(dtp.System()), (svdrpFrontendM >= 0) ? svdrpFrontendM : cDevice::ActualDevice()->CardIndex(), *frontendNameM)); offset += OSDROWHEIGHT; OSDDRAWINFOLEFT( trVDR("Frequency"), *getFrequencyMHz(channel->Frequency())); OSDDRAWINFORIGHT(trVDR("Source"), *cSource::ToString(channel->Source())); @@ -444,7 +444,7 @@ void cFemonOsd::DrawInfoWindow(void) case cSource::stCable: { cDvbTransponderParameters dtp(channel->Parameters()); - OSDDRAWINFOLINE(*cString::sprintf("DVB-C #%d - %s", (m_SvdrpFrontend >= 0) ? m_SvdrpFrontend : cDevice::ActualDevice()->CardIndex(), *m_FrontendName)); + OSDDRAWINFOLINE(*cString::sprintf("DVB-C #%d - %s", (svdrpFrontendM >= 0) ? svdrpFrontendM : cDevice::ActualDevice()->CardIndex(), *frontendNameM)); offset += OSDROWHEIGHT; OSDDRAWINFOLEFT( trVDR("Frequency"), *getFrequencyMHz(channel->Frequency())); OSDDRAWINFORIGHT(trVDR("Source"), *cSource::ToString(channel->Source())); @@ -459,7 +459,7 @@ void cFemonOsd::DrawInfoWindow(void) case cSource::stTerr: { cDvbTransponderParameters dtp(channel->Parameters()); - OSDDRAWINFOLINE(*cString::sprintf("%s #%d - %s", *getTerrestrialSystem(dtp.System()), (m_SvdrpFrontend >= 0) ? m_SvdrpFrontend : cDevice::ActualDevice()->CardIndex(), *m_FrontendName)); + OSDDRAWINFOLINE(*cString::sprintf("%s #%d - %s", *getTerrestrialSystem(dtp.System()), (svdrpFrontendM >= 0) ? svdrpFrontendM : cDevice::ActualDevice()->CardIndex(), *frontendNameM)); offset += OSDROWHEIGHT; OSDDRAWINFOLEFT( trVDR("Frequency"), *getFrequencyMHz(channel->Frequency())); OSDDRAWINFORIGHT(trVDR("Transmission"), *getTransmission(dtp.Transmission())); @@ -484,9 +484,9 @@ void cFemonOsd::DrawInfoWindow(void) break; case stIptv: { - OSDDRAWINFOLINE(*cString::sprintf("IPTV #%d - %s", (m_SvdrpFrontend >= 0) ? m_SvdrpFrontend : cDevice::ActualDevice()->CardIndex(), *m_FrontendName)); + OSDDRAWINFOLINE(*cString::sprintf("IPTV #%d - %s", (svdrpFrontendM >= 0) ? svdrpFrontendM : cDevice::ActualDevice()->CardIndex(), *frontendNameM)); offset += OSDROWHEIGHT; - if (m_SvdrpFrontend < 0) { + if (svdrpFrontendM < 0) { cPlugin *p; IptvService_v1_0 data; data.cardIndex = cDevice::ActualDevice()->CardIndex(); @@ -511,53 +511,53 @@ void cFemonOsd::DrawInfoWindow(void) offset += OSDROWHEIGHT; OSDDRAWINFOACTIVE( tr("Video Stream"), *getVideoStream(channel->Vpid())); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Codec"), *getVideoCodec(m_Receiver ? m_Receiver->VideoCodec() : VIDEO_CODEC_INVALID)); + OSDDRAWINFOINACTIVE(tr("Codec"), *getVideoCodec(receiverM ? receiverM->VideoCodec() : VIDEO_CODEC_INVALID)); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Bitrate"), *getVideoBitrate(m_Receiver ? m_Receiver->VideoBitrate() : 0, m_Receiver ? m_Receiver->VideoStreamBitrate() : 0)); + OSDDRAWINFOINACTIVE(tr("Bitrate"), *getVideoBitrate(receiverM ? receiverM->VideoBitrate() : 0, receiverM ? receiverM->VideoStreamBitrate() : 0)); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Aspect Ratio"), *getAspectRatio(m_Receiver ? m_Receiver->VideoAspectRatio() : VIDEO_ASPECT_RATIO_INVALID)); + OSDDRAWINFOINACTIVE(tr("Aspect Ratio"), *getAspectRatio(receiverM ? receiverM->VideoAspectRatio() : VIDEO_ASPECT_RATIO_INVALID)); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Frame Rate"), *getFrameRate(m_Receiver ? m_Receiver->VideoFrameRate() : 0)); + OSDDRAWINFOINACTIVE(tr("Frame Rate"), *getFrameRate(receiverM ? receiverM->VideoFrameRate() : 0)); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Video Format"), *getVideoFormat(m_Receiver ? m_Receiver->VideoFormat() : VIDEO_CODEC_INVALID)); + OSDDRAWINFOINACTIVE(tr("Video Format"), *getVideoFormat(receiverM ? receiverM->VideoFormat() : VIDEO_CODEC_INVALID)); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Resolution"), *getResolution(m_Receiver ? m_Receiver->VideoHorizontalSize() : 0, m_Receiver ? m_Receiver->VideoVerticalSize() : 0, m_Receiver ? m_Receiver->VideoScan() : VIDEO_SCAN_INVALID)); + OSDDRAWINFOINACTIVE(tr("Resolution"), *getResolution(receiverM ? receiverM->VideoHorizontalSize() : 0, receiverM ? receiverM->VideoVerticalSize() : 0, receiverM ? receiverM->VideoScan() : VIDEO_SCAN_INVALID)); offset += OSDROWHEIGHT; OSDDRAWINFOACTIVE( tr("Audio Stream"), *getAudioStream(track, channel)); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Codec"), *getAudioCodec(m_Receiver ? m_Receiver->AudioCodec() : AUDIO_CODEC_INVALID)); + OSDDRAWINFOINACTIVE(tr("Codec"), *getAudioCodec(receiverM ? receiverM->AudioCodec() : AUDIO_CODEC_INVALID)); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Channel Mode"), *getAudioChannelMode(m_Receiver ? m_Receiver->AudioChannelMode() : AUDIO_CHANNEL_MODE_INVALID)); + OSDDRAWINFOINACTIVE(tr("Channel Mode"), *getAudioChannelMode(receiverM ? receiverM->AudioChannelMode() : AUDIO_CHANNEL_MODE_INVALID)); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Bitrate"), *getAudioBitrate(m_Receiver ? m_Receiver->AudioBitrate() : 0, m_Receiver ? m_Receiver->AudioStreamBitrate() : 0)); + OSDDRAWINFOINACTIVE(tr("Bitrate"), *getAudioBitrate(receiverM ? receiverM->AudioBitrate() : 0, receiverM ? receiverM->AudioStreamBitrate() : 0)); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Sampling Frequency"), *getAudioSamplingFreq(m_Receiver ? m_Receiver->AudioSamplingFreq() : AUDIO_SAMPLING_FREQUENCY_INVALID)); + OSDDRAWINFOINACTIVE(tr("Sampling Frequency"), *getAudioSamplingFreq(receiverM ? receiverM->AudioSamplingFreq() : AUDIO_SAMPLING_FREQUENCY_INVALID)); OSDDRAWINFOBOTTOMBAR(); break; case eFemonModeAC3: OSDDRAWINFOTITLEBAR(tr("Stream Information")); - if (m_Receiver && m_Receiver->AC3Valid() && IS_DOLBY_TRACK(track)) { + if (receiverM && receiverM->AC3Valid() && IS_DOLBY_TRACK(track)) { offset += OSDROWHEIGHT; OSDDRAWINFOACTIVE( tr("AC-3 Stream"), *getAC3Stream(track, channel)); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Bitrate"), *getAudioBitrate(m_Receiver->AC3Bitrate(), m_Receiver->AC3StreamBitrate())); + OSDDRAWINFOINACTIVE(tr("Bitrate"), *getAudioBitrate(receiverM->AC3Bitrate(), receiverM->AC3StreamBitrate())); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Sampling Frequency"), *getAudioSamplingFreq(m_Receiver->AC3SamplingFreq())); + OSDDRAWINFOINACTIVE(tr("Sampling Frequency"), *getAudioSamplingFreq(receiverM->AC3SamplingFreq())); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Bit Stream Mode"), *getAC3BitStreamMode(m_Receiver->AC3BitStreamMode(), m_Receiver->AC3AudioCodingMode())); + OSDDRAWINFOINACTIVE(tr("Bit Stream Mode"), *getAC3BitStreamMode(receiverM->AC3BitStreamMode(), receiverM->AC3AudioCodingMode())); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Audio Coding Mode"), *getAC3AudioCodingMode(m_Receiver->AC3AudioCodingMode(), m_Receiver->AC3BitStreamMode())); + OSDDRAWINFOINACTIVE(tr("Audio Coding Mode"), *getAC3AudioCodingMode(receiverM->AC3AudioCodingMode(), receiverM->AC3BitStreamMode())); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Center Mix Level"), *getAC3CenterMixLevel(m_Receiver->AC3CenterMixLevel())); + OSDDRAWINFOINACTIVE(tr("Center Mix Level"), *getAC3CenterMixLevel(receiverM->AC3CenterMixLevel())); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Surround Mix Level"), *getAC3SurroundMixLevel(m_Receiver->AC3SurroundMixLevel())); + OSDDRAWINFOINACTIVE(tr("Surround Mix Level"), *getAC3SurroundMixLevel(receiverM->AC3SurroundMixLevel())); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Dolby Surround Mode"), *getAC3DolbySurroundMode(m_Receiver->AC3DolbySurroundMode())); + OSDDRAWINFOINACTIVE(tr("Dolby Surround Mode"), *getAC3DolbySurroundMode(receiverM->AC3DolbySurroundMode())); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Low Frequency Effects"), *cString::sprintf("%s", m_Receiver->AC3Lfe() ? trVDR("on") : trVDR("off"))); + OSDDRAWINFOINACTIVE(tr("Low Frequency Effects"), *cString::sprintf("%s", receiverM->AC3Lfe() ? trVDR("on") : trVDR("off"))); offset += OSDROWHEIGHT; - OSDDRAWINFOINACTIVE(tr("Dialogue Normalization"), *getAC3DialogLevel(m_Receiver->AC3DialogLevel())); + OSDDRAWINFOINACTIVE(tr("Dialogue Normalization"), *getAC3DialogLevel(receiverM->AC3DialogLevel())); } OSDDRAWINFOBOTTOMBAR(); break; @@ -566,7 +566,7 @@ void cFemonOsd::DrawInfoWindow(void) OSDCLEARINFO(); break; } - m_Osd->Flush(); + osdM->Flush(); } } @@ -578,127 +578,127 @@ void cFemonOsd::Action(void) cmd.command = cString::sprintf("PLUG %s INFO\r\n", PLUGIN_NAME_I18N); while (Running()) { t.Set(0); - m_SvdrpFrontend = -1; - m_SvdrpVideoBitrate = -1.0; - m_SvdrpAudioBitrate = -1.0; - switch (m_DeviceSource) { + svdrpFrontendM = -1; + svdrpVideoBitRateM = -1.0; + svdrpAudioBitRateM = -1.0; + switch (deviceSourceM) { case DEVICESOURCE_PVRINPUT: - m_Quality = cDevice::ActualDevice()->SignalStrength(); - m_QualityValid = (m_Quality >= 0); - m_Strength = cDevice::ActualDevice()->SignalStrength(); - m_StrengthValid = (m_Strength >= 0); - m_FrontendName = cDevice::ActualDevice()->DeviceName(); - m_FrontendStatus = (fe_status_t)(m_StrengthValid ? (FE_HAS_LOCK | FE_HAS_SIGNAL | FE_HAS_CARRIER | FE_HAS_VITERBI | FE_HAS_SYNC) : 0); - m_FrontendStatusValid = m_StrengthValid; - m_Signal = uint16_t(m_Strength * 0xFFFF / 100); - m_SignalValid = m_StrengthValid; - m_SNR = 0; - m_SNRValid = false; - m_BER = 0; - m_BERValid = false; - m_UNC = 0; - m_UNCValid = false; + qualityM = cDevice::ActualDevice()->SignalStrength(); + qualityValidM = (qualityM >= 0); + strengthM = cDevice::ActualDevice()->SignalStrength(); + strengthValidM = (strengthM >= 0); + frontendNameM = cDevice::ActualDevice()->DeviceName(); + frontendStatusM = (fe_status_t)(strengthValidM ? (FE_HAS_LOCK | FE_HAS_SIGNAL | FE_HAS_CARRIER | FE_HAS_VITERBI | FE_HAS_SYNC) : 0); + frontendStatusValidM = strengthValidM; + signalM = uint16_t(strengthM * 0xFFFF / 100); + signalValidM = strengthValidM; + snrM = 0; + snrValidM = false; + berM = 0; + berValidM = false; + uncM = 0; + uncValidM = false; break; case DEVICESOURCE_IPTV: - m_Quality = cDevice::ActualDevice()->SignalQuality(); - m_QualityValid = (m_Quality >= 0); - m_Strength = cDevice::ActualDevice()->SignalStrength(); - m_StrengthValid = (m_Strength >= 0); - m_FrontendName = cDevice::ActualDevice()->DeviceName(); - m_FrontendStatus = (fe_status_t)(m_StrengthValid ? (FE_HAS_LOCK | FE_HAS_SIGNAL | FE_HAS_CARRIER | FE_HAS_VITERBI | FE_HAS_SYNC) : 0); - m_FrontendStatusValid = m_StrengthValid; - m_Signal = uint16_t(m_Strength * 0xFFFF / 100); - m_SignalValid = m_StrengthValid; - m_SNR = uint16_t(m_Quality * 0xFFFF / 100); - m_SNRValid = m_QualityValid; - m_BER = 0; - m_BERValid = false; - m_UNC = 0; - m_UNCValid = false; + qualityM = cDevice::ActualDevice()->SignalQuality(); + qualityValidM = (qualityM >= 0); + strengthM = cDevice::ActualDevice()->SignalStrength(); + strengthValidM = (strengthM >= 0); + frontendNameM = cDevice::ActualDevice()->DeviceName(); + frontendStatusM = (fe_status_t)(strengthValidM ? (FE_HAS_LOCK | FE_HAS_SIGNAL | FE_HAS_CARRIER | FE_HAS_VITERBI | FE_HAS_SYNC) : 0); + frontendStatusValidM = strengthValidM; + signalM = uint16_t(strengthM * 0xFFFF / 100); + signalValidM = strengthValidM; + snrM = uint16_t(qualityM * 0xFFFF / 100); + snrValidM = qualityValidM; + berM = 0; + berValidM = false; + uncM = 0; + uncValidM = false; break; default: case DEVICESOURCE_DVBAPI: - if (m_Frontend != -1) { - m_Quality = cDevice::ActualDevice()->SignalQuality(); - m_QualityValid = (m_Quality >= 0); - m_Strength = cDevice::ActualDevice()->SignalStrength(); - m_StrengthValid = (m_Strength >= 0); - m_FrontendName = cDevice::ActualDevice()->DeviceName(); - m_FrontendStatusValid = (ioctl(m_Frontend, FE_READ_STATUS, &m_FrontendStatus) >= 0); - m_SignalValid = (ioctl(m_Frontend, FE_READ_SIGNAL_STRENGTH, &m_Signal) >= 0); - m_SNRValid = (ioctl(m_Frontend, FE_READ_SNR, &m_SNR) >= 0); - m_BERValid = (ioctl(m_Frontend, FE_READ_BER, &m_BER) >= 0); - m_UNCValid = (ioctl(m_Frontend, FE_READ_UNCORRECTED_BLOCKS, &m_UNC) >= 0); + if (frontendM != -1) { + qualityM = cDevice::ActualDevice()->SignalQuality(); + qualityValidM = (qualityM >= 0); + strengthM = cDevice::ActualDevice()->SignalStrength(); + strengthValidM = (strengthM >= 0); + frontendNameM = cDevice::ActualDevice()->DeviceName(); + frontendStatusValidM = (ioctl(frontendM, FE_READ_STATUS, &frontendStatusM) >= 0); + signalValidM = (ioctl(frontendM, FE_READ_SIGNAL_STRENGTH, &signalM) >= 0); + snrValidM = (ioctl(frontendM, FE_READ_SNR, &snrM) >= 0); + berValidM = (ioctl(frontendM, FE_READ_BER, &berM) >= 0); + uncValidM = (ioctl(frontendM, FE_READ_UNCORRECTED_BLOCKS, &uncM) >= 0); } else if (strstr(*cDevice::ActualDevice()->DeviceType(), SATIP_DEVICE)) { - m_Quality = cDevice::ActualDevice()->SignalQuality(); - m_QualityValid = (m_Quality >= 0); - m_Strength = cDevice::ActualDevice()->SignalStrength(); - m_StrengthValid = (m_Strength >= 0); - m_FrontendName = cDevice::ActualDevice()->DeviceName(); - m_FrontendStatus = (fe_status_t)(cDevice::ActualDevice()->HasLock() ? (FE_HAS_LOCK | FE_HAS_SIGNAL | FE_HAS_CARRIER | FE_HAS_VITERBI | FE_HAS_SYNC) : 0); - m_FrontendStatusValid = m_StrengthValid; - m_Signal = uint16_t(m_Strength * 0xFFFF / 100); - m_SignalValid = m_StrengthValid; - m_SNR = uint16_t(m_Quality * 0xFFFF / 100); - m_SNRValid = m_QualityValid; - m_BER = 0; - m_BERValid = false; - m_UNC = 0; - m_UNCValid = false; + qualityM = cDevice::ActualDevice()->SignalQuality(); + qualityValidM = (qualityM >= 0); + strengthM = cDevice::ActualDevice()->SignalStrength(); + strengthValidM = (strengthM >= 0); + frontendNameM = cDevice::ActualDevice()->DeviceName(); + frontendStatusM = (fe_status_t)(cDevice::ActualDevice()->HasLock() ? (FE_HAS_LOCK | FE_HAS_SIGNAL | FE_HAS_CARRIER | FE_HAS_VITERBI | FE_HAS_SYNC) : 0); + frontendStatusValidM = strengthValidM; + signalM = uint16_t(strengthM * 0xFFFF / 100); + signalValidM = strengthValidM; + snrM = uint16_t(qualityM * 0xFFFF / 100); + snrValidM = qualityValidM; + berM = 0; + berValidM = false; + uncM = 0; + uncValidM = false; } - else if (m_SvdrpConnection.handle >= 0) { - cmd.handle = m_SvdrpConnection.handle; - m_SvdrpPlugin->Service("SvdrpCommand-v1.0", &cmd); + else if (svdrpConnectionM.handle >= 0) { + cmd.handle = svdrpConnectionM.handle; + svdrpPluginM->Service("SvdrpCommand-v1.0", &cmd); if (cmd.responseCode == 900) { - m_StrengthValid = false; - m_QualityValid = false; - m_FrontendStatusValid = false; - m_SignalValid = false; - m_SNRValid = false; - m_BERValid = false; - m_UNCValid = false; + strengthValidM = false; + qualityValidM = false; + frontendStatusValidM = false; + signalValidM = false; + snrValidM = false; + berValidM = false; + uncValidM = false; for (cLine *line = cmd.reply.First(); line; line = cmd.reply.Next(line)) { const char *s = line->Text(); if (!strncasecmp(s, "CARD:", 5)) - m_SvdrpFrontend = (int)strtol(s + 5, NULL, 10); + svdrpFrontendM = (int)strtol(s + 5, NULL, 10); else if (!strncasecmp(s, "STRG:", 5)) { - m_Strength = (int)strtol(s + 5, NULL, 10); - m_StrengthValid = (m_Strength >= 0); + strengthM = (int)strtol(s + 5, NULL, 10); + strengthValidM = (strengthM >= 0); } else if (!strncasecmp(s, "QUAL:", 5)) { - m_Quality = (int)strtol(s + 5, NULL, 10); - m_QualityValid = (m_Quality >= 0); + qualityM = (int)strtol(s + 5, NULL, 10); + qualityValidM = (qualityM >= 0); } else if (!strncasecmp(s, "TYPE:", 5)) - m_FrontendInfo.type = (fe_type_t)strtol(s + 5, NULL, 10); + frontendInfoM.type = (fe_type_t)strtol(s + 5, NULL, 10); else if (!strncasecmp(s, "NAME:", 5)) { - m_FrontendName = s + 5; + frontendNameM = s + 5; } else if (!strncasecmp(s, "STAT:", 5)) { - m_FrontendStatus = (fe_status_t)strtol(s + 5, NULL, 16); - m_FrontendStatusValid = true; + frontendStatusM = (fe_status_t)strtol(s + 5, NULL, 16); + frontendStatusValidM = true; } else if (!strncasecmp(s, "SGNL:", 5)) { - m_Signal = (uint16_t)strtol(s + 5, NULL, 16); - m_SignalValid = true; + signalM = (uint16_t)strtol(s + 5, NULL, 16); + signalValidM = true; } else if (!strncasecmp(s, "SNRA:", 5)) { - m_SNR = (uint16_t)strtol(s + 5, NULL, 16); - m_SNRValid = true; + snrM = (uint16_t)strtol(s + 5, NULL, 16); + snrValidM = true; } else if (!strncasecmp(s, "BERA:", 5)) { - m_BER = (uint32_t)strtol(s + 5, NULL, 16); - m_BERValid = true; + berM = (uint32_t)strtol(s + 5, NULL, 16); + berValidM = true; } else if (!strncasecmp(s, "UNCB:", 5)) { - m_UNC = (uint32_t)strtol(s + 5, NULL, 16); - m_UNCValid = true; + uncM = (uint32_t)strtol(s + 5, NULL, 16); + uncValidM = true; } else if (!strncasecmp(s, "VIBR:", 5)) - m_SvdrpVideoBitrate = (double)strtol(s + 5, NULL, 10); + svdrpVideoBitRateM = (double)strtol(s + 5, NULL, 10); else if (!strncasecmp(s, "AUBR:", 5)) - m_SvdrpAudioBitrate = (double)strtol(s + 5, NULL, 10); + svdrpAudioBitRateM = (double)strtol(s + 5, NULL, 10); } } } @@ -706,7 +706,7 @@ void cFemonOsd::Action(void) } DrawInfoWindow(); DrawStatusWindow(); - m_Sleep.Wait(max((int)(100 * femonConfig.updateinterval - t.Elapsed()), 3)); + sleepM.Wait(max((int)(100 * FemonConfig.updateinterval - t.Elapsed()), 3)); } } @@ -716,29 +716,29 @@ void cFemonOsd::Show(void) eTrackType track = cDevice::PrimaryDevice()->GetCurrentAudioTrack(); const cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel()); - m_DeviceSource = DEVICESOURCE_DVBAPI; + deviceSourceM = DEVICESOURCE_DVBAPI; if (channel) { if (channel->IsSourceType('I')) - m_DeviceSource = DEVICESOURCE_IPTV; + deviceSourceM = DEVICESOURCE_IPTV; else if (channel->IsSourceType('V')) - m_DeviceSource = DEVICESOURCE_PVRINPUT; + deviceSourceM = DEVICESOURCE_PVRINPUT; } - if (m_DeviceSource == DEVICESOURCE_DVBAPI) { + if (deviceSourceM == DEVICESOURCE_DVBAPI) { if (!strstr(*cDevice::ActualDevice()->DeviceType(), SATIP_DEVICE)) { cDvbDevice *dev = getDvbDevice(cDevice::ActualDevice()); - m_Frontend = dev ? open(*cString::sprintf(FRONTEND_DEVICE, dev->Adapter(), dev->Frontend()), O_RDONLY | O_NONBLOCK) : -1; - if (m_Frontend >= 0) { - if (ioctl(m_Frontend, FE_GET_INFO, &m_FrontendInfo) < 0) { - if (!femonConfig.usesvdrp) + frontendM = dev ? open(*cString::sprintf(FRONTEND_DEVICE, dev->Adapter(), dev->Frontend()), O_RDONLY | O_NONBLOCK) : -1; + if (frontendM >= 0) { + if (ioctl(frontendM, FE_GET_INFO, &frontendInfoM) < 0) { + if (!FemonConfig.usesvdrp) error("cFemonOsd::Show() cannot read frontend info."); - close(m_Frontend); - m_Frontend = -1; - memset(&m_FrontendInfo, 0, sizeof(m_FrontendInfo)); + close(frontendM); + frontendM = -1; + memset(&frontendInfoM, 0, sizeof(frontendInfoM)); return; } } - else if (femonConfig.usesvdrp) { + else if (FemonConfig.usesvdrp) { if (!SvdrpConnect() || !SvdrpTune()) return; } @@ -749,79 +749,79 @@ void cFemonOsd::Show(void) } } else - m_Frontend = -1; + frontendM = -1; - m_Osd = cOsdProvider::NewOsd(m_OsdLeft, m_OsdTop); - if (m_Osd) { + osdM = cOsdProvider::NewOsd(osdLeftM, osdTopM); + if (osdM) { tArea Areas1[] = { { 0, 0, OSDWIDTH - 1, OSDHEIGHT - 1, 8 } }; - if (Setup.AntiAlias && m_Osd->CanHandleAreas(Areas1, sizeof(Areas1) / sizeof(tArea)) == oeOk) { - m_Osd->SetAreas(Areas1, sizeof(Areas1) / sizeof(tArea)); + if (Setup.AntiAlias && osdM->CanHandleAreas(Areas1, sizeof(Areas1) / sizeof(tArea)) == oeOk) { + osdM->SetAreas(Areas1, sizeof(Areas1) / sizeof(tArea)); } else { - tArea Areas2[] = { { 0, OSDSTATUSWIN_Y(0), OSDWIDTH - 1, OSDSTATUSWIN_Y(0) + OSDSTATUSHEIGHT - 1, femonTheme[femonConfig.theme].bpp }, - { 0, OSDINFOWIN_Y(0), OSDWIDTH - 1, OSDINFOWIN_Y(0) + OSDROWHEIGHT - 1, femonTheme[femonConfig.theme].bpp }, + tArea Areas2[] = { { 0, OSDSTATUSWIN_Y(0), OSDWIDTH - 1, OSDSTATUSWIN_Y(0) + OSDSTATUSHEIGHT - 1, FemonTheme[FemonConfig.theme].bpp }, + { 0, OSDINFOWIN_Y(0), OSDWIDTH - 1, OSDINFOWIN_Y(0) + OSDROWHEIGHT - 1, FemonTheme[FemonConfig.theme].bpp }, { 0, OSDINFOWIN_Y(OSDROWHEIGHT), OSDWIDTH - 1, OSDINFOWIN_Y(0) + OSDINFOHEIGHT - 1, 2 } }; - m_Osd->SetAreas(Areas2, sizeof(Areas2) / sizeof(tArea)); + osdM->SetAreas(Areas2, sizeof(Areas2) / sizeof(tArea)); } OSDCLEARSTATUS(); OSDCLEARINFO(); - m_Osd->Flush(); - if (m_Receiver) { - m_Receiver->Deactivate(); - DELETENULL(m_Receiver); + osdM->Flush(); + if (receiverM) { + receiverM->Deactivate(); + DELETENULL(receiverM); } - if (femonConfig.analyzestream && channel) { - m_Receiver = new cFemonReceiver(channel, IS_AUDIO_TRACK(track) ? int(track - ttAudioFirst) : 0, IS_DOLBY_TRACK(track) ? int(track - ttDolbyFirst) : 0); - cDevice::ActualDevice()->AttachReceiver(m_Receiver); + if (FemonConfig.analyzestream && channel) { + receiverM = new cFemonReceiver(channel, IS_AUDIO_TRACK(track) ? int(track - ttAudioFirst) : 0, IS_DOLBY_TRACK(track) ? int(track - ttDolbyFirst) : 0); + cDevice::ActualDevice()->AttachReceiver(receiverM); } Start(); } } -void cFemonOsd::ChannelSwitch(const cDevice * device, int channelNumber, bool liveView) +void cFemonOsd::ChannelSwitch(const cDevice * deviceP, int channelNumberP, bool liveViewP) { - debug("%s(%d,%d)\n", __PRETTY_FUNCTION__, device->DeviceNumber(), channelNumber); + debug("%s(%d,%d)\n", __PRETTY_FUNCTION__, deviceP->DeviceNumber(), channelNumberP); eTrackType track = cDevice::PrimaryDevice()->GetCurrentAudioTrack(); const cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel()); - if (!device || !liveView) + if (!deviceP || !liveViewP) return; - if (!channelNumber) { - if (m_Receiver) { - m_Receiver->Deactivate(); - DELETENULL(m_Receiver); + if (!channelNumberP) { + if (receiverM) { + receiverM->Deactivate(); + DELETENULL(receiverM); } return; } - if (channel && femonConfig.analyzestream) { - m_DeviceSource = DEVICESOURCE_DVBAPI; + if (channel && FemonConfig.analyzestream) { + deviceSourceM = DEVICESOURCE_DVBAPI; if (channel->IsSourceType('I')) - m_DeviceSource = DEVICESOURCE_IPTV; + deviceSourceM = DEVICESOURCE_IPTV; else if (channel->IsSourceType('V')) - m_DeviceSource = DEVICESOURCE_PVRINPUT; + deviceSourceM = DEVICESOURCE_PVRINPUT; - if (m_Frontend >= 0) { - close(m_Frontend); - m_Frontend = -1; + if (frontendM >= 0) { + close(frontendM); + frontendM = -1; } - if (m_DeviceSource == DEVICESOURCE_DVBAPI) { + if (deviceSourceM == DEVICESOURCE_DVBAPI) { if (!strstr(*cDevice::ActualDevice()->DeviceType(), SATIP_DEVICE)) { cDvbDevice *dev = getDvbDevice(cDevice::ActualDevice()); - m_Frontend = dev ? open(*cString::sprintf(FRONTEND_DEVICE, dev->Adapter(), dev->Frontend()), O_RDONLY | O_NONBLOCK) : -1; - if (m_Frontend >= 0) { - if (ioctl(m_Frontend, FE_GET_INFO, &m_FrontendInfo) < 0) { - if (!femonConfig.usesvdrp) + frontendM = dev ? open(*cString::sprintf(FRONTEND_DEVICE, dev->Adapter(), dev->Frontend()), O_RDONLY | O_NONBLOCK) : -1; + if (frontendM >= 0) { + if (ioctl(frontendM, FE_GET_INFO, &frontendInfoM) < 0) { + if (!FemonConfig.usesvdrp) error("cFemonOsd::ChannelSwitch() cannot read frontend info."); - close(m_Frontend); - m_Frontend = -1; - memset(&m_FrontendInfo, 0, sizeof(m_FrontendInfo)); + close(frontendM); + frontendM = -1; + memset(&frontendInfoM, 0, sizeof(frontendInfoM)); return; } } - else if (femonConfig.usesvdrp) { + else if (FemonConfig.usesvdrp) { if (!SvdrpConnect() || !SvdrpTune()) return; } @@ -831,38 +831,38 @@ void cFemonOsd::ChannelSwitch(const cDevice * device, int channelNumber, bool li } } - if (m_Receiver) { - m_Receiver->Deactivate(); - DELETENULL(m_Receiver); + if (receiverM) { + receiverM->Deactivate(); + DELETENULL(receiverM); } - m_Receiver = new cFemonReceiver(channel, IS_AUDIO_TRACK(track) ? int(track - ttAudioFirst) : 0, IS_DOLBY_TRACK(track) ? int(track - ttDolbyFirst) : 0); - cDevice::ActualDevice()->AttachReceiver(m_Receiver); + receiverM = new cFemonReceiver(channel, IS_AUDIO_TRACK(track) ? int(track - ttAudioFirst) : 0, IS_DOLBY_TRACK(track) ? int(track - ttDolbyFirst) : 0); + cDevice::ActualDevice()->AttachReceiver(receiverM); } } } -void cFemonOsd::SetAudioTrack(int Index, const char * const *Tracks) +void cFemonOsd::SetAudioTrack(int indexP, const char * const *tracksP) { debug("%s()\n", __PRETTY_FUNCTION__); eTrackType track = cDevice::PrimaryDevice()->GetCurrentAudioTrack(); - if (m_Receiver) { - m_Receiver->Deactivate(); - DELETENULL(m_Receiver); + if (receiverM) { + receiverM->Deactivate(); + DELETENULL(receiverM); } - if (femonConfig.analyzestream) { + if (FemonConfig.analyzestream) { const cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel()); if (channel) { - m_Receiver = new cFemonReceiver(channel, IS_AUDIO_TRACK(track) ? int(track - ttAudioFirst) : 0, IS_DOLBY_TRACK(track) ? int(track - ttDolbyFirst) : 0); - cDevice::ActualDevice()->AttachReceiver(m_Receiver); + receiverM = new cFemonReceiver(channel, IS_AUDIO_TRACK(track) ? int(track - ttAudioFirst) : 0, IS_DOLBY_TRACK(track) ? int(track - ttDolbyFirst) : 0); + cDevice::ActualDevice()->AttachReceiver(receiverM); } } } -bool cFemonOsd::DeviceSwitch(int direction) +bool cFemonOsd::DeviceSwitch(int directionP) { debug("%s()\n", __PRETTY_FUNCTION__); int device = cDevice::ActualDevice()->DeviceNumber(); - direction = sgn(direction); + int direction = sgn(directionP); if (device >= 0) { cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel()); if (channel) { @@ -947,21 +947,21 @@ bool cFemonOsd::DeviceSwitch(int direction) bool cFemonOsd::SvdrpConnect(void) { - if (m_SvdrpConnection.handle < 0) { - m_SvdrpPlugin = cPluginManager::GetPlugin(SVDRPPLUGIN); - if (m_SvdrpPlugin) { - m_SvdrpConnection.serverIp = femonConfig.svdrpip; - m_SvdrpConnection.serverPort = (unsigned short)femonConfig.svdrpport; - m_SvdrpConnection.shared = true; - m_SvdrpPlugin->Service("SvdrpConnection-v1.0", &m_SvdrpConnection); - if (m_SvdrpConnection.handle >= 0) { + if (svdrpConnectionM.handle < 0) { + svdrpPluginM = cPluginManager::GetPlugin(SVDRPPLUGIN); + if (svdrpPluginM) { + svdrpConnectionM.serverIp = FemonConfig.svdrpip; + svdrpConnectionM.serverPort = (unsigned short)FemonConfig.svdrpport; + svdrpConnectionM.shared = true; + svdrpPluginM->Service("SvdrpConnection-v1.0", &svdrpConnectionM); + if (svdrpConnectionM.handle >= 0) { SvdrpCommand_v1_0 cmd; - cmd.handle = m_SvdrpConnection.handle; + cmd.handle = svdrpConnectionM.handle; cmd.command = cString::sprintf("PLUG %s\r\n", PLUGIN_NAME_I18N); - m_SvdrpPlugin->Service("SvdrpCommand-v1.0", &cmd); + svdrpPluginM->Service("SvdrpCommand-v1.0", &cmd); if (cmd.responseCode != 214) { - m_SvdrpPlugin->Service("SvdrpConnection-v1.0", &m_SvdrpConnection); // close connection - error("cFemonOsd::SvdrpConnect() cannot find plugin '%s' on server %s.", PLUGIN_NAME_I18N, *m_SvdrpConnection.serverIp); + svdrpPluginM->Service("SvdrpConnection-v1.0", &svdrpConnectionM); // close connection + error("cFemonOsd::SvdrpConnect() cannot find plugin '%s' on server %s.", PLUGIN_NAME_I18N, *svdrpConnectionM.serverIp); } } else @@ -970,18 +970,18 @@ bool cFemonOsd::SvdrpConnect(void) else error("cFemonOsd::SvdrpConnect() cannot find plugin '%s'.", SVDRPPLUGIN); } - return m_SvdrpConnection.handle >= 0; + return svdrpConnectionM.handle >= 0; } bool cFemonOsd::SvdrpTune(void) { - if (m_SvdrpPlugin && m_SvdrpConnection.handle >= 0) { + if (svdrpPluginM && svdrpConnectionM.handle >= 0) { cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel()); if (channel) { SvdrpCommand_v1_0 cmd; - cmd.handle = m_SvdrpConnection.handle; + cmd.handle = svdrpConnectionM.handle; cmd.command = cString::sprintf("CHAN %s\r\n", *channel->GetChannelID().ToString()); - m_SvdrpPlugin->Service("SvdrpCommand-v1.0", &cmd); + svdrpPluginM->Service("SvdrpCommand-v1.0", &cmd); if (cmd.responseCode == 250) return true; error("cFemonOsd::SvdrpTune() cannot tune server channel."); @@ -999,8 +999,8 @@ double cFemonOsd::GetVideoBitrate(void) debug("%s()\n", __PRETTY_FUNCTION__); double value = 0.0; - if (m_Receiver) - value = m_Receiver->VideoBitrate(); + if (receiverM) + value = receiverM->VideoBitrate(); return (value); } @@ -1010,8 +1010,8 @@ double cFemonOsd::GetAudioBitrate(void) debug("%s()\n", __PRETTY_FUNCTION__); double value = 0.0; - if (m_Receiver) - value = m_Receiver->AudioBitrate(); + if (receiverM) + value = receiverM->AudioBitrate(); return (value); } @@ -1021,34 +1021,34 @@ double cFemonOsd::GetDolbyBitrate(void) debug("%s()\n", __PRETTY_FUNCTION__); double value = 0.0; - if (m_Receiver) - value = m_Receiver->AC3Bitrate(); + if (receiverM) + value = receiverM->AC3Bitrate(); return (value); } -eOSState cFemonOsd::ProcessKey(eKeys Key) +eOSState cFemonOsd::ProcessKey(eKeys keyP) { - eOSState state = cOsdObject::ProcessKey(Key); + eOSState state = cOsdObject::ProcessKey(keyP); if (state == osUnknown) { - switch (int(Key)) { + switch (int(keyP)) { case k0: - if ((m_Number == 0) && (m_OldNumber != 0)) { - m_Number = m_OldNumber; - m_OldNumber = cDevice::CurrentChannel(); - Channels.SwitchTo(m_Number); - m_Number = 0; + if ((numberM == 0) && (oldNumberM != 0)) { + numberM = oldNumberM; + oldNumberM = cDevice::CurrentChannel(); + Channels.SwitchTo(numberM); + numberM = 0; return osContinue; } case k1 ... k9: - if (m_Number >= 0) { - m_Number = m_Number * 10 + Key - k0; - if (m_Number > 0) { + if (numberM >= 0) { + numberM = numberM * 10 + keyP - k0; + if (numberM > 0) { DrawStatusWindow(); - cChannel *ch = Channels.GetByNumber(m_Number); - m_InputTime.Set(0); + cChannel *ch = Channels.GetByNumber(numberM); + inputTimeM.Set(0); // Lets see if there can be any useful further input: - int n = ch ? m_Number * 10 : 0; + int n = ch ? numberM * 10 : 0; while (ch && (ch = Channels.Next(ch)) != NULL) { if (!ch->GroupSep()) { if (n <= ch->Number() && ch->Number() <= n + 9) { @@ -1061,9 +1061,9 @@ eOSState cFemonOsd::ProcessKey(eKeys Key) } if (n > 0) { // This channel is the only one that fits the input, so let's take it right away: - m_OldNumber = cDevice::CurrentChannel(); - Channels.SwitchTo(m_Number); - m_Number = 0; + oldNumberM = cDevice::CurrentChannel(); + Channels.SwitchTo(numberM); + numberM = 0; } } } @@ -1116,20 +1116,20 @@ eOSState cFemonOsd::ProcessKey(eKeys Key) case kUp: case kDown|k_Repeat: case kDown: - m_OldNumber = cDevice::CurrentChannel(); - cDevice::SwitchChannel(NORMALKEY(Key) == kUp ? 1 : -1); - m_Number = 0; + oldNumberM = cDevice::CurrentChannel(); + cDevice::SwitchChannel(NORMALKEY(keyP) == kUp ? 1 : -1); + numberM = 0; break; case kNone: - if (m_Number && (m_InputTime.Elapsed() > CHANNELINPUT_TIMEOUT)) { - if (Channels.GetByNumber(m_Number)) { - m_OldNumber = cDevice::CurrentChannel(); - Channels.SwitchTo(m_Number); - m_Number = 0; + if (numberM && (inputTimeM.Elapsed() > CHANNELINPUT_TIMEOUT)) { + if (Channels.GetByNumber(numberM)) { + oldNumberM = cDevice::CurrentChannel(); + Channels.SwitchTo(numberM); + numberM = 0; } else { - m_InputTime.Set(0); - m_Number = 0; + inputTimeM.Set(0); + numberM = 0; } } break; @@ -1137,8 +1137,8 @@ eOSState cFemonOsd::ProcessKey(eKeys Key) { // toggle between display modes cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel()); - if (++m_DisplayMode == eFemonModeAC3 && channel && !channel->Dpid(0)) m_DisplayMode++; - if (m_DisplayMode >= eFemonModeMaxNumber) m_DisplayMode = 0; + if (++displayModeM == eFemonModeAC3 && channel && !channel->Dpid(0)) displayModeM++; + if (displayModeM >= eFemonModeMaxNumber) displayModeM = 0; DrawInfoWindow(); } break; diff --git a/femonosd.h b/femonosd.h index e26e7aa..b9ffe26 100644 --- a/femonosd.h +++ b/femonosd.h @@ -31,44 +31,44 @@ private: DEVICESOURCE_COUNT }; - static cFemonOsd *pInstance; + static cFemonOsd *pInstanceS; - cOsd *m_Osd; - cFemonReceiver *m_Receiver; - int m_Frontend; - int m_SvdrpFrontend; - double m_SvdrpVideoBitrate; - double m_SvdrpAudioBitrate; - SvdrpConnection_v1_0 m_SvdrpConnection; - cPlugin *m_SvdrpPlugin; - int m_Number; - int m_OldNumber; - int m_Quality; - bool m_QualityValid; - int m_Strength; - bool m_StrengthValid; - uint16_t m_SNR; - bool m_SNRValid; - uint16_t m_Signal; - bool m_SignalValid; - uint32_t m_BER; - bool m_BERValid; - uint32_t m_UNC; - bool m_UNCValid; - cString m_FrontendName; - fe_status_t m_FrontendStatus; - bool m_FrontendStatusValid; - dvb_frontend_info m_FrontendInfo; - eDeviceSourceType m_DeviceSource; - int m_DisplayMode; - int m_OsdWidth; - int m_OsdHeight; - int m_OsdLeft; - int m_OsdTop; - cFont *m_Font; - cTimeMs m_InputTime; - cCondWait m_Sleep; - cMutex m_Mutex; + cOsd *osdM; + cFemonReceiver *receiverM; + int frontendM; + int svdrpFrontendM; + double svdrpVideoBitRateM; + double svdrpAudioBitRateM; + SvdrpConnection_v1_0 svdrpConnectionM; + cPlugin *svdrpPluginM; + int numberM; + int oldNumberM; + int qualityM; + bool qualityValidM; + int strengthM; + bool strengthValidM; + uint16_t snrM; + bool snrValidM; + uint16_t signalM; + bool signalValidM; + uint32_t berM; + bool berValidM; + uint32_t uncM; + bool uncValidM; + cString frontendNameM; + fe_status_t frontendStatusM; + bool frontendStatusValidM; + dvb_frontend_info frontendInfoM; + eDeviceSourceType deviceSourceM; + int displayModeM; + int osdWidthM; + int osdHeightM; + int osdLeftM; + int osdTopM; + cFont *fontM; + cTimeMs inputTimeM; + cCondWait sleepM; + cMutex mutexM; void DrawStatusWindow(void); void DrawInfoWindow(void); @@ -80,17 +80,17 @@ protected: cFemonOsd(const cFemonOsd&); cFemonOsd& operator= (const cFemonOsd&); virtual void Action(void); - virtual void ChannelSwitch(const cDevice *device, int channelNumber, bool liveView); - virtual void SetAudioTrack(int Index, const char * const *Tracks); + virtual void ChannelSwitch(const cDevice *deviceP, int channelNumberP, bool liveViewP); + virtual void SetAudioTrack(int indexP, const char * const *tracksP); public: - static cFemonOsd *Instance(bool create = false); + static cFemonOsd *Instance(bool createP = false); ~cFemonOsd(); virtual void Show(void); - virtual eOSState ProcessKey(eKeys Key); + virtual eOSState ProcessKey(eKeys keyP); - bool DeviceSwitch(int direction); + bool DeviceSwitch(int directionP); double GetVideoBitrate(void); double GetAudioBitrate(void); double GetDolbyBitrate(void); diff --git a/femonreceiver.c b/femonreceiver.c index 98377e8..2da883f 100644 --- a/femonreceiver.c +++ b/femonreceiver.c @@ -10,66 +10,66 @@ #include "femoncfg.h" #include "femonreceiver.h" -cFemonReceiver::cFemonReceiver(const cChannel *Channel, int ATrack, int DTrack) -: cReceiver(Channel), +cFemonReceiver::cFemonReceiver(const cChannel *channelP, int aTrackP, int dTrackP) +: cReceiver(channelP), cThread("femon receiver"), - m_Mutex(), - m_Sleep(), - m_Active(false), - m_DetectH264(this), - m_DetectMPEG(this, this), - m_DetectAAC(this), - m_DetectLATM(this), - m_DetectAC3(this), - m_VideoBuffer(KILOBYTE(512), TS_SIZE, false, "Femon video"), - m_VideoType(Channel ? Channel->Vtype(): 0), - m_VideoPid(Channel ? Channel->Vpid() : 0), - m_VideoPacketCount(0), - m_VideoBitrate(0.0), - m_VideoValid(false), - m_AudioBuffer(KILOBYTE(256), TS_SIZE, false, "Femon audio"), - m_AudioPid(Channel ? Channel->Apid(ATrack) : 0), - m_AudioPacketCount(0), - m_AudioBitrate(0.0), - m_AudioValid(false), - m_AC3Buffer(KILOBYTE(256), TS_SIZE, false, "Femon AC3"), - m_AC3Pid(Channel ? Channel->Dpid(DTrack) : 0), - m_AC3PacketCount(0), - m_AC3Bitrate(0), - m_AC3Valid(false) + mutexM(), + sleepM(), + activeM(false), + detectH264M(this), + detectMpegM(this, this), + detectAacM(this), + detectLatmM(this), + detectAc3M(this), + videoBufferM(KILOBYTE(512), TS_SIZE, false, "Femon video"), + videoTypeM(channelP ? channelP->Vtype(): 0), + videoPidM(channelP ? channelP->Vpid() : 0), + videoPacketCountM(0), + videoBitRateM(0.0), + videoValidM(false), + audioBufferM(KILOBYTE(256), TS_SIZE, false, "Femon audio"), + audioPidM(channelP ? channelP->Apid(aTrackP) : 0), + audioPacketCountM(0), + audioBitRateM(0.0), + audioValidM(false), + ac3BufferM(KILOBYTE(256), TS_SIZE, false, "Femon AC3"), + ac3PidM(channelP ? channelP->Dpid(dTrackP) : 0), + ac3PacketCountM(0), + ac3BitRateM(0), + ac3ValidM(false) { debug("%s()\n", __PRETTY_FUNCTION__); SetPids(NULL); - AddPid(m_VideoPid); - AddPid(m_AudioPid); - AddPid(m_AC3Pid); + AddPid(videoPidM); + AddPid(audioPidM); + AddPid(ac3PidM); - m_VideoBuffer.SetTimeouts(0, 100); - m_AudioBuffer.SetTimeouts(0, 100); - m_AC3Buffer.SetTimeouts(0, 100); + videoBufferM.SetTimeouts(0, 100); + audioBufferM.SetTimeouts(0, 100); + ac3BufferM.SetTimeouts(0, 100); - m_VideoInfo.codec = VIDEO_CODEC_INVALID; - m_VideoInfo.format = VIDEO_FORMAT_INVALID; - m_VideoInfo.scan = VIDEO_SCAN_INVALID; - m_VideoInfo.aspectRatio = VIDEO_ASPECT_RATIO_INVALID; - m_VideoInfo.width = 0; - m_VideoInfo.height = 0; - m_VideoInfo.frameRate = 0; - m_VideoInfo.bitrate = AUDIO_BITRATE_INVALID; - m_AudioInfo.codec = AUDIO_CODEC_UNKNOWN; - m_AudioInfo.bitrate = AUDIO_BITRATE_INVALID; - m_AudioInfo.samplingFrequency = AUDIO_SAMPLING_FREQUENCY_INVALID; - m_AudioInfo.channelMode = AUDIO_CHANNEL_MODE_INVALID; - m_AC3Info.bitrate = AUDIO_BITRATE_INVALID; - m_AC3Info.samplingFrequency = AUDIO_SAMPLING_FREQUENCY_INVALID; - m_AC3Info.bitstreamMode = AUDIO_BITSTREAM_MODE_INVALID; - m_AC3Info.audioCodingMode = AUDIO_CODING_MODE_INVALID; - m_AC3Info.dolbySurroundMode = AUDIO_DOLBY_SURROUND_MODE_INVALID; - m_AC3Info.centerMixLevel = AUDIO_CENTER_MIX_LEVEL_INVALID; - m_AC3Info.surroundMixLevel = AUDIO_SURROUND_MIX_LEVEL_INVALID; - m_AC3Info.dialogLevel = 0; - m_AC3Info.lfe = false; + videoInfoM.codec = VIDEO_CODEC_INVALID; + videoInfoM.format = VIDEO_FORMAT_INVALID; + videoInfoM.scan = VIDEO_SCAN_INVALID; + videoInfoM.aspectRatio = VIDEO_ASPECT_RATIO_INVALID; + videoInfoM.width = 0; + videoInfoM.height = 0; + videoInfoM.frameRate = 0; + videoInfoM.bitrate = AUDIO_BITRATE_INVALID; + audioInfoM.codec = AUDIO_CODEC_UNKNOWN; + audioInfoM.bitrate = AUDIO_BITRATE_INVALID; + audioInfoM.samplingFrequency = AUDIO_SAMPLING_FREQUENCY_INVALID; + audioInfoM.channelMode = AUDIO_CHANNEL_MODE_INVALID; + ac3InfoM.bitrate = AUDIO_BITRATE_INVALID; + ac3InfoM.samplingFrequency = AUDIO_SAMPLING_FREQUENCY_INVALID; + ac3InfoM.bitstreamMode = AUDIO_BITSTREAM_MODE_INVALID; + ac3InfoM.audioCodingMode = AUDIO_CODING_MODE_INVALID; + ac3InfoM.dolbySurroundMode = AUDIO_DOLBY_SURROUND_MODE_INVALID; + ac3InfoM.centerMixLevel = AUDIO_CENTER_MIX_LEVEL_INVALID; + ac3InfoM.surroundMixLevel = AUDIO_SURROUND_MIX_LEVEL_INVALID; + ac3InfoM.dialogLevel = 0; + ac3InfoM.lfe = false; } cFemonReceiver::~cFemonReceiver(void) @@ -82,50 +82,50 @@ void cFemonReceiver::Deactivate(void) { debug("%s()\n", __PRETTY_FUNCTION__); Detach(); - if (m_Active) { - m_Active = false; - m_Sleep.Signal(); + if (activeM) { + activeM = false; + sleepM.Signal(); if (Running()) Cancel(3); } } -void cFemonReceiver::Activate(bool On) +void cFemonReceiver::Activate(bool onP) { - debug("%s(%d)\n", __PRETTY_FUNCTION__, On); - if (On) + debug("%s(%d)\n", __PRETTY_FUNCTION__, onP); + if (onP) Start(); else Deactivate(); } -void cFemonReceiver::Receive(uchar *Data, int Length) +void cFemonReceiver::Receive(uchar *dataP, int lengthP) { // TS packet length: TS_SIZE - if (Running() && (*Data == TS_SYNC_BYTE) && (Length == TS_SIZE)) { - int len, pid = TsPid(Data); - if (pid == m_VideoPid) { - ++m_VideoPacketCount; - len = m_VideoBuffer.Put(Data, Length); - if (len != Length) { - m_VideoBuffer.ReportOverflow(Length - len); - m_VideoBuffer.Clear(); + if (Running() && (*dataP == TS_SYNC_BYTE) && (lengthP == TS_SIZE)) { + int len, pid = TsPid(dataP); + if (pid == videoPidM) { + ++videoPacketCountM; + len = videoBufferM.Put(dataP, lengthP); + if (len != lengthP) { + videoBufferM.ReportOverflow(lengthP - len); + videoBufferM.Clear(); } } - else if (pid == m_AudioPid) { - ++m_AudioPacketCount; - len = m_AudioBuffer.Put(Data, Length); - if (len != Length) { - m_AudioBuffer.ReportOverflow(Length - len); - m_AudioBuffer.Clear(); + else if (pid == audioPidM) { + ++audioPacketCountM; + len = audioBufferM.Put(dataP, lengthP); + if (len != lengthP) { + audioBufferM.ReportOverflow(lengthP - len); + audioBufferM.Clear(); } } - else if (pid == m_AC3Pid) { - ++m_AC3PacketCount; - len = m_AC3Buffer.Put(Data, Length); - if (len != Length) { - m_AC3Buffer.ReportOverflow(Length - len); - m_AC3Buffer.Clear(); + else if (pid == ac3PidM) { + ++ac3PacketCountM; + len = ac3BufferM.Put(dataP, lengthP); + if (len != lengthP) { + ac3BufferM.ReportOverflow(lengthP - len); + ac3BufferM.Clear(); } } } @@ -135,17 +135,17 @@ void cFemonReceiver::Action(void) { debug("%s()\n", __PRETTY_FUNCTION__); cTimeMs calcPeriod(0); - m_Active = true; + activeM = true; - while (Running() && m_Active) { + while (Running() && activeM) { uint8_t *Data; double timeout; int len, Length; bool processed = false; // process available video data - while ((Data = m_VideoBuffer.Get(Length))) { - if (!m_Active || (Length < TS_SIZE)) + while ((Data = videoBufferM.Get(Length))) { + if (!activeM || (Length < TS_SIZE)) break; Length = TS_SIZE; if (*Data != TS_SYNC_BYTE) { @@ -155,34 +155,34 @@ void cFemonReceiver::Action(void) break; } } - m_VideoBuffer.Del(Length); + videoBufferM.Del(Length); continue; } processed = true; if (TsPayloadStart(Data)) { - while (const uint8_t *p = m_VideoAssembler.GetPes(len)) { - if (m_VideoType == 0x1B) { // MPEG4 - if (m_DetectH264.processVideo(p, len)) { - m_VideoValid = true; + while (const uint8_t *p = videoAssemblerM.GetPes(len)) { + if (videoTypeM == 0x1B) { // MPEG4 + if (detectH264M.processVideo(p, len)) { + videoValidM = true; break; } } else { - if (m_DetectMPEG.processVideo(p, len)) { - m_VideoValid = true; + if (detectMpegM.processVideo(p, len)) { + videoValidM = true; break; } } } - m_VideoAssembler.Reset(); + videoAssemblerM.Reset(); } - m_VideoAssembler.PutTs(Data, Length); - m_VideoBuffer.Del(Length); + videoAssemblerM.PutTs(Data, Length); + videoBufferM.Del(Length); } // process available audio data - while ((Data = m_AudioBuffer.Get(Length))) { - if (!m_Active || (Length < TS_SIZE)) + while ((Data = audioBufferM.Get(Length))) { + if (!activeM || (Length < TS_SIZE)) break; Length = TS_SIZE; if (*Data != TS_SYNC_BYTE) { @@ -192,22 +192,22 @@ void cFemonReceiver::Action(void) break; } } - m_AudioBuffer.Del(Length); + audioBufferM.Del(Length); continue; } processed = true; - if (const uint8_t *p = m_AudioAssembler.GetPes(len)) { - if (m_DetectAAC.processAudio(p, len) || m_DetectLATM.processAudio(p, len) || m_DetectMPEG.processAudio(p, len)) - m_AudioValid = true; - m_AudioAssembler.Reset(); + if (const uint8_t *p = audioAssemblerM.GetPes(len)) { + if (detectAacM.processAudio(p, len) || detectLatmM.processAudio(p, len) || detectMpegM.processAudio(p, len)) + audioValidM = true; + audioAssemblerM.Reset(); } - m_AudioAssembler.PutTs(Data, Length); - m_AudioBuffer.Del(Length); + audioAssemblerM.PutTs(Data, Length); + audioBufferM.Del(Length); } // process available dolby data - while ((Data = m_AC3Buffer.Get(Length))) { - if (!m_Active || (Length < TS_SIZE)) + while ((Data = ac3BufferM.Get(Length))) { + if (!activeM || (Length < TS_SIZE)) break; Length = TS_SIZE; if (*Data != TS_SYNC_BYTE) { @@ -217,34 +217,34 @@ void cFemonReceiver::Action(void) break; } } - m_AC3Buffer.Del(Length); + ac3BufferM.Del(Length); continue; } processed = true; - if (const uint8_t *p = m_AC3Assembler.GetPes(len)) { - if (m_DetectAC3.processAudio(p, len)) - m_AC3Valid = true; - m_AC3Assembler.Reset(); + if (const uint8_t *p = ac3AssemblerM.GetPes(len)) { + if (detectAc3M.processAudio(p, len)) + ac3ValidM = true; + ac3AssemblerM.Reset(); } - m_AC3Assembler.PutTs(Data, Length); - m_AC3Buffer.Del(Length); + ac3AssemblerM.PutTs(Data, Length); + ac3BufferM.Del(Length); } // calculate bitrates timeout = double(calcPeriod.Elapsed()); - if (m_Active && (timeout >= (100.0 * femonConfig.calcinterval))) { + if (activeM && (timeout >= (100.0 * FemonConfig.calcinterval))) { // TS packet 188 bytes - 4 byte header; MPEG standard defines 1Mbit = 1000000bit // PES headers should be compensated! - m_VideoBitrate = (1000.0 * 8.0 * 184.0 * m_VideoPacketCount) / timeout; - m_VideoPacketCount = 0; - m_AudioBitrate = (1000.0 * 8.0 * 184.0 * m_AudioPacketCount) / timeout; - m_AudioPacketCount = 0; - m_AC3Bitrate = (1000.0 * 8.0 * 184.0 * m_AC3PacketCount) / timeout; - m_AC3PacketCount = 0; + videoBitRateM = (1000.0 * 8.0 * 184.0 * videoPacketCountM) / timeout; + videoPacketCountM = 0; + audioBitRateM = (1000.0 * 8.0 * 184.0 * audioPacketCountM) / timeout; + audioPacketCountM = 0; + ac3BitRateM = (1000.0 * 8.0 * 184.0 * ac3PacketCountM) / timeout; + ac3PacketCountM = 0; calcPeriod.Set(0); } if (!processed) - m_Sleep.Wait(10); // to avoid busy loop and reduce cpu load + sleepM.Wait(10); // to avoid busy loop and reduce cpu load } } diff --git a/femonreceiver.h b/femonreceiver.h index 12d9c0b..b93142a 100644 --- a/femonreceiver.h +++ b/femonreceiver.h @@ -22,156 +22,156 @@ class cFemonReceiver : public cReceiver, public cThread, public cFemonVideoIf, public cFemonAudioIf, public cFemonAC3If { private: - cMutex m_Mutex; - cCondWait m_Sleep; - bool m_Active; + cMutex mutexM; + cCondWait sleepM; + bool activeM; - cFemonH264 m_DetectH264; - cFemonMPEG m_DetectMPEG; - cFemonAAC m_DetectAAC; - cFemonLATM m_DetectLATM; - cFemonAC3 m_DetectAC3; + cFemonH264 detectH264M; + cFemonMPEG detectMpegM; + cFemonAAC detectAacM; + cFemonLATM detectLatmM; + cFemonAC3 detectAc3M; - cRingBufferLinear m_VideoBuffer; - cTsToPes m_VideoAssembler; - int m_VideoType; - int m_VideoPid; - int m_VideoPacketCount; - double m_VideoBitrate; - bool m_VideoValid; - video_info_t m_VideoInfo; + cRingBufferLinear videoBufferM; + cTsToPes videoAssemblerM; + int videoTypeM; + int videoPidM; + int videoPacketCountM; + double videoBitRateM; + bool videoValidM; + video_info_t videoInfoM; - cRingBufferLinear m_AudioBuffer; - cTsToPes m_AudioAssembler; - int m_AudioPid; - int m_AudioPacketCount; - double m_AudioBitrate; - bool m_AudioValid; - audio_info_t m_AudioInfo; + cRingBufferLinear audioBufferM; + cTsToPes audioAssemblerM; + int audioPidM; + int audioPacketCountM; + double audioBitRateM; + bool audioValidM; + audio_info_t audioInfoM; - cRingBufferLinear m_AC3Buffer; - cTsToPes m_AC3Assembler; - int m_AC3Pid; - int m_AC3PacketCount; - double m_AC3Bitrate; - bool m_AC3Valid; - ac3_info_t m_AC3Info; + cRingBufferLinear ac3BufferM; + cTsToPes ac3AssemblerM; + int ac3PidM; + int ac3PacketCountM; + double ac3BitRateM; + bool ac3ValidM; + ac3_info_t ac3InfoM; protected: - virtual void Activate(bool On); - virtual void Receive(uchar *Data, int Length); + virtual void Activate(bool onP); + virtual void Receive(uchar *dataP, int lengthP); virtual void Action(void); public: - virtual void SetVideoCodec(eVideoCodec codec) { cMutexLock MutexLock(&m_Mutex); - m_VideoInfo.codec = codec; } - virtual void SetVideoFormat(eVideoFormat format) { cMutexLock MutexLock(&m_Mutex); - m_VideoInfo.format = format; } - virtual void SetVideoScan(eVideoScan scan) { cMutexLock MutexLock(&m_Mutex); - m_VideoInfo.scan = scan; } - virtual void SetVideoAspectRatio(eVideoAspectRatio aspectratio) { cMutexLock MutexLock(&m_Mutex); - m_VideoInfo.aspectRatio = aspectratio; } - virtual void SetVideoSize(int width, int height) { cMutexLock MutexLock(&m_Mutex); - m_VideoInfo.width = width; - m_VideoInfo.height = height; } - virtual void SetVideoFramerate(double framerate) { cMutexLock MutexLock(&m_Mutex); - m_VideoInfo.frameRate = framerate; } - virtual void SetVideoBitrate(double bitrate) { cMutexLock MutexLock(&m_Mutex); - m_VideoInfo.bitrate = bitrate; } + virtual void SetVideoCodec(eVideoCodec codecP) { cMutexLock MutexLock(&mutexM); + videoInfoM.codec = codecP; } + virtual void SetVideoFormat(eVideoFormat formatP) { cMutexLock MutexLock(&mutexM); + videoInfoM.format = formatP; } + virtual void SetVideoScan(eVideoScan scanP) { cMutexLock MutexLock(&mutexM); + videoInfoM.scan = scanP; } + virtual void SetVideoAspectRatio(eVideoAspectRatio aspectRatioP) { cMutexLock MutexLock(&mutexM); + videoInfoM.aspectRatio = aspectRatioP; } + virtual void SetVideoSize(int widthP, int heightP) { cMutexLock MutexLock(&mutexM); + videoInfoM.width = widthP; + videoInfoM.height = heightP; } + virtual void SetVideoFramerate(double frameRateP) { cMutexLock MutexLock(&mutexM); + videoInfoM.frameRate = frameRateP; } + virtual void SetVideoBitrate(double bitRateP) { cMutexLock MutexLock(&mutexM); + videoInfoM.bitrate = bitRateP; } - virtual void SetAudioCodec(eAudioCodec codec) { cMutexLock MutexLock(&m_Mutex); - m_AudioInfo.codec = codec; } - virtual void SetAudioBitrate(double bitrate) { cMutexLock MutexLock(&m_Mutex); - m_AudioInfo.bitrate = bitrate; } - virtual void SetAudioSamplingFrequency(int sampling) { cMutexLock MutexLock(&m_Mutex); - m_AudioInfo.samplingFrequency = sampling; } - virtual void SetAudioChannel(eAudioChannelMode mode) { cMutexLock MutexLock(&m_Mutex); - m_AudioInfo.channelMode = mode; } + virtual void SetAudioCodec(eAudioCodec codecP) { cMutexLock MutexLock(&mutexM); + audioInfoM.codec = codecP; } + virtual void SetAudioBitrate(double bitRateP) { cMutexLock MutexLock(&mutexM); + audioInfoM.bitrate = bitRateP; } + virtual void SetAudioSamplingFrequency(int samplingP) { cMutexLock MutexLock(&mutexM); + audioInfoM.samplingFrequency = samplingP; } + virtual void SetAudioChannel(eAudioChannelMode modeP) { cMutexLock MutexLock(&mutexM); + audioInfoM.channelMode = modeP; } - virtual void SetAC3Bitrate(int bitrate) { cMutexLock MutexLock(&m_Mutex); - m_AC3Info.bitrate = bitrate; } - virtual void SetAC3SamplingFrequency(int sampling) { cMutexLock MutexLock(&m_Mutex); - m_AC3Info.samplingFrequency = sampling; } - virtual void SetAC3Bitstream(int mode) { cMutexLock MutexLock(&m_Mutex); - m_AC3Info.bitstreamMode = mode; } - virtual void SetAC3AudioCoding(int mode) { cMutexLock MutexLock(&m_Mutex); - m_AC3Info.audioCodingMode = mode; } - virtual void SetAC3DolbySurround(int mode) { cMutexLock MutexLock(&m_Mutex); - m_AC3Info.dolbySurroundMode = mode; } - virtual void SetAC3CenterMix(int level) { cMutexLock MutexLock(&m_Mutex); - m_AC3Info.centerMixLevel = level; } - virtual void SetAC3SurroundMix(int level) { cMutexLock MutexLock(&m_Mutex); - m_AC3Info.surroundMixLevel = level; } - virtual void SetAC3Dialog(int level) { cMutexLock MutexLock(&m_Mutex); - m_AC3Info.dialogLevel = level; } - virtual void SetAC3LFE(bool onoff) { cMutexLock MutexLock(&m_Mutex); - m_AC3Info.lfe = onoff; } + virtual void SetAC3Bitrate(int bitRateP) { cMutexLock MutexLock(&mutexM); + ac3InfoM.bitrate = bitRateP; } + virtual void SetAC3SamplingFrequency(int samplingP) { cMutexLock MutexLock(&mutexM); + ac3InfoM.samplingFrequency = samplingP; } + virtual void SetAC3Bitstream(int modeP) { cMutexLock MutexLock(&mutexM); + ac3InfoM.bitstreamMode = modeP; } + virtual void SetAC3AudioCoding(int modeP) { cMutexLock MutexLock(&mutexM); + ac3InfoM.audioCodingMode = modeP; } + virtual void SetAC3DolbySurround(int modeP) { cMutexLock MutexLock(&mutexM); + ac3InfoM.dolbySurroundMode = modeP; } + virtual void SetAC3CenterMix(int levelP) { cMutexLock MutexLock(&mutexM); + ac3InfoM.centerMixLevel = levelP; } + virtual void SetAC3SurroundMix(int levelP) { cMutexLock MutexLock(&mutexM); + ac3InfoM.surroundMixLevel = levelP; } + virtual void SetAC3Dialog(int levelP) { cMutexLock MutexLock(&mutexM); + ac3InfoM.dialogLevel = levelP; } + virtual void SetAC3LFE(bool onoffP) { cMutexLock MutexLock(&mutexM); + ac3InfoM.lfe = onoffP; } public: - cFemonReceiver(const cChannel* Channel, int ATrack, int DTrack); + cFemonReceiver(const cChannel* channelP, int aTrackp, int dTrackP); virtual ~cFemonReceiver(); void Deactivate(void); - bool VideoValid(void) { cMutexLock MutexLock(&m_Mutex); - return m_VideoValid; }; // boolean - double VideoBitrate(void) { cMutexLock MutexLock(&m_Mutex); - return m_VideoBitrate; }; // bit/s - int VideoCodec(void) { cMutexLock MutexLock(&m_Mutex); - return m_VideoInfo.codec; }; // eVideoCodec - int VideoFormat(void) { cMutexLock MutexLock(&m_Mutex); - return m_VideoInfo.format; }; // eVideoFormat - int VideoScan(void) { cMutexLock MutexLock(&m_Mutex); - return m_VideoInfo.scan; }; // eVideoScan - int VideoAspectRatio(void) { cMutexLock MutexLock(&m_Mutex); - return m_VideoInfo.aspectRatio; }; // eVideoAspectRatio - int VideoHorizontalSize(void) { cMutexLock MutexLock(&m_Mutex); - return m_VideoInfo.width; }; // pixels - int VideoVerticalSize(void) { cMutexLock MutexLock(&m_Mutex); - return m_VideoInfo.height; }; // pixels - double VideoFrameRate(void) { cMutexLock MutexLock(&m_Mutex); - return m_VideoInfo.frameRate; }; // Hz - double VideoStreamBitrate(void) { cMutexLock MutexLock(&m_Mutex); - return m_VideoInfo.bitrate; }; // bit/s + bool VideoValid(void) { cMutexLock MutexLock(&mutexM); + return videoValidM; }; // boolean + double VideoBitrate(void) { cMutexLock MutexLock(&mutexM); + return videoBitRateM; }; // bit/s + int VideoCodec(void) { cMutexLock MutexLock(&mutexM); + return videoInfoM.codec; }; // eVideoCodec + int VideoFormat(void) { cMutexLock MutexLock(&mutexM); + return videoInfoM.format; }; // eVideoFormat + int VideoScan(void) { cMutexLock MutexLock(&mutexM); + return videoInfoM.scan; }; // eVideoScan + int VideoAspectRatio(void) { cMutexLock MutexLock(&mutexM); + return videoInfoM.aspectRatio; }; // eVideoAspectRatio + int VideoHorizontalSize(void) { cMutexLock MutexLock(&mutexM); + return videoInfoM.width; }; // pixels + int VideoVerticalSize(void) { cMutexLock MutexLock(&mutexM); + return videoInfoM.height; }; // pixels + double VideoFrameRate(void) { cMutexLock MutexLock(&mutexM); + return videoInfoM.frameRate; }; // Hz + double VideoStreamBitrate(void) { cMutexLock MutexLock(&mutexM); + return videoInfoM.bitrate; }; // bit/s - bool AudioValid(void) { cMutexLock MutexLock(&m_Mutex); - return m_AudioValid; }; // boolean - double AudioBitrate(void) { cMutexLock MutexLock(&m_Mutex); - return m_AudioBitrate; }; // bit/s - int AudioCodec(void) { cMutexLock MutexLock(&m_Mutex); - return m_AudioInfo.codec; }; // eAudioCodec - int AudioChannelMode(void) { cMutexLock MutexLock(&m_Mutex); - return m_AudioInfo.channelMode; }; // eAudioChannelMode - double AudioStreamBitrate(void) { cMutexLock MutexLock(&m_Mutex); - return m_AudioInfo.bitrate; }; // bit/s or eAudioBitrate - int AudioSamplingFreq(void) { cMutexLock MutexLock(&m_Mutex); - return m_AudioInfo.samplingFrequency; }; // Hz or eAudioSamplingFrequency + bool AudioValid(void) { cMutexLock MutexLock(&mutexM); + return audioValidM; }; // boolean + double AudioBitrate(void) { cMutexLock MutexLock(&mutexM); + return audioBitRateM; }; // bit/s + int AudioCodec(void) { cMutexLock MutexLock(&mutexM); + return audioInfoM.codec; }; // eAudioCodec + int AudioChannelMode(void) { cMutexLock MutexLock(&mutexM); + return audioInfoM.channelMode; }; // eAudioChannelMode + double AudioStreamBitrate(void) { cMutexLock MutexLock(&mutexM); + return audioInfoM.bitrate; }; // bit/s or eAudioBitrate + int AudioSamplingFreq(void) { cMutexLock MutexLock(&mutexM); + return audioInfoM.samplingFrequency; }; // Hz or eAudioSamplingFrequency - bool AC3Valid(void) { cMutexLock MutexLock(&m_Mutex); - return m_AC3Valid; }; // boolean - double AC3Bitrate(void) { cMutexLock MutexLock(&m_Mutex); - return m_AC3Bitrate; }; // bit/s - double AC3StreamBitrate(void) { cMutexLock MutexLock(&m_Mutex); - return m_AC3Info.bitrate; }; // bit/s or eAudioBitrate - int AC3SamplingFreq(void) { cMutexLock MutexLock(&m_Mutex); - return m_AC3Info.samplingFrequency; }; // Hz or eAudioSamplingFrequency - int AC3BitStreamMode(void) { cMutexLock MutexLock(&m_Mutex); - return m_AC3Info.bitstreamMode; }; // 0..7 or eAudioBitstreamMode - int AC3AudioCodingMode(void) { cMutexLock MutexLock(&m_Mutex); - return m_AC3Info.audioCodingMode; }; // 0..7 or eAudioCodingMode - bool AC3_2_0(void) { cMutexLock MutexLock(&m_Mutex); - return (m_AC3Info.audioCodingMode == AUDIO_CODING_MODE_2_0); }; // boolean - bool AC3_5_1(void) { cMutexLock MutexLock(&m_Mutex); - return (m_AC3Info.audioCodingMode == AUDIO_CODING_MODE_3_2); }; // boolean - int AC3DolbySurroundMode(void) { cMutexLock MutexLock(&m_Mutex); - return m_AC3Info.dolbySurroundMode; }; // eAudioDolbySurroundMode - int AC3CenterMixLevel(void) { cMutexLock MutexLock(&m_Mutex); - return m_AC3Info.centerMixLevel; }; // eAudioCenterMixLevel - int AC3SurroundMixLevel(void) { cMutexLock MutexLock(&m_Mutex); - return m_AC3Info.surroundMixLevel; }; // eAudioSurroundMixLevel - int AC3DialogLevel(void) { cMutexLock MutexLock(&m_Mutex); - return m_AC3Info.dialogLevel; }; // -dB - bool AC3Lfe(void) { cMutexLock MutexLock(&m_Mutex); - return m_AC3Info.lfe; }; // boolean + bool AC3Valid(void) { cMutexLock MutexLock(&mutexM); + return ac3ValidM; }; // boolean + double AC3Bitrate(void) { cMutexLock MutexLock(&mutexM); + return ac3BitRateM; }; // bit/s + double AC3StreamBitrate(void) { cMutexLock MutexLock(&mutexM); + return ac3InfoM.bitrate; }; // bit/s or eAudioBitrate + int AC3SamplingFreq(void) { cMutexLock MutexLock(&mutexM); + return ac3InfoM.samplingFrequency; }; // Hz or eAudioSamplingFrequency + int AC3BitStreamMode(void) { cMutexLock MutexLock(&mutexM); + return ac3InfoM.bitstreamMode; }; // 0..7 or eAudioBitstreamMode + int AC3AudioCodingMode(void) { cMutexLock MutexLock(&mutexM); + return ac3InfoM.audioCodingMode; }; // 0..7 or eAudioCodingMode + bool AC3_2_0(void) { cMutexLock MutexLock(&mutexM); + return (ac3InfoM.audioCodingMode == AUDIO_CODING_MODE_2_0); }; // boolean + bool AC3_5_1(void) { cMutexLock MutexLock(&mutexM); + return (ac3InfoM.audioCodingMode == AUDIO_CODING_MODE_3_2); }; // boolean + int AC3DolbySurroundMode(void) { cMutexLock MutexLock(&mutexM); + return ac3InfoM.dolbySurroundMode; }; // eAudioDolbySurroundMode + int AC3CenterMixLevel(void) { cMutexLock MutexLock(&mutexM); + return ac3InfoM.centerMixLevel; }; // eAudioCenterMixLevel + int AC3SurroundMixLevel(void) { cMutexLock MutexLock(&mutexM); + return ac3InfoM.surroundMixLevel; }; // eAudioSurroundMixLevel + int AC3DialogLevel(void) { cMutexLock MutexLock(&mutexM); + return ac3InfoM.dialogLevel; }; // -dB + bool AC3Lfe(void) { cMutexLock MutexLock(&mutexM); + return ac3InfoM.lfe; }; // boolean }; #endif //__FEMONRECEIVER_H diff --git a/femontools.c b/femontools.c index 05f74f0..f209dac 100644 --- a/femontools.c +++ b/femontools.c @@ -19,88 +19,88 @@ #include "femonosd.h" #include "femontools.h" -static cString getCA(int value) +static cString getCA(int valueP) { // http://www.dvb.org/index.php?id=174 // http://en.wikipedia.org/wiki/Conditional_access_system - switch (value) { - case 0x0000: return cString::sprintf("%s (%X)", trVDR("Free To Air"), value); // Reserved + switch (valueP) { + case 0x0000: return cString::sprintf("%s (%X)", trVDR("Free To Air"), valueP); // Reserved case 0x0001 ... 0x009F: - case 0x00A2 ... 0x00FF: return cString::sprintf("%s (%X)", tr("Fixed"), value); // Standardized systems - case 0x00A0 ... 0x00A1: return cString::sprintf("%s (%X)", tr("Analog"), value); // Analog signals - case 0x0100 ... 0x01FF: return cString::sprintf("SECA Mediaguard (%X)", value); // Canal Plus - case 0x0464: return cString::sprintf("EuroDec (%X)", value); // EuroDec - case 0x0500 ... 0x05FF: return cString::sprintf("Viaccess (%X)", value); // France Telecom - case 0x0600 ... 0x06FF: return cString::sprintf("Irdeto (%X)", value); // Irdeto - case 0x0700 ... 0x07FF: return cString::sprintf("DigiCipher 2 (%X)", value); // Jerrold/GI/Motorola 4DTV - case 0x0900 ... 0x09FF: return cString::sprintf("NDS Videoguard (%X)", value); // NDS - case 0x0B00 ... 0x0BFF: return cString::sprintf("Conax (%X)", value); // Norwegian Telekom - case 0x0D00 ... 0x0DFF: return cString::sprintf("CryptoWorks (%X)", value); // Philips CryptoTec - case 0x0E00 ... 0x0EFF: return cString::sprintf("PowerVu (%X)", value); // Scientific Atlanta - case 0x1000: return cString::sprintf("RAS (%X)", value); // Tandberg Television - case 0x1200 ... 0x12FF: return cString::sprintf("NagraVision (%X)", value); // BellVu Express - case 0x1700 ... 0x17FF: return cString::sprintf("VCAS (%X)", value); // Verimatrix Inc. former BetaTechnik - case 0x1800 ... 0x18FF: return cString::sprintf("NagraVision (%X)", value); // Kudelski SA - case 0x22F0: return cString::sprintf("Codicrypt (%X)", value); // Scopus Network Technologies - case 0x2600: return cString::sprintf("BISS (%X)", value); // European Broadcasting Union - case 0x2719: return cString::sprintf("VanyaCas (%X)", value); // S-Curious Research & Technology Pvt. Ltd. - case 0x4347: return cString::sprintf("CryptOn (%X)", value); // CryptOn - case 0x4800: return cString::sprintf("Accessgate (%X)", value); // Telemann - case 0x4900: return cString::sprintf("China Crypt (%X)", value); // CryptoWorks - case 0x4A02: return cString::sprintf("Tongfang (%X)", value); // Tsinghua Tongfang Company - case 0x4A10: return cString::sprintf("EasyCas (%X)", value); // EasyCas - case 0x4A20: return cString::sprintf("AlphaCrypt (%X)", value); // AlphaCrypt - case 0x4A60: return cString::sprintf("SkyCrypt (%X)", value); // @Sky - case 0x4A61: return cString::sprintf("Neotioncrypt (%X)", value); // Neotion - case 0x4A62: return cString::sprintf("SkyCrypt (%X)", value); // @Sky - case 0x4A63: return cString::sprintf("Neotion SHL (%X)", value); // Neotion - case 0x4A64 ... 0x4A6F: return cString::sprintf("SkyCrypt (%X)", value); // @Sky - case 0x4A70: return cString::sprintf("DreamCrypt (%X)", value); // Dream Multimedia - case 0x4A80: return cString::sprintf("ThalesCrypt (%X)", value); // Thales Broadcast & Multimedia - case 0x4AA1: return cString::sprintf("KeyFly (%X)", value); // SIDSA - case 0x4ABF: return cString::sprintf("CTI-CAS (%X)", value); // Beijing Compunicate Technology Inc. - case 0x4AC1: return cString::sprintf("Latens (%X)", value); // Latens Systems - case 0x4AD0 ... 0x4AD1: return cString::sprintf("X-Crypt (%X)", value); // XCrypt Inc. - case 0x4AD4: return cString::sprintf("OmniCrypt (%X)", value); // Widevine Technologies, Inc. - case 0x4AE0 ... 0x4AE1: return cString::sprintf("Z-Crypt (%X)", value); // Digi Raum Electronics Co. Ltd. - case 0x4AE4: return cString::sprintf("CoreCrypt (%X)", value); // CoreTrust - case 0x4AE5: return cString::sprintf("PRO-Crypt (%X)", value); // IK SATPROF - case 0x4AEA: return cString::sprintf("Cryptoguard (%X)", value); // Gryptoguard AB - case 0x4AEB: return cString::sprintf("Abel Quintic (%X)", value); // Abel DRM Systems - case 0x4AF0: return cString::sprintf("ABV (%X)", value); // Alliance Broadcast Vision - case 0x5500: return cString::sprintf("Z-Crypt (%X)", value); // Digi Raum Electronics Co. Ltd. - case 0x5501: return cString::sprintf("Griffin (%X)", value); // Nucleus Systems Ltd. - case 0x5581: return cString::sprintf("Bulcrypt (%X)", value); // Bulcrypt - case 0x7BE1: return cString::sprintf("DRE-Crypt (%X)", value); // DRE-Crypt - case 0xA101: return cString::sprintf("RosCrypt-M (%X)", value); // NIIR - case 0xEAD0: return cString::sprintf("VanyaCas (%X)", value); // S-Curious Research & Technology Pvt. Ltd. + case 0x00A2 ... 0x00FF: return cString::sprintf("%s (%X)", tr("Fixed"), valueP); // Standardized systems + case 0x00A0 ... 0x00A1: return cString::sprintf("%s (%X)", tr("Analog"), valueP); // Analog signals + case 0x0100 ... 0x01FF: return cString::sprintf("SECA Mediaguard (%X)", valueP); // Canal Plus + case 0x0464: return cString::sprintf("EuroDec (%X)", valueP); // EuroDec + case 0x0500 ... 0x05FF: return cString::sprintf("Viaccess (%X)", valueP); // France Telecom + case 0x0600 ... 0x06FF: return cString::sprintf("Irdeto (%X)", valueP); // Irdeto + case 0x0700 ... 0x07FF: return cString::sprintf("DigiCipher 2 (%X)", valueP); // Jerrold/GI/Motorola 4DTV + case 0x0900 ... 0x09FF: return cString::sprintf("NDS Videoguard (%X)", valueP); // NDS + case 0x0B00 ... 0x0BFF: return cString::sprintf("Conax (%X)", valueP); // Norwegian Telekom + case 0x0D00 ... 0x0DFF: return cString::sprintf("CryptoWorks (%X)", valueP); // Philips CryptoTec + case 0x0E00 ... 0x0EFF: return cString::sprintf("PowerVu (%X)", valueP); // Scientific Atlanta + case 0x1000: return cString::sprintf("RAS (%X)", valueP); // Tandberg Television + case 0x1200 ... 0x12FF: return cString::sprintf("NagraVision (%X)", valueP); // BellVu Express + case 0x1700 ... 0x17FF: return cString::sprintf("VCAS (%X)", valueP); // Verimatrix Inc. former BetaTechnik + case 0x1800 ... 0x18FF: return cString::sprintf("NagraVision (%X)", valueP); // Kudelski SA + case 0x22F0: return cString::sprintf("Codicrypt (%X)", valueP); // Scopus Network Technologies + case 0x2600: return cString::sprintf("BISS (%X)", valueP); // European Broadcasting Union + case 0x2719: return cString::sprintf("VanyaCas (%X)", valueP); // S-Curious Research & Technology Pvt. Ltd. + case 0x4347: return cString::sprintf("CryptOn (%X)", valueP); // CryptOn + case 0x4800: return cString::sprintf("Accessgate (%X)", valueP); // Telemann + case 0x4900: return cString::sprintf("China Crypt (%X)", valueP); // CryptoWorks + case 0x4A02: return cString::sprintf("Tongfang (%X)", valueP); // Tsinghua Tongfang Company + case 0x4A10: return cString::sprintf("EasyCas (%X)", valueP); // EasyCas + case 0x4A20: return cString::sprintf("AlphaCrypt (%X)", valueP); // AlphaCrypt + case 0x4A60: return cString::sprintf("SkyCrypt (%X)", valueP); // @Sky + case 0x4A61: return cString::sprintf("Neotioncrypt (%X)", valueP); // Neotion + case 0x4A62: return cString::sprintf("SkyCrypt (%X)", valueP); // @Sky + case 0x4A63: return cString::sprintf("Neotion SHL (%X)", valueP); // Neotion + case 0x4A64 ... 0x4A6F: return cString::sprintf("SkyCrypt (%X)", valueP); // @Sky + case 0x4A70: return cString::sprintf("DreamCrypt (%X)", valueP); // Dream Multimedia + case 0x4A80: return cString::sprintf("ThalesCrypt (%X)", valueP); // Thales Broadcast & Multimedia + case 0x4AA1: return cString::sprintf("KeyFly (%X)", valueP); // SIDSA + case 0x4ABF: return cString::sprintf("CTI-CAS (%X)", valueP); // Beijing Compunicate Technology Inc. + case 0x4AC1: return cString::sprintf("Latens (%X)", valueP); // Latens Systems + case 0x4AD0 ... 0x4AD1: return cString::sprintf("X-Crypt (%X)", valueP); // XCrypt Inc. + case 0x4AD4: return cString::sprintf("OmniCrypt (%X)", valueP); // Widevine Technologies, Inc. + case 0x4AE0 ... 0x4AE1: return cString::sprintf("Z-Crypt (%X)", valueP); // Digi Raum Electronics Co. Ltd. + case 0x4AE4: return cString::sprintf("CoreCrypt (%X)", valueP); // CoreTrust + case 0x4AE5: return cString::sprintf("PRO-Crypt (%X)", valueP); // IK SATPROF + case 0x4AEA: return cString::sprintf("Cryptoguard (%X)", valueP); // Gryptoguard AB + case 0x4AEB: return cString::sprintf("Abel Quintic (%X)", valueP); // Abel DRM Systems + case 0x4AF0: return cString::sprintf("ABV (%X)", valueP); // Alliance Broadcast Vision + case 0x5500: return cString::sprintf("Z-Crypt (%X)", valueP); // Digi Raum Electronics Co. Ltd. + case 0x5501: return cString::sprintf("Griffin (%X)", valueP); // Nucleus Systems Ltd. + case 0x5581: return cString::sprintf("Bulcrypt (%X)", valueP); // Bulcrypt + case 0x7BE1: return cString::sprintf("DRE-Crypt (%X)", valueP); // DRE-Crypt + case 0xA101: return cString::sprintf("RosCrypt-M (%X)", valueP); // NIIR + case 0xEAD0: return cString::sprintf("VanyaCas (%X)", valueP); // S-Curious Research & Technology Pvt. Ltd. default: break; } - return cString::sprintf("%X", value); + return cString::sprintf("%X", valueP); } -static const char *getUserString(int Value, const tDvbParameterMap *Map) +static const char *getUserString(int valueP, const tDvbParameterMap *mapP) { - const tDvbParameterMap *map = Map; + const tDvbParameterMap *map = mapP; while (map && map->userValue != -1) { - if (map->driverValue == Value) + if (map->driverValue == valueP) return map->userString ? trVDR(map->userString) : "---"; map++; } return "---"; } -cDvbDevice *getDvbDevice(cDevice* device) +cDvbDevice *getDvbDevice(cDevice* deviceP) { - cDvbDevice *dev = dynamic_cast(device); + cDvbDevice *dev = dynamic_cast(deviceP); #ifdef __DYNAMIC_DEVICE_PROBE - if (!dev && device && device->HasSubDevice()) - dev = dynamic_cast(device->SubDevice()); + if (!dev && deviceP && deviceP->HasSubDevice()) + dev = dynamic_cast(deviceP->SubDevice()); #endif return dev; } -cString getFrontendInfo(cDvbDevice *device) +cString getFrontendInfo(cDvbDevice *deviceP) { struct dvb_frontend_info value; fe_status_t status; @@ -111,17 +111,17 @@ cString getFrontendInfo(cDvbDevice *device) uint32_t unc = 0; cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel()); - if (!device) + if (!deviceP) return info; - int fe = open(*cString::sprintf(FRONTEND_DEVICE, device->Adapter(), device->Frontend()), O_RDONLY | O_NONBLOCK); + int fe = open(*cString::sprintf(FRONTEND_DEVICE, deviceP->Adapter(), deviceP->Frontend()), O_RDONLY | O_NONBLOCK); if (fe < 0) return info; - info = cString::sprintf("CARD:%d\nSTRG:%d\nQUAL:%d", device->CardIndex(), device->SignalStrength(), device->SignalQuality()); + info = cString::sprintf("CARD:%d\nSTRG:%d\nQUAL:%d", deviceP->CardIndex(), deviceP->SignalStrength(), deviceP->SignalQuality()); if (ioctl(fe, FE_GET_INFO, &value) >= 0) - info = cString::sprintf("%s\nTYPE:%d\nNAME:%s", *info, value.type, *device->DeviceName()); + info = cString::sprintf("%s\nTYPE:%d\nNAME:%s", *info, value.type, *deviceP->DeviceName()); if (ioctl(fe, FE_READ_STATUS, &status) >= 0) info = cString::sprintf("%s\nSTAT:%02X", *info, status); if (ioctl(fe, FE_READ_SIGNAL_STRENGTH, &signal) >= 0) @@ -143,39 +143,39 @@ cString getFrontendInfo(cDvbDevice *device) return info; } -cString getFrontendName(cDvbDevice *device) +cString getFrontendName(cDvbDevice *deviceP) { - if (!device) + if (!deviceP) return NULL; - return (cString::sprintf("%s on device #%d", *device->DeviceName(), device->CardIndex())); + return (cString::sprintf("%s on deviceP #%d", *deviceP->DeviceName(), deviceP->CardIndex())); } -cString getFrontendStatus(cDvbDevice *device) +cString getFrontendStatus(cDvbDevice *deviceP) { fe_status_t value; - if (!device) + if (!deviceP) return NULL; - int fe = open(*cString::sprintf(FRONTEND_DEVICE, device->Adapter(), device->Frontend()), O_RDONLY | O_NONBLOCK); + int fe = open(*cString::sprintf(FRONTEND_DEVICE, deviceP->Adapter(), deviceP->Frontend()), O_RDONLY | O_NONBLOCK); if (fe < 0) return NULL; memset(&value, 0, sizeof(value)); ioctl(fe, FE_READ_STATUS, &value); close(fe); - return (cString::sprintf("Status %s:%s:%s:%s:%s on device #%d", (value & FE_HAS_LOCK) ? "LOCKED" : "-", (value & FE_HAS_SIGNAL) ? "SIGNAL" : "-", (value & FE_HAS_CARRIER) ? "CARRIER" : "-", (value & FE_HAS_VITERBI) ? "VITERBI" : "-", (value & FE_HAS_SYNC) ? "SYNC" : "-", device->CardIndex())); + return (cString::sprintf("Status %s:%s:%s:%s:%s on deviceP #%d", (value & FE_HAS_LOCK) ? "LOCKED" : "-", (value & FE_HAS_SIGNAL) ? "SIGNAL" : "-", (value & FE_HAS_CARRIER) ? "CARRIER" : "-", (value & FE_HAS_VITERBI) ? "VITERBI" : "-", (value & FE_HAS_SYNC) ? "SYNC" : "-", deviceP->CardIndex())); } -uint16_t getSignal(cDvbDevice *device) +uint16_t getSignal(cDvbDevice *deviceP) { uint16_t value = 0; - if (!device) + if (!deviceP) return (value); - int fe = open(*cString::sprintf(FRONTEND_DEVICE, device->Adapter(), device->Frontend()), O_RDONLY | O_NONBLOCK); + int fe = open(*cString::sprintf(FRONTEND_DEVICE, deviceP->Adapter(), deviceP->Frontend()), O_RDONLY | O_NONBLOCK); if (fe < 0) return (value); ioctl(fe, FE_READ_SIGNAL_STRENGTH, &value); @@ -184,14 +184,14 @@ uint16_t getSignal(cDvbDevice *device) return (value); } -uint16_t getSNR(cDvbDevice *device) +uint16_t getSNR(cDvbDevice *deviceP) { uint16_t value = 0; - if (!device) + if (!deviceP) return (value); - int fe = open(*cString::sprintf(FRONTEND_DEVICE, device->Adapter(), device->Frontend()), O_RDONLY | O_NONBLOCK); + int fe = open(*cString::sprintf(FRONTEND_DEVICE, deviceP->Adapter(), deviceP->Frontend()), O_RDONLY | O_NONBLOCK); if (fe < 0) return (value); ioctl(fe, FE_READ_SNR, &value); @@ -200,14 +200,14 @@ uint16_t getSNR(cDvbDevice *device) return (value); } -uint32_t getBER(cDvbDevice *device) +uint32_t getBER(cDvbDevice *deviceP) { uint32_t value = 0; - if (!device) + if (!deviceP) return (value); - int fe = open(*cString::sprintf(FRONTEND_DEVICE, device->Adapter(), device->Frontend()), O_RDONLY | O_NONBLOCK); + int fe = open(*cString::sprintf(FRONTEND_DEVICE, deviceP->Adapter(), deviceP->Frontend()), O_RDONLY | O_NONBLOCK); if (fe < 0) return (value); ioctl(fe, FE_READ_BER, &value); @@ -216,14 +216,14 @@ uint32_t getBER(cDvbDevice *device) return (value); } -uint32_t getUNC(cDvbDevice *device) +uint32_t getUNC(cDvbDevice *deviceP) { uint32_t value = 0; - if (!device) + if (!deviceP) return (value); - int fe = open(*cString::sprintf(FRONTEND_DEVICE, device->Adapter(), device->Frontend()), O_RDONLY | O_NONBLOCK); + int fe = open(*cString::sprintf(FRONTEND_DEVICE, deviceP->Adapter(), deviceP->Frontend()), O_RDONLY | O_NONBLOCK); if (fe < 0) return (value); ioctl(fe, FE_READ_UNCORRECTED_BLOCKS, &value); @@ -232,39 +232,39 @@ uint32_t getUNC(cDvbDevice *device) return (value); } -cString getApids(const cChannel *channel) +cString getApids(const cChannel *channelP) { int value = 0; - cString apids = cString::sprintf("%d", channel->Apid(value)); - while (channel->Apid(++value) && (value < MAXAPIDS)) - apids = cString::sprintf("%s, %d", *apids, channel->Apid(value)); + cString apids = cString::sprintf("%d", channelP->Apid(value)); + while (channelP->Apid(++value) && (value < MAXAPIDS)) + apids = cString::sprintf("%s, %d", *apids, channelP->Apid(value)); return apids; } -cString getDpids(const cChannel *channel) +cString getDpids(const cChannel *channelP) { int value = 0; - cString dpids = cString::sprintf("%d", channel->Dpid(value)); - while (channel->Dpid(++value) && (value < MAXDPIDS)) - dpids = cString::sprintf("%s, %d", *dpids, channel->Dpid(value)); + cString dpids = cString::sprintf("%d", channelP->Dpid(value)); + while (channelP->Dpid(++value) && (value < MAXDPIDS)) + dpids = cString::sprintf("%s, %d", *dpids, channelP->Dpid(value)); return dpids; } -cString getSpids(const cChannel *channel) +cString getSpids(const cChannel *channelP) { int value = 0; - cString spids = cString::sprintf("%d", channel->Spid(value)); - while (channel->Spid(++value) && (value < MAXSPIDS)) - spids = cString::sprintf("%s, %d", *spids, channel->Spid(value)); + cString spids = cString::sprintf("%d", channelP->Spid(value)); + while (channelP->Spid(++value) && (value < MAXSPIDS)) + spids = cString::sprintf("%s, %d", *spids, channelP->Spid(value)); return spids; } -cString getCAids(const cChannel *channel) +cString getCAids(const cChannel *channelP) { int value = 0; - cString caids = cString::sprintf("%s", *getCA(channel->Ca(value))); - while (channel->Ca(++value) && (value < MAXCAIDS)) - caids = cString::sprintf("%s, %s", *caids, *getCA(channel->Ca(value))); + cString caids = cString::sprintf("%s", *getCA(channelP->Ca(value))); + while (channelP->Ca(++value) && (value < MAXCAIDS)) + caids = cString::sprintf("%s, %s", *caids, *getCA(channelP->Ca(value))); return caids; } @@ -275,37 +275,37 @@ cString getVideoStream(int value) return cString::sprintf("---"); } -cString getAudioStream(int value, const cChannel *channel) +cString getAudioStream(int valueP, const cChannel *channelP) { int pid = 0; - if (IS_AUDIO_TRACK(value)) - pid = int(value - ttAudioFirst); - if (channel && channel->Apid(pid)) { - if (channel->Alang(pid)) - return cString::sprintf("#%d (%s)", channel->Apid(pid), channel->Alang(pid)); + if (IS_AUDIO_TRACK(valueP)) + pid = int(valueP - ttAudioFirst); + if (channelP && channelP->Apid(pid)) { + if (channelP->Alang(pid)) + return cString::sprintf("#%d (%s)", channelP->Apid(pid), channelP->Alang(pid)); else - return cString::sprintf("#%d", channel->Apid(pid)); + return cString::sprintf("#%d", channelP->Apid(pid)); } return cString::sprintf("---"); } -cString getAC3Stream(int value, const cChannel *channel) +cString getAC3Stream(int valueP, const cChannel *channelP) { int pid = 0; - if (IS_DOLBY_TRACK(value)) - pid = int(value - ttDolbyFirst); - if (channel && channel->Dpid(pid)) { - if (channel->Dlang(pid)) - return cString::sprintf("#%d (%s)", channel->Dpid(pid), channel->Dlang(pid)); + if (IS_DOLBY_TRACK(valueP)) + pid = int(valueP - ttDolbyFirst); + if (channelP && channelP->Dpid(pid)) { + if (channelP->Dlang(pid)) + return cString::sprintf("#%d (%s)", channelP->Dpid(pid), channelP->Dlang(pid)); else - return cString::sprintf("#%d", channel->Dpid(pid)); + return cString::sprintf("#%d", channelP->Dpid(pid)); } return cString::sprintf("---"); } -cString getVideoCodec(int value) +cString getVideoCodec(int valueP) { - switch (value) { + switch (valueP) { case VIDEO_CODEC_MPEG2: return cString::sprintf("%s", tr("MPEG-2")); case VIDEO_CODEC_H264: return cString::sprintf("%s", tr("H.264")); default: break; @@ -313,9 +313,9 @@ cString getVideoCodec(int value) return cString::sprintf("---"); } -cString getAudioCodec(int value) +cString getAudioCodec(int valueP) { - switch (value) { + switch (valueP) { case AUDIO_CODEC_MPEG1_I: return cString::sprintf("%s", tr("MPEG-1 Layer I")); case AUDIO_CODEC_MPEG1_II: return cString::sprintf("%s", tr("MPEG-1 Layer II")); case AUDIO_CODEC_MPEG1_III: return cString::sprintf("%s", tr("MPEG-1 Layer III")); @@ -329,9 +329,9 @@ cString getAudioCodec(int value) return cString::sprintf("---"); } -cString getAudioChannelMode(int value) +cString getAudioChannelMode(int valueP) { - switch (value) { + switch (valueP) { case AUDIO_CHANNEL_MODE_STEREO: return cString::sprintf("%s", tr("stereo")); case AUDIO_CHANNEL_MODE_JOINT_STEREO: return cString::sprintf("%s", tr("joint Stereo")); case AUDIO_CHANNEL_MODE_DUAL: return cString::sprintf("%s", tr("dual")); @@ -341,76 +341,76 @@ cString getAudioChannelMode(int value) return cString::sprintf("---"); } -cString getCoderate(int value) +cString getCoderate(int valueP) { - return cString::sprintf("%s", getUserString(value, CoderateValues)); + return cString::sprintf("%s", getUserString(valueP, CoderateValues)); } -cString getTransmission(int value) +cString getTransmission(int valueP) { - return cString::sprintf("%s", getUserString(value, TransmissionValues)); + return cString::sprintf("%s", getUserString(valueP, TransmissionValues)); } -cString getBandwidth(int value) +cString getBandwidth(int valueP) { - return cString::sprintf("%s", getUserString(value, BandwidthValues)); + return cString::sprintf("%s", getUserString(valueP, BandwidthValues)); } -cString getInversion(int value) +cString getInversion(int valueP) { - return cString::sprintf("%s", getUserString(value, InversionValues)); + return cString::sprintf("%s", getUserString(valueP, InversionValues)); } -cString getHierarchy(int value) +cString getHierarchy(int valueP) { - return cString::sprintf("%s", getUserString(value, HierarchyValues)); + return cString::sprintf("%s", getUserString(valueP, HierarchyValues)); } -cString getGuard(int value) +cString getGuard(int valueP) { - return cString::sprintf("%s", getUserString(value, GuardValues)); + return cString::sprintf("%s", getUserString(valueP, GuardValues)); } -cString getModulation(int value) +cString getModulation(int valueP) { - return cString::sprintf("%s", getUserString(value, ModulationValues)); + return cString::sprintf("%s", getUserString(valueP, ModulationValues)); } -cString getTerrestrialSystem(int value) +cString getTerrestrialSystem(int valueP) { - return cString::sprintf("%s", getUserString(value, SystemValuesTerr)); + return cString::sprintf("%s", getUserString(valueP, SystemValuesTerr)); } -cString getSatelliteSystem(int value) +cString getSatelliteSystem(int valueP) { - return cString::sprintf("%s", getUserString(value, SystemValuesSat)); + return cString::sprintf("%s", getUserString(valueP, SystemValuesSat)); } -cString getRollOff(int value) +cString getRollOff(int valueP) { - return cString::sprintf("%s", getUserString(value, RollOffValues)); + return cString::sprintf("%s", getUserString(valueP, RollOffValues)); } -cString getPilot(int value) +cString getPilot(int valueP) { - return cString::sprintf("%s", getUserString(value, PilotValues)); + return cString::sprintf("%s", getUserString(valueP, PilotValues)); } -cString getResolution(int width, int height, int scan) +cString getResolution(int widthP, int heightP, int scanP) { - if ((width > 0) && (height > 0)) { - switch (scan) { - case VIDEO_SCAN_INTERLACED: return cString::sprintf("%dx%d %s", width, height, tr("interlaced")); - case VIDEO_SCAN_PROGRESSIVE: return cString::sprintf("%dx%d %s", width, height, tr("progressive")); - default: return cString::sprintf("%dx%d", width, height); + if ((widthP > 0) && (heightP > 0)) { + switch (scanP) { + case VIDEO_SCAN_INTERLACED: return cString::sprintf("%dx%d %s", widthP, heightP, tr("interlaced")); + case VIDEO_SCAN_PROGRESSIVE: return cString::sprintf("%dx%d %s", widthP, heightP, tr("progressive")); + default: return cString::sprintf("%dx%d", widthP, heightP); } } return cString::sprintf("---"); } -cString getAspectRatio(int value) +cString getAspectRatio(int valueP) { - switch (value) { + switch (valueP) { case VIDEO_ASPECT_RATIO_RESERVED: return cString::sprintf("%s", tr("reserved")); case VIDEO_ASPECT_RATIO_EXTENDED: return cString::sprintf("%s", tr("extended")); case VIDEO_ASPECT_RATIO_1_1: return cString::sprintf("1:1"); @@ -436,9 +436,9 @@ cString getAspectRatio(int value) return cString::sprintf("---"); } -cString getVideoFormat(int value) +cString getVideoFormat(int valueP) { - switch (value) { + switch (valueP) { case VIDEO_FORMAT_UNKNOWN: return cString::sprintf("%s", tr("unknown")); case VIDEO_FORMAT_RESERVED: return cString::sprintf("%s", tr("reserved")); case VIDEO_FORMAT_COMPONENT: return cString::sprintf("%s", tr("component")); @@ -451,16 +451,16 @@ cString getVideoFormat(int value) return cString::sprintf("---"); } -cString getFrameRate(double value) +cString getFrameRate(double valueP) { - if (value > 0) - return cString::sprintf("%.2f %s", value, tr("Hz")); + if (valueP > 0) + return cString::sprintf("%.2f %s", valueP, tr("Hz")); return cString::sprintf("---"); } -cString getAC3BitStreamMode(int value, int coding) +cString getAC3BitStreamMode(int valueP, int codingP) { - switch (value) { + switch (valueP) { case AUDIO_BITSTREAM_MODE_CM: return cString::sprintf("%s", tr("Complete Main (CM)")); case AUDIO_BITSTREAM_MODE_ME: return cString::sprintf("%s", tr("Music and Effects (ME)")); case AUDIO_BITSTREAM_MODE_VI: return cString::sprintf("%s", tr("Visually Impaired (VI)")); @@ -468,16 +468,16 @@ cString getAC3BitStreamMode(int value, int coding) case AUDIO_BITSTREAM_MODE_D: return cString::sprintf("%s", tr("Dialogue (D)")); case AUDIO_BITSTREAM_MODE_C: return cString::sprintf("%s", tr("Commentary (C)")); case AUDIO_BITSTREAM_MODE_E: return cString::sprintf("%s", tr("Emergency (E)")); - case AUDIO_BITSTREAM_MODE_VO_KAR: return cString::sprintf("%s", (coding == 1) ? tr("Voice Over (VO)") : tr("Karaoke")); + case AUDIO_BITSTREAM_MODE_VO_KAR: return cString::sprintf("%s", (codingP == 1) ? tr("Voice Over (VO)") : tr("Karaoke")); default: break; } return cString::sprintf("---"); } -cString getAC3AudioCodingMode(int value, int stream) +cString getAC3AudioCodingMode(int valueP, int streamP) { - if (stream != 7) { - switch (value) { + if (streamP != 7) { + switch (valueP) { case AUDIO_CODING_MODE_1_1: return cString::sprintf("1+1 - %s, %s", tr("Ch1"), tr("Ch2")); case AUDIO_CODING_MODE_1_0: return cString::sprintf("1/0 - %s", tr("C")); case AUDIO_CODING_MODE_2_0: return cString::sprintf("2/0 - %s, %s", tr("L"), tr("R")); @@ -492,9 +492,9 @@ cString getAC3AudioCodingMode(int value, int stream) return cString::sprintf("---"); } -cString getAC3CenterMixLevel(int value) +cString getAC3CenterMixLevel(int valueP) { - switch (value) { + switch (valueP) { case AUDIO_CENTER_MIX_LEVEL_MINUS_3dB: return cString::sprintf("-3.0 %s", tr("dB")); case AUDIO_CENTER_MIX_LEVEL_MINUS_4_5dB: return cString::sprintf("-4.5 %s", tr("dB")); case AUDIO_CENTER_MIX_LEVEL_MINUS_6dB: return cString::sprintf("-6.0 %s", tr("dB")); @@ -504,9 +504,9 @@ cString getAC3CenterMixLevel(int value) return cString::sprintf("---"); } -cString getAC3SurroundMixLevel(int value) +cString getAC3SurroundMixLevel(int valueP) { - switch (value) { + switch (valueP) { case AUDIO_SURROUND_MIX_LEVEL_MINUS_3dB: return cString::sprintf("-3 %s", tr("dB")); case AUDIO_SURROUND_MIX_LEVEL_MINUS_6dB: return cString::sprintf("-6 %s", tr("dB")); case AUDIO_SURROUND_MIX_LEVEL_0_dB: return cString::sprintf("0 %s", tr("dB")); @@ -516,9 +516,9 @@ cString getAC3SurroundMixLevel(int value) return cString::sprintf("---"); } -cString getAC3DolbySurroundMode(int value) +cString getAC3DolbySurroundMode(int valueP) { - switch (value) { + switch (valueP) { case AUDIO_DOLBY_SURROUND_MODE_NOT_INDICATED: return cString::sprintf("%s", tr("not indicated")); case AUDIO_DOLBY_SURROUND_MODE_NOT_DOLBYSURROUND: return cString::sprintf("%s", trVDR("no")); case AUDIO_DOLBY_SURROUND_MODE_DOLBYSURROUND: return cString::sprintf("%s", trVDR("yes")); @@ -528,57 +528,57 @@ cString getAC3DolbySurroundMode(int value) return cString::sprintf("---"); } -cString getAC3DialogLevel(int value) +cString getAC3DialogLevel(int valueP) { - if (value > 0) - return cString::sprintf("-%d %s", value, tr("dB")); + if (valueP > 0) + return cString::sprintf("-%d %s", valueP, tr("dB")); return cString::sprintf("---"); } -cString getFrequencyMHz(int value) +cString getFrequencyMHz(int valueP) { - double freq = value; + double freq = valueP; while (freq > 20000.0) freq /= 1000.0; return cString::sprintf("%s %s", *dtoa(freq, "%lg"), tr("MHz")); } -cString getAudioSamplingFreq(int value) +cString getAudioSamplingFreq(int valueP) { - switch (value) { + switch (valueP) { case AUDIO_SAMPLING_FREQUENCY_INVALID: return cString::sprintf("---"); case AUDIO_SAMPLING_FREQUENCY_RESERVED: return cString::sprintf("%s", tr("reserved")); default: break; } - return cString::sprintf("%d %s", value, tr("Hz")); + return cString::sprintf("%d %s", valueP, tr("Hz")); } -cString getAudioBitrate(double value, double stream) +cString getAudioBitrate(double valueP, double streamP) { - switch ((int)stream) { + switch ((int)streamP) { case AUDIO_BITRATE_INVALID: return cString::sprintf("---"); - case AUDIO_BITRATE_RESERVED: return cString::sprintf("%s (%s)", tr("reserved"), *getBitrateKbits(value)); - case AUDIO_BITRATE_FREE: return cString::sprintf("%s (%s)", tr("free"), *getBitrateKbits(value)); + case AUDIO_BITRATE_RESERVED: return cString::sprintf("%s (%s)", tr("reserved"), *getBitrateKbits(valueP)); + case AUDIO_BITRATE_FREE: return cString::sprintf("%s (%s)", tr("free"), *getBitrateKbits(valueP)); default: break; } - return cString::sprintf("%s (%s)", *getBitrateKbits(stream), *getBitrateKbits(value)); + return cString::sprintf("%s (%s)", *getBitrateKbits(streamP), *getBitrateKbits(valueP)); } -cString getVideoBitrate(double value, double stream) +cString getVideoBitrate(double valueP, double streamP) { - return cString::sprintf("%s (%s)", *getBitrateMbits(stream), *getBitrateMbits(value)); + return cString::sprintf("%s (%s)", *getBitrateMbits(streamP), *getBitrateMbits(valueP)); } -cString getBitrateMbits(double value) +cString getBitrateMbits(double valueP) { - if (value > 0) - return cString::sprintf("%.2f %s", value / 1000000.0, tr("Mbit/s")); + if (valueP > 0) + return cString::sprintf("%.2f %s", valueP / 1000000.0, tr("Mbit/s")); return cString::sprintf("---"); } -cString getBitrateKbits(double value) +cString getBitrateKbits(double valueP) { - if (value > 0) - return cString::sprintf("%.0f %s", value / 1000.0, tr("kbit/s")); + if (valueP > 0) + return cString::sprintf("%.0f %s", valueP / 1000.0, tr("kbit/s")); return cString::sprintf("---"); } diff --git a/femontools.h b/femontools.h index abf1a6a..b250276 100644 --- a/femontools.h +++ b/femontools.h @@ -28,59 +28,59 @@ #define SATIP_DEVICE "SAT>IP" -cDvbDevice *getDvbDevice(cDevice* device); +cDvbDevice *getDvbDevice(cDevice* deviceP); -cString getFrontendInfo(cDvbDevice *device); -cString getFrontendName(cDvbDevice *device); -cString getFrontendStatus(cDvbDevice *device); +cString getFrontendInfo(cDvbDevice *deviceP); +cString getFrontendName(cDvbDevice *deviceP); +cString getFrontendStatus(cDvbDevice *deviceP); -uint16_t getSNR(cDvbDevice *device); -uint16_t getSignal(cDvbDevice *device); +uint16_t getSNR(cDvbDevice *deviceP); +uint16_t getSignal(cDvbDevice *deviceP); -uint32_t getBER(cDvbDevice *device); -uint32_t getUNC(cDvbDevice *device); +uint32_t getBER(cDvbDevice *deviceP); +uint32_t getUNC(cDvbDevice *deviceP); -cString getApids(const cChannel *channel); -cString getDpids(const cChannel *channel); -cString getSpids(const cChannel *channel); -cString getCAids(const cChannel *channel); -cString getVideoStream(int value); -cString getVideoCodec(int value); -cString getAudioStream(int value, const cChannel *channel); -cString getAudioCodec(int value); -cString getAudioChannelMode(int value); -cString getCoderate(int value); -cString getTransmission(int value); -cString getBandwidth(int value); -cString getInversion(int value); -cString getHierarchy(int value); -cString getGuard(int value); -cString getModulation(int value); -cString getTerrestrialSystem(int value); -cString getSatelliteSystem(int value); -cString getRollOff(int value); -cString getPilot(int value); -cString getResolution(int width, int height, int scan); -cString getAspectRatio(int value); -cString getVideoFormat(int value); -cString getFrameRate(double value); -cString getAC3Stream(int value, const cChannel *channel); -cString getAC3BitStreamMode(int value, int coding); -cString getAC3AudioCodingMode(int value, int stream); -cString getAC3CenterMixLevel(int value); -cString getAC3SurroundMixLevel(int value); -cString getAC3DolbySurroundMode(int value); -cString getAC3DialogLevel(int value); -cString getFrequencyMHz(int value); -cString getAudioSamplingFreq(int value); -cString getAudioBitrate(double value, double stream); -cString getVideoBitrate(double value, double stream); -cString getBitrateMbits(double value); -cString getBitrateKbits(double value); +cString getApids(const cChannel *channelP); +cString getDpids(const cChannel *channelP); +cString getSpids(const cChannel *channelP); +cString getCAids(const cChannel *channelP); +cString getVideoStream(int valueP); +cString getVideoCodec(int valueP); +cString getAudioStream(int valueP, const cChannel *channelP); +cString getAudioCodec(int valueP); +cString getAudioChannelMode(int valueP); +cString getCoderate(int valueP); +cString getTransmission(int valueP); +cString getBandwidth(int valueP); +cString getInversion(int valueP); +cString getHierarchy(int valueP); +cString getGuard(int valueP); +cString getModulation(int valueP); +cString getTerrestrialSystem(int valueP); +cString getSatelliteSystem(int valueP); +cString getRollOff(int valueP); +cString getPilot(int valueP); +cString getResolution(int widthP, int heightP, int scanP); +cString getAspectRatio(int valueP); +cString getVideoFormat(int valueP); +cString getFrameRate(double valueP); +cString getAC3Stream(int valueP, const cChannel *channelP); +cString getAC3BitStreamMode(int valueP, int codingP); +cString getAC3AudioCodingMode(int valueP, int streamP); +cString getAC3CenterMixLevel(int valueP); +cString getAC3SurroundMixLevel(int valueP); +cString getAC3DolbySurroundMode(int valueP); +cString getAC3DialogLevel(int valueP); +cString getFrequencyMHz(int valueP); +cString getAudioSamplingFreq(int valueP); +cString getAudioBitrate(double valueP, double streamP); +cString getVideoBitrate(double valueP, double streamP); +cString getBitrateMbits(double valueP); +cString getBitrateKbits(double valueP); class cFemonBitStream : public cBitStream { public: - cFemonBitStream(const uint8_t *Data, const int Length) : cBitStream(Data, Length) {} + cFemonBitStream(const uint8_t *dataP, const int lengthP) : cBitStream(dataP, lengthP) {} uint32_t GetUeGolomb(); int32_t GetSeGolomb(); void SkipGolomb(); diff --git a/femonvideo.h b/femonvideo.h index 40ecf63..1b7123f 100644 --- a/femonvideo.h +++ b/femonvideo.h @@ -75,19 +75,19 @@ public: virtual ~cFemonVideoIf() {} // eVideoCodec - virtual void SetVideoCodec(eVideoCodec codec) = 0; + virtual void SetVideoCodec(eVideoCodec codecP) = 0; // eVideoFormat - virtual void SetVideoFormat(eVideoFormat format) = 0; + virtual void SetVideoFormat(eVideoFormat formatP) = 0; // eVideoScan - virtual void SetVideoScan(eVideoScan scan) = 0; + virtual void SetVideoScan(eVideoScan scanP) = 0; // eVideoAspectRatio - virtual void SetVideoAspectRatio(eVideoAspectRatio aspectratio) = 0; + virtual void SetVideoAspectRatio(eVideoAspectRatio aspectRatioP) = 0; // pixels - virtual void SetVideoSize(int width, int height) = 0; + virtual void SetVideoSize(int widthP, int heightP) = 0; // Hz - virtual void SetVideoFramerate(double framerate) = 0; + virtual void SetVideoFramerate(double frameRateP) = 0; // Mbit/s - virtual void SetVideoBitrate(double bitrate) = 0; + virtual void SetVideoBitrate(double bitRateP) = 0; }; #endif //__FEMONVIDEO_H diff --git a/svdrpservice.h b/svdrpservice.h index 416a032..7a9b070 100644 --- a/svdrpservice.h +++ b/svdrpservice.h @@ -11,11 +11,11 @@ class cLine: public cListObject { private: - char *Line; + char *lineM; public: - const char *Text() { return Line; } - cLine(const char *s) { Line = s ? strdup(s) : NULL; }; - virtual ~cLine() { if (Line) free(Line); }; + const char *Text() { return lineM; } + cLine(const char *strP) { lineM = strP ? strdup(strP) : NULL; }; + virtual ~cLine() { if (lineM) free(lineM); }; }; struct SvdrpConnection_v1_0 {