From bc6da9dd63a121f8558e7cd7847464405c8ce862 Mon Sep 17 00:00:00 2001 From: Rolf Ahrenberg Date: Sun, 8 Mar 2015 14:33:18 +0200 Subject: [PATCH] Added support for tracing modes. --- common.h | 28 +++++++--------------- config.c | 8 ++++--- config.h | 24 +++++++++++++++++++ device.c | 62 ++++++++++++++++++++++++------------------------- iptv.c | 55 ++++++++++++++++++++++++++----------------- log.h | 48 ++++++++++++++++++++++++++++++++++++++ pidscanner.c | 20 ++++++++-------- pidscanner.h | 6 +++-- protocolcurl.c | 59 +++++++++++++++++++++++----------------------- protocolext.c | 25 ++++++++++---------- protocolfile.c | 23 +++++++++--------- protocolhttp.c | 25 ++++++++++---------- protocoludp.c | 17 +++++++------- sectionfilter.c | 33 +++++++++++++------------- setup.c | 6 ++--- sidscanner.c | 20 ++++++++-------- sidscanner.h | 6 +++-- socket.c | 57 +++++++++++++++++++++++---------------------- source.c | 16 +++++++------ statistics.c | 37 +++++++++++++++-------------- streamer.c | 19 ++++++++------- 21 files changed, 343 insertions(+), 251 deletions(-) create mode 100644 log.h diff --git a/common.h b/common.h index 450f53a..3190297 100644 --- a/common.h +++ b/common.h @@ -12,16 +12,6 @@ #include #include -#ifdef DEBUG -#define debug(x...) dsyslog("IPTV: " x); -#define info(x...) isyslog("IPTV: " x); -#define error(x...) esyslog("ERROR: " x); -#else -#define debug(x...) ; -#define info(x...) isyslog("IPTV: " x); -#define error(x...) esyslog("ERROR: " x); -#endif - #define ELEMENTS(x) (sizeof(x) / sizeof(x[0])) #define IPTV_BUFFER_SIZE MEGABYTE(1) @@ -42,15 +32,15 @@ #define SECTION_FILTER_TABLE_SIZE 5 -#define ERROR_IF_FUNC(exp, errstr, func, ret) \ - do { \ - if (exp) { \ - char tmp[64]; \ - error("[%s,%d]: "errstr": %s", __FILE__, __LINE__, \ - strerror_r(errno, tmp, sizeof(tmp))); \ - func; \ - ret; \ - } \ +#define ERROR_IF_FUNC(exp, errstr, func, ret) \ + do { \ + if (exp) { \ + char tmp[64]; \ + esyslog("[%s,%d]: "errstr": %s", __FILE__, __LINE__, \ + strerror_r(errno, tmp, sizeof(tmp))); \ + func; \ + ret; \ + } \ } while (0) diff --git a/config.c b/config.c index 6a5e7b2..f681c30 100644 --- a/config.c +++ b/config.c @@ -5,12 +5,14 @@ * */ +#include "log.h" #include "config.h" cIptvConfig IptvConfig; cIptvConfig::cIptvConfig(void) -: protocolBasePortM(4321), +: traceModeM(eTraceModeNormal), + protocolBasePortM(4321), useBytesM(1), sectionFilteringM(1) { @@ -41,12 +43,12 @@ void cIptvConfig::SetDisabledFilters(unsigned int indexP, int numberP) void cIptvConfig::SetConfigDirectory(const char *directoryP) { - debug("cIptvConfig::%s(%s)", __FUNCTION__, directoryP); + debug1("%s (%s)", __PRETTY_FUNCTION__, directoryP); ERROR_IF(!realpath(directoryP, configDirectoryM), "Cannot canonicalize configuration directory"); } void cIptvConfig::SetResourceDirectory(const char *directoryP) { - debug("cIptvConfig::%s(%s)", __FUNCTION__, directoryP); + debug1("%s (%s)", __PRETTY_FUNCTION__, directoryP); ERROR_IF(!realpath(directoryP, resourceDirectoryM), "Cannot canonicalize resource directory"); } diff --git a/config.h b/config.h index e13318a..d5ce470 100644 --- a/config.h +++ b/config.h @@ -14,6 +14,7 @@ class cIptvConfig { private: + unsigned int traceModeM; unsigned int protocolBasePortM; unsigned int useBytesM; unsigned int sectionFilteringM; @@ -22,7 +23,29 @@ private: char resourceDirectoryM[PATH_MAX]; public: + enum eTraceMode { + eTraceModeNormal = 0x0000, + eTraceModeDebug1 = 0x0001, + eTraceModeDebug2 = 0x0002, + eTraceModeDebug3 = 0x0004, + eTraceModeDebug4 = 0x0008, + eTraceModeDebug5 = 0x0010, + eTraceModeDebug6 = 0x0020, + eTraceModeDebug7 = 0x0040, + eTraceModeDebug8 = 0x0080, + eTraceModeDebug9 = 0x0100, + eTraceModeDebug10 = 0x0200, + eTraceModeDebug11 = 0x0400, + eTraceModeDebug12 = 0x0800, + eTraceModeDebug13 = 0x1000, + eTraceModeDebug14 = 0x2000, + eTraceModeDebug15 = 0x4000, + eTraceModeDebug16 = 0x8000, + eTraceModeMask = 0xFFFF + }; cIptvConfig(); + unsigned int GetTraceMode(void) const { return traceModeM; } + bool IsTraceMode(eTraceMode modeP) const { return (traceModeM & modeP); } unsigned int GetProtocolBasePort(void) const { return protocolBasePortM; } unsigned int GetUseBytes(void) const { return useBytesM; } unsigned int GetSectionFiltering(void) const { return sectionFilteringM; } @@ -30,6 +53,7 @@ public: const char *GetResourceDirectory(void) const { return resourceDirectoryM; } unsigned int GetDisabledFiltersCount(void) const; int GetDisabledFilters(unsigned int indexP) const; + void SetTraceMode(unsigned int modeP) { traceModeM = (modeP & eTraceModeMask); } void SetProtocolBasePort(unsigned int portNumberP) { protocolBasePortM = portNumberP; } void SetUseBytes(unsigned int onOffP) { useBytesM = onOffP; } void SetSectionFiltering(unsigned int onOffP) { sectionFilteringM = onOffP; } diff --git a/device.c b/device.c index 1ca7043..d94510a 100644 --- a/device.c +++ b/device.c @@ -24,7 +24,7 @@ cIptvDevice::cIptvDevice(unsigned int indexP) { unsigned int bufsize = (unsigned int)IPTV_BUFFER_SIZE; bufsize -= (bufsize % TS_SIZE); - isyslog("creating IPTV device %d (CardIndex=%d)", deviceIndexM, CardIndex()); + info("Creating IPTV device %d (CardIndex=%d)", deviceIndexM, CardIndex()); tsBufferM = new cRingBufferLinear(bufsize + 1, TS_SIZE, false, *cString::sprintf("IPTV TS %d", deviceIndexM)); if (tsBufferM) { @@ -50,13 +50,13 @@ cIptvDevice::cIptvDevice(unsigned int indexP) if (S_ISFIFO(sb.st_mode)) { dvrFdM = open(filename, O_RDWR | O_NONBLOCK); if (dvrFdM >= 0) - dsyslog("IPTV device %d redirecting input stream to '%s'", deviceIndexM, *filename); + info("IPTV device %d redirecting input stream to '%s'", deviceIndexM, *filename); } } cIptvDevice::~cIptvDevice() { - debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug1("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); // Stop section handler of iptv device StopSectionHandler(); DELETE_POINTER(pIptvSectionM); @@ -79,7 +79,7 @@ cIptvDevice::~cIptvDevice() bool cIptvDevice::Initialize(unsigned int deviceCountP) { - debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceCountP); + debug1("%s (%u)", __PRETTY_FUNCTION__, deviceCountP); new cIptvSourceParam(IPTV_SOURCE_CHARACTER, "IPTV"); if (deviceCountP > IPTV_MAX_DEVICES) deviceCountP = IPTV_MAX_DEVICES; @@ -92,7 +92,7 @@ bool cIptvDevice::Initialize(unsigned int deviceCountP) void cIptvDevice::Shutdown(void) { - debug("cIptvDevice::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); for (int i = 0; i < IPTV_MAX_DEVICES; ++i) { if (IptvDevicesS[i]) IptvDevicesS[i]->CloseDvr(); @@ -102,7 +102,7 @@ void cIptvDevice::Shutdown(void) unsigned int cIptvDevice::Count(void) { unsigned int count = 0; - debug("cIptvDevice::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); for (unsigned int i = 0; i < IPTV_MAX_DEVICES; ++i) { if (IptvDevicesS[i] != NULL) count++; @@ -112,10 +112,10 @@ unsigned int cIptvDevice::Count(void) cIptvDevice *cIptvDevice::GetIptvDevice(int cardIndexP) { - //debug("cIptvDevice::%s(%d)", __FUNCTION__, cardIndexP); + debug16("%s (%d)", __PRETTY_FUNCTION__, cardIndexP); for (unsigned int i = 0; i < IPTV_MAX_DEVICES; ++i) { if (IptvDevicesS[i] && (IptvDevicesS[i]->CardIndex() == cardIndexP)) { - //debug("cIptvDevice::%s(%d): found!", __FUNCTION__, cardIndexP); + debug16("%s (%d) Found", __PRETTY_FUNCTION__, cardIndexP); return IptvDevicesS[i]; } } @@ -124,7 +124,7 @@ cIptvDevice *cIptvDevice::GetIptvDevice(int cardIndexP) cString cIptvDevice::GetGeneralInformation(void) { - //debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug16("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); return cString::sprintf("IPTV device: %d\nCardIndex: %d\nStream: %s\nStream bitrate: %s\n%sChannel: %s", deviceIndexM, CardIndex(), pIptvStreamerM ? *pIptvStreamerM->GetInformation() : "", @@ -135,13 +135,13 @@ cString cIptvDevice::GetGeneralInformation(void) cString cIptvDevice::GetPidsInformation(void) { - //debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug16("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); return GetPidStatistic(); } cString cIptvDevice::GetFiltersInformation(void) { - //debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug16("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); return cString::sprintf("Active section filters:\n%s", pIptvSectionM ? *pIptvSectionM->GetInformation() : ""); } @@ -177,37 +177,37 @@ cString cIptvDevice::GetInformation(unsigned int pageP) cString cIptvDevice::DeviceType(void) const { - //debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug16("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); return "IPTV"; } cString cIptvDevice::DeviceName(void) const { - debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug1("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); return cString::sprintf("IPTV %d", deviceIndexM); } int cIptvDevice::SignalStrength(void) const { - debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug1("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); return (100); } int cIptvDevice::SignalQuality(void) const { - debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug1("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); return (100); } bool cIptvDevice::ProvidesSource(int sourceP) const { - debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug1("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); return (cSource::IsType(sourceP, IPTV_SOURCE_CHARACTER)); } bool cIptvDevice::ProvidesTransponder(const cChannel *channelP) const { - debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug1("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); return (ProvidesSource(channelP->Source())); } @@ -217,7 +217,7 @@ bool cIptvDevice::ProvidesChannel(const cChannel *channelP, int priorityP, bool bool hasPriority = (priorityP == IDLEPRIORITY) || (priorityP > this->Priority()); bool needsDetachReceivers = false; - debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug1("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); if (channelP && ProvidesTransponder(channelP)) { result = hasPriority; @@ -263,7 +263,7 @@ bool cIptvDevice::SetChannelDevice(const cChannel *channelP, bool liveViewP) cIptvProtocolIf *protocol; cIptvTransponderParameters itp(channelP->Parameters()); - debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug1("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); if (isempty(itp.Address())) { error("Unrecognized IPTV address: %s", channelP->Parameters()); @@ -304,7 +304,7 @@ bool cIptvDevice::SetChannelDevice(const cChannel *channelP, bool liveViewP) bool cIptvDevice::SetPid(cPidHandle *handleP, int typeP, bool onP) { - debug("cIptvDevice::%s(%d): pid=%d type=%d on=%d", __FUNCTION__, deviceIndexM, handleP ? handleP->pid : -1, typeP, onP); + debug1("%s (%d, %d, %d) [device %d]", __PRETTY_FUNCTION__, handleP ? handleP->pid : -1, typeP, onP, deviceIndexM); if (pIptvStreamerM && handleP) return pIptvStreamerM->SetPid(handleP->pid, typeP, onP); return true; @@ -312,7 +312,7 @@ bool cIptvDevice::SetPid(cPidHandle *handleP, int typeP, bool onP) int cIptvDevice::OpenFilter(u_short pidP, u_char tidP, u_char maskP) { - //debug("cIptvDevice::%s(%d): pid=%d tid=%d mask=%d", __FUNCTION__, deviceIndexM, pidP, tidP, maskP); + debug16("%s (%d, %d, %d) [device %d]", __PRETTY_FUNCTION__, pidP, tidP, maskP, deviceIndexM); if (pIptvSectionM && IptvConfig.GetSectionFiltering()) { if (pIptvStreamerM) pIptvStreamerM->SetPid(pidP, ptOther, true); @@ -323,7 +323,7 @@ int cIptvDevice::OpenFilter(u_short pidP, u_char tidP, u_char maskP) void cIptvDevice::CloseFilter(int handleP) { - //debug("cIptvDevice::%s(%d): handle=%d", __FUNCTION__, deviceIndexM, handleP); + debug16("%s (%d) [device %d]", __PRETTY_FUNCTION__, handleP, deviceIndexM); if (pIptvSectionM) { if (pIptvStreamerM) pIptvStreamerM->SetPid(pIptvSectionM->GetPid(handleP), ptOther, false); @@ -333,7 +333,7 @@ void cIptvDevice::CloseFilter(int handleP) bool cIptvDevice::OpenDvr(void) { - debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug1("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); isPacketDeliveredM = false; tsBufferM->Clear(); if (pIptvStreamerM) @@ -348,7 +348,7 @@ bool cIptvDevice::OpenDvr(void) void cIptvDevice::CloseDvr(void) { - debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug1("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); if (pidScanEnabledM && pPidScannerM) pPidScannerM->Close(); if (sidScanEnabledM && pSidScannerM) @@ -360,19 +360,19 @@ void cIptvDevice::CloseDvr(void) bool cIptvDevice::HasLock(int timeoutMsP) const { - //debug("cIptvDevice::%s(%d): timeoutMs=%d", __FUNCTION__, deviceIndexM, timeoutMsP); + debug16("%s (%d) [device %d]", __PRETTY_FUNCTION__, timeoutMsP, deviceIndexM); return (pIptvStreamerM && pIptvStreamerM->Active()); } bool cIptvDevice::HasInternalCam(void) { - //debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug16("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); return false; } void cIptvDevice::WriteData(uchar *bufferP, int lengthP) { - //debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug16("%s (, %d) [device %d]", __PRETTY_FUNCTION__, lengthP, deviceIndexM); int len; // Send data to dvr fifo if (dvrFdM >= 0) @@ -390,7 +390,7 @@ void cIptvDevice::WriteData(uchar *bufferP, int lengthP) unsigned int cIptvDevice::CheckData(void) { - //debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug16("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); if (tsBufferM) return (unsigned int)tsBufferM->Free(); return 0; @@ -398,7 +398,7 @@ unsigned int cIptvDevice::CheckData(void) uchar *cIptvDevice::GetData(int *availableP) { - //debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug16("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); if (isOpenDvrM && tsBufferM) { int count = 0; if (isPacketDeliveredM) @@ -429,7 +429,7 @@ uchar *cIptvDevice::GetData(int *availableP) void cIptvDevice::SkipData(int countP) { - //debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug16("%s (%d) [device %d]]", __PRETTY_FUNCTION__, countP, deviceIndexM); tsBufferM->Del(countP); isPacketDeliveredM = false; // Update buffer statistics @@ -438,7 +438,7 @@ void cIptvDevice::SkipData(int countP) bool cIptvDevice::GetTSPacket(uchar *&dataP) { - //debug("cIptvDevice::%s(%d)", __FUNCTION__, deviceIndexM); + debug16("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); if (tsBufferM) { if (cCamSlot *cs = CamSlot()) { if (cs->WantsTsData()) { diff --git a/iptv.c b/iptv.c index 595c1f4..594bb59 100644 --- a/iptv.c +++ b/iptv.c @@ -54,7 +54,7 @@ public: cPluginIptv::cPluginIptv(void) : deviceCountM(1) { - //debug("cPluginIptv::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); // Initialize any member variables here. // DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL // VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT! @@ -62,23 +62,25 @@ cPluginIptv::cPluginIptv(void) cPluginIptv::~cPluginIptv() { - //debug("cPluginIptv::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); // Clean up after yourself! } const char *cPluginIptv::CommandLineHelp(void) { - debug("cPluginIptv::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Return a string that describes all known command line options. - return " -d , --devices= number of devices to be created\n"; + return " -d , --devices= number of devices to be created\n" + " -t , --trace= set the tracing mode\n"; } bool cPluginIptv::ProcessArgs(int argc, char *argv[]) { - debug("cPluginIptv::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Implement command line argument processing here if applicable. static const struct option long_options[] = { { "devices", required_argument, NULL, 'd' }, + { "trace", required_argument, NULL, 't' }, { NULL, no_argument, NULL, 0 } }; @@ -88,6 +90,9 @@ bool cPluginIptv::ProcessArgs(int argc, char *argv[]) case 'd': deviceCountM = atoi(optarg); break; + case 't': + IptvConfig.SetTraceMode(strtol(optarg, NULL, 0)); + break; default: return false; } @@ -97,7 +102,7 @@ bool cPluginIptv::ProcessArgs(int argc, char *argv[]) bool cPluginIptv::Initialize(void) { - debug("cPluginIptv::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Initialize any background activities the plugin shall perform. IptvConfig.SetConfigDirectory(cPlugin::ConfigDirectory(PLUGIN_NAME_I18N)); IptvConfig.SetResourceDirectory(cPlugin::ResourceDirectory(PLUGIN_NAME_I18N)); @@ -106,7 +111,7 @@ bool cPluginIptv::Initialize(void) bool cPluginIptv::Start(void) { - debug("cPluginIptv::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Start any background activities the plugin shall perform. if (curl_global_init(CURL_GLOBAL_ALL) == CURLE_OK) { curl_version_info_data *data = curl_version_info(CURLVERSION_NOW); @@ -124,7 +129,7 @@ bool cPluginIptv::Start(void) void cPluginIptv::Stop(void) { - debug("cPluginIptv::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Stop any background activities the plugin is performing. cIptvDevice::Shutdown(); curl_global_cleanup(); @@ -132,54 +137,54 @@ void cPluginIptv::Stop(void) void cPluginIptv::Housekeeping(void) { - //debug("cPluginIptv::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); // Perform any cleanup or other regular tasks. } void cPluginIptv::MainThreadHook(void) { - //debug("cPluginIptv::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); // Perform actions in the context of the main program thread. // WARNING: Use with great care - see PLUGINS.html! } cString cPluginIptv::Active(void) { - //debug("cPluginIptv::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); // Return a message string if shutdown should be postponed return NULL; } time_t cPluginIptv::WakeupTime(void) { - //debug("cPluginIptv::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); // Return custom wakeup time for shutdown script return 0; } cOsdObject *cPluginIptv::MainMenuAction(void) { - //debug("cPluginIptv::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); // Perform the action when selected from the main VDR menu. return NULL; } cMenuSetupPage *cPluginIptv::SetupMenu(void) { - debug("cPluginIptv::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Return a setup menu in case the plugin supports one. return new cIptvPluginSetup(); } int cPluginIptv::ParseFilters(const char *valueP, int *filtersP) { - debug("cPluginIptv::%s(%s)", __FUNCTION__, valueP); + debug1("%s (%s, )", __PRETTY_FUNCTION__, valueP); char buffer[256]; int n = 0; while (valueP && *valueP && (n < SECTION_FILTER_TABLE_SIZE)) { strn0cpy(buffer, valueP, sizeof(buffer)); int i = atoi(buffer); - //debug("cPluginIptv::%s(): filters[%d]=%d", __FUNCTION__, n, i); + debug16("%s (%s, ) filters[%d]=%d", __PRETTY_FUNCTION__, valueP, n, i); if (i >= 0) filtersP[n++] = i; if ((valueP = strchr(valueP, ' ')) != NULL) @@ -190,7 +195,7 @@ int cPluginIptv::ParseFilters(const char *valueP, int *filtersP) bool cPluginIptv::SetupParse(const char *nameP, const char *valueP) { - debug("cPluginIptv::%s()", __FUNCTION__); + debug1("%s (%s, %s)", __PRETTY_FUNCTION__, nameP, valueP); // Parse your own setup parameters and store their values. if (!strcasecmp(nameP, "ExtProtocolBasePort")) IptvConfig.SetProtocolBasePort(atoi(valueP)); @@ -211,8 +216,8 @@ bool cPluginIptv::SetupParse(const char *nameP, const char *valueP) bool cPluginIptv::Service(const char *idP, void *dataP) { - debug("cPluginIptv::%s()", __FUNCTION__); - if (strcmp(idP,"IptvService-v1.0") == 0) { + debug1("%s (%s, )", __PRETTY_FUNCTION__, idP); + if (strcmp(idP, "IptvService-v1.0") == 0) { if (dataP) { IptvService_v1_0 *data = reinterpret_cast(dataP); cIptvDevice *dev = cIptvDevice::GetIptvDevice(data->cardIndex); @@ -228,7 +233,7 @@ bool cPluginIptv::Service(const char *idP, void *dataP) const char **cPluginIptv::SVDRPHelpPages(void) { - debug("cPluginIptv::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); static const char *HelpPages[] = { "INFO [ ]\n" " Print IPTV device information and statistics.\n" @@ -236,6 +241,8 @@ const char **cPluginIptv::SVDRPHelpPages(void) " option: 1=general 2=pids 3=section filters.\n", "MODE\n" " Toggles between bit or byte information mode.\n", + "TRAC [ ]\n" + " Gets and/or sets used tracing mode.\n", NULL }; return HelpPages; @@ -243,7 +250,7 @@ const char **cPluginIptv::SVDRPHelpPages(void) cString cPluginIptv::SVDRPCommand(const char *commandP, const char *optionP, int &replyCodeP) { - debug("cPluginIptv::%s(%s, %s)", __FUNCTION__, commandP, optionP); + debug1("%s (%s, %s, )", __PRETTY_FUNCTION__, commandP, optionP); if (strcasecmp(commandP, "INFO") == 0) { cIptvDevice *device = cIptvDevice::GetIptvDevice(cDevice::ActualDevice()->CardIndex()); if (device) { @@ -265,6 +272,12 @@ cString cPluginIptv::SVDRPCommand(const char *commandP, const char *optionP, int IptvConfig.SetUseBytes(mode); return cString::sprintf("IPTV information mode is: %s\n", mode ? "bytes" : "bits"); } + else if (strcasecmp(commandP, "TRAC") == 0) { + if (optionP && *optionP) + IptvConfig.SetTraceMode(strtol(optionP, NULL, 0)); + return cString::sprintf("IPTV tracing mode: 0x%04X\n", IptvConfig.GetTraceMode()); + } + return NULL; } diff --git a/log.h b/log.h new file mode 100644 index 0000000..4082b77 --- /dev/null +++ b/log.h @@ -0,0 +1,48 @@ +/* + * log.h: IPTV plugin for the Video Disk Recorder + * + * See the README file for copyright information and how to reach the author. + * + */ + +#ifndef __IPTV_LOG_H +#define __IPTV_LOG_H + +#include "config.h" + +#define error(x...) esyslog("IPTV-ERROR: " x) +#define info(x...) isyslog("IPTV: " x) +// 0x0001: Generic call stack +#define debug1(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug1) ? dsyslog("IPTV1: " x) : void() ) +// 0x0002: TBD +#define debug2(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug2) ? dsyslog("IPTV2: " x) : void() ) +// 0x0004: TBD +#define debug3(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug3) ? dsyslog("IPTV3: " x) : void() ) +// 0x0008: TBD +#define debug4(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug4) ? dsyslog("IPTV4: " x) : void() ) +// 0x0010: TBD +#define debug5(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug5) ? dsyslog("IPTV5: " x) : void() ) +// 0x0020: TBD +#define debug6(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug6) ? dsyslog("IPTV6: " x) : void() ) +// 0x0040: TBD +#define debug7(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug7) ? dsyslog("IPTV7: " x) : void() ) +// 0x0080: TBD +#define debug8(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug8) ? dsyslog("IPTV8: " x) : void() ) +// 0x0100: TBD +#define debug9(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug9) ? dsyslog("IPTV9: " x) : void() ) +// 0x0200: TBD +#define debug10(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug10) ? dsyslog("IPTV10: " x) : void() ) +// 0x0400: TBD +#define debug11(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug11) ? dsyslog("IPTV11: " x) : void() ) +// 0x0800: TBD +#define debug12(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug12) ? dsyslog("IPTV12: " x) : void() ) +// 0x1000: TBD +#define debug13(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug13) ? dsyslog("IPTV13: " x) : void() ) +// 0x2000: TBD +#define debug14(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug14) ? dsyslog("IPTV14: " x) : void() ) +// 0x4000: TBD +#define debug15(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug15) ? dsyslog("IPTV15: " x) : void() ) +// 0x8000; Extra call stack +#define debug16(x...) void( IptvConfig.IsTraceMode(cIptvConfig::eTraceModeDebug16) ? dsyslog("IPTV16: " x) : void() ) + +#endif // __IPTV_LOG_H diff --git a/pidscanner.c b/pidscanner.c index 777a63a..80af34c 100644 --- a/pidscanner.c +++ b/pidscanner.c @@ -22,17 +22,17 @@ cPidScanner::cPidScanner(void) numVpidsM(0), numApidsM(0) { - debug("cPidScanner::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } cPidScanner::~cPidScanner() { - debug("cPidScanner::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } void cPidScanner::SetChannel(const tChannelID &channelIdP) { - debug("cPidScanner::%s(%s)", __FUNCTION__, *channelIdP.ToString()); + debug1("%s (%s)", __PRETTY_FUNCTION__, *channelIdP.ToString()); channelIdM = channelIdP; vPidM = 0xFFFF; numVpidsM = 0; @@ -43,13 +43,13 @@ void cPidScanner::SetChannel(const tChannelID &channelIdP) void cPidScanner::Process(const uint8_t* bufP) { - //debug("cPidScanner::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); if (!processM) return; // Stop scanning after defined timeout if (timeoutM.TimedOut()) { - debug("cPidScanner::%s(): timed out determining pids", __FUNCTION__); + debug1("%s Timed out determining pids", __PRETTY_FUNCTION__); processM = false; } @@ -84,24 +84,24 @@ void cPidScanner::Process(const uint8_t* bufP) // Stream ID if ((sid >= 0xC0) && (sid <= 0xDF)) { if (pid < aPidM) { - debug("cPidScanner::%s(): found lower Apid: 0x%X instead of 0x%X", __FUNCTION__, pid, aPidM); + debug1("%s Found lower Apid: 0x%X instead of 0x%X", __PRETTY_FUNCTION__, pid, aPidM); aPidM = pid; numApidsM = 1; } else if (pid == aPidM) { ++numApidsM; - debug("cPidScanner::%s(): incrementing Apids, now at %d", __FUNCTION__, numApidsM); + debug1("%s Incrementing Apids, now at %d", __PRETTY_FUNCTION__, numApidsM); } } else if ((sid >= 0xE0) && (sid <= 0xEF)) { if (pid < vPidM) { - debug("cPidScanner::%s(): found lower Vpid: 0x%X instead of 0x%X", __FUNCTION__, pid, vPidM); + debug1("%s Found lower Vpid: 0x%X instead of 0x%X", __PRETTY_FUNCTION__, pid, vPidM); vPidM = pid; numVpidsM = 1; } else if (pid == vPidM) { ++numVpidsM; - debug("cPidScanner::%s(): incrementing Vpids, now at %d", __FUNCTION__, numVpidsM); + debug1("%s Incrementing Vpids, now at %d", __PRETTY_FUNCTION__, numVpidsM); } } } @@ -146,7 +146,7 @@ void cPidScanner::Process(const uint8_t* bufP) } for (unsigned int i = 0; i < MAXSPIDS; ++i) Spids[i] = IptvChannel->Spid(i); - debug("cPidScanner::%s(): vpid=0x%04X, apid=0x%04X", __FUNCTION__, vPidM, aPidM); + debug1("%s vpid=0x%04X, apid=0x%04X", __PRETTY_FUNCTION__, vPidM, aPidM); IptvChannel->SetPids(vPidM, Ppid, Vtype, Apids, Atypes, ALangs, Dpids, Dtypes, DLangs, Spids, SLangs, Tpid); } Channels.Unlock(); diff --git a/pidscanner.h b/pidscanner.h index e9125ec..9987517 100644 --- a/pidscanner.h +++ b/pidscanner.h @@ -11,6 +11,8 @@ #include #include +#include "log.h" + class cPidScanner { private: enum { @@ -32,8 +34,8 @@ public: ~cPidScanner(); void SetChannel(const tChannelID &channelIdP); void Process(const uint8_t* bufP); - void Open() { debug("cPidScanner::%s()", __FUNCTION__); timeoutM.Set(PIDSCANNER_TIMEOUT_IN_MS); } - void Close() { debug("cPidScanner::%s()", __FUNCTION__); timeoutM.Set(0); } + void Open() { debug1("%s", __PRETTY_FUNCTION__); timeoutM.Set(PIDSCANNER_TIMEOUT_IN_MS); } + void Close() { debug1("%s", __PRETTY_FUNCTION__); timeoutM.Set(0); } }; #endif // __PIDSCANNER_H diff --git a/protocolcurl.c b/protocolcurl.c index 3183b25..657dc00 100644 --- a/protocolcurl.c +++ b/protocolcurl.c @@ -7,6 +7,7 @@ #include "common.h" #include "config.h" +#include "log.h" #include "protocolcurl.h" #ifdef CURLOPT_RTSPHEADER @@ -38,7 +39,7 @@ cIptvProtocolCurl::cIptvProtocolCurl() connectedM(false), pausedM(false) { - debug("cIptvProtocolCurl::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); if (ringBufferM) { ringBufferM->SetTimeouts(100, 0); ringBufferM->SetIoThrottle(); @@ -48,7 +49,7 @@ cIptvProtocolCurl::cIptvProtocolCurl() cIptvProtocolCurl::~cIptvProtocolCurl() { - debug("cIptvProtocolCurl::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); Disconnect(); // Free allocated memory DELETE_POINTER(ringBufferM); @@ -58,7 +59,7 @@ size_t cIptvProtocolCurl::WriteCallback(void *ptrP, size_t sizeP, size_t nmembP, { cIptvProtocolCurl *obj = reinterpret_cast(dataP); size_t len = sizeP * nmembP; - //debug("cIptvProtocolCurl::%s(%zu)", __FUNCTION__, len); + debug16("%s (, %zu, %zu, ) len=%zu", __PRETTY_FUNCTION__, sizeP, nmembP, len); if (obj && !obj->PutData((unsigned char *)ptrP, (int)len)) return CURL_WRITEFUNC_PAUSE; @@ -71,7 +72,7 @@ size_t cIptvProtocolCurl::WriteRtspCallback(void *ptrP, size_t sizeP, size_t nme cIptvProtocolCurl *obj = reinterpret_cast(dataP); size_t len = sizeP * nmembP; unsigned char *p = (unsigned char *)ptrP; - //debug("cIptvProtocolCurl::%s(%zu)", __FUNCTION__, len); + debug16("%s (, %zu, %zu, ) len=%zu", __PRETTY_FUNCTION__, sizeP, nmembP, len); // Validate packet header ('$') and channel (0) if (obj && (p[0] == 0x24) && (p[1] == 0)) { @@ -113,7 +114,7 @@ size_t cIptvProtocolCurl::DescribeCallback(void *ptrP, size_t sizeP, size_t nmem { cIptvProtocolCurl *obj = reinterpret_cast(dataP); size_t len = sizeP * nmembP; - //debug("cIptvProtocolCurl::%s(%zu)", __FUNCTION__, len); + debug16("%s (, %zu, %zu, ) len=%zu", __PRETTY_FUNCTION__, sizeP, nmembP, len); bool found = false; cString control = ""; @@ -121,7 +122,7 @@ size_t cIptvProtocolCurl::DescribeCallback(void *ptrP, size_t sizeP, size_t nmem char *r = strtok(p, "\r\n"); while (r) { - //debug("cIptvProtocolCurl::%s(%zu): %s", __FUNCTION__, len, r); + debug16("%s (, %zu, %zu, ) len=%zu r=%s", __PRETTY_FUNCTION__, sizeP, nmembP, len, r); // Look for a media name: "video" if (strstr(r, "m=video")) { found = true; @@ -147,13 +148,13 @@ size_t cIptvProtocolCurl::HeaderCallback(void *ptrP, size_t sizeP, size_t nmembP { //cIptvProtocolCurl *obj = reinterpret_cast(dataP); size_t len = sizeP * nmembP; - //debug("cIptvProtocolCurl::%s(%zu)", __FUNCTION__, len); + debug16("%s (, %zu, %zu, ) len=%zu", __PRETTY_FUNCTION__, sizeP, nmembP, len); char *p = (char *)ptrP; char *r = strtok(p, "\r\n"); while (r) { - //debug("cIptvProtocolCurl::%s(%zu): %s", __FUNCTION__, len, r); + debug16("%s (, %zu, %zu, ) len=%zu r=%s", __PRETTY_FUNCTION__, sizeP, nmembP, len, r); r = strtok(NULL, "\r\n"); } @@ -163,7 +164,7 @@ size_t cIptvProtocolCurl::HeaderCallback(void *ptrP, size_t sizeP, size_t nmembP void cIptvProtocolCurl::SetRtspControl(const char *controlP) { cMutexLock MutexLock(&mutexM); - //debug("cIptvProtocolCurl::%s(%s)", __FUNCTION__, controlP); + debug16("%s (%s)", __PRETTY_FUNCTION__, controlP); cString protocol = ChangeCase(controlP, false).Truncate(7); if (startswith(*protocol, "rtsp://")) { streamUrlM = controlP; @@ -176,13 +177,13 @@ void cIptvProtocolCurl::SetRtspControl(const char *controlP) bool cIptvProtocolCurl::PutData(unsigned char *dataP, int lenP) { cMutexLock MutexLock(&mutexM); - //debug("cIptvProtocolCurl::%s(%d)", __FUNCTION__, lenP); + debug16("%s (, %d)", __PRETTY_FUNCTION__, lenP); if (pausedM) return false; if (ringBufferM && (lenP >= 0)) { // Should we pause the transfer ? if (ringBufferM->Free() < (2 * CURL_MAX_WRITE_SIZE)) { - debug("cIptvProtocolCurl::%s(pause): free=%d available=%d len=%d", __FUNCTION__, + debug1("%s Pause free=%d available=%d len=%d", __PRETTY_FUNCTION__, ringBufferM->Free(), ringBufferM->Available(), lenP); pausedM = true; return false; @@ -198,14 +199,14 @@ bool cIptvProtocolCurl::PutData(unsigned char *dataP, int lenP) void cIptvProtocolCurl::DelData(int lenP) { cMutexLock MutexLock(&mutexM); - //debug("cIptvProtocolCurl::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); if (ringBufferM && (lenP >= 0)) ringBufferM->Del(lenP); } void cIptvProtocolCurl::ClearData() { - //debug("cIptvProtocolCurl::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); if (ringBufferM) ringBufferM->Clear(); } @@ -213,7 +214,7 @@ void cIptvProtocolCurl::ClearData() unsigned char *cIptvProtocolCurl::GetData(int &lenP) { cMutexLock MutexLock(&mutexM); - //debug("cIptvProtocolCurl::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); unsigned char *p = NULL; lenP = 0; if (ringBufferM) { @@ -245,7 +246,7 @@ unsigned char *cIptvProtocolCurl::GetData(int &lenP) bool cIptvProtocolCurl::Connect() { cMutexLock MutexLock(&mutexM); - debug("cIptvProtocolCurl::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); if (connectedM) return true; @@ -408,7 +409,7 @@ bool cIptvProtocolCurl::Connect() bool cIptvProtocolCurl::Disconnect() { cMutexLock MutexLock(&mutexM); - debug("cIptvProtocolCurl::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); if (!connectedM) return true; @@ -463,20 +464,20 @@ bool cIptvProtocolCurl::Disconnect() bool cIptvProtocolCurl::Open(void) { - debug("cIptvProtocolCurl::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); return Connect(); } bool cIptvProtocolCurl::Close(void) { - debug("cIptvProtocolCurl::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); Disconnect(); return true; } int cIptvProtocolCurl::Read(unsigned char* bufferAddrP, unsigned int bufferLenP) { - //debug("cIptvProtocolCurl::%s()", __FUNCTION__); + debug16("%s (, %u)", __PRETTY_FUNCTION__, bufferLenP); int len = 0; if (ringBufferM) { // Fill up the buffer @@ -490,7 +491,7 @@ int cIptvProtocolCurl::Read(unsigned char* bufferAddrP, unsigned int bufferLenP) // Remember the heart beat if (timeoutM.TimedOut()) { - debug("cIptvProtocolCurl::%s(): KeepAlive", __FUNCTION__); + debug1("%s KeepAlive", __PRETTY_FUNCTION__); cString uri = cString::sprintf("%s", *streamUrlM); iptv_curl_easy_setopt(handleM, CURLOPT_RTSP_STREAM_URI, *uri); iptv_curl_easy_setopt(handleM, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_OPTIONS); @@ -523,8 +524,8 @@ int cIptvProtocolCurl::Read(unsigned char* bufferAddrP, unsigned int bufferLenP) // Use 20% threshold before continuing to filling up the buffer. mutexM.Lock(); if (pausedM && (ringBufferM->Available() < (IPTV_BUFFER_SIZE / 5))) { - debug("cIptvProtocolCurl::%s(continue): free=%d available=%d", __FUNCTION__, - ringBufferM->Free(), ringBufferM->Available()); + debug1("%s Continue free=%d available=%d", __PRETTY_FUNCTION__, + ringBufferM->Free(), ringBufferM->Available()); pausedM = false; curl_easy_pause(handleM, CURLPAUSE_CONT); } @@ -537,8 +538,8 @@ int cIptvProtocolCurl::Read(unsigned char* bufferAddrP, unsigned int bufferLenP) CURLMsg *msg = curl_multi_info_read(multiM, &msgcount); mutexM.Unlock(); if (msg && (msg->msg == CURLMSG_DONE)) { - debug("cIptvProtocolCurl::%s(done): %s (%d)", __FUNCTION__, - curl_easy_strerror(msg->data.result), msg->data.result); + debug1("%s Done %s (%d)", __PRETTY_FUNCTION__, + curl_easy_strerror(msg->data.result), msg->data.result); Disconnect(); Connect(); } @@ -558,7 +559,7 @@ int cIptvProtocolCurl::Read(unsigned char* bufferAddrP, unsigned int bufferLenP) len = min(len, (int)bufferLenP); memcpy(bufferAddrP, p, len); DelData(len); - //debug("cIptvProtocolCurl::%s(): get %d bytes", __FUNCTION__, len); + debug16("%s Get %d bytes", __PRETTY_FUNCTION__, len); } } @@ -567,7 +568,7 @@ int cIptvProtocolCurl::Read(unsigned char* bufferAddrP, unsigned int bufferLenP) bool cIptvProtocolCurl::SetSource(const char* locationP, const int parameterP, const int indexP) { - debug("cIptvProtocolCurl::%s(%s, %d, %d)", __FUNCTION__, locationP, parameterP, indexP); + debug1("%s (%s, %d, %d)", __PRETTY_FUNCTION__, locationP, parameterP, indexP); if (!isempty(locationP)) { // Disconnect Disconnect(); @@ -584,7 +585,7 @@ bool cIptvProtocolCurl::SetSource(const char* locationP, const int parameterP, c modeM = eModeFile; else modeM = eModeUnknown; - debug("cIptvProtocolCurl::%s(): %s (%d)", __FUNCTION__, *protocol, modeM); + debug1("%s (%s, %d, %d) protocol=%s mode=%d", __PRETTY_FUNCTION__, locationP, parameterP, indexP, *protocol, modeM); // Update stream parameter - force UDP mode for RTSP streamParamM = (modeM == eModeRtsp) ? 0 : parameterP; // Update listen port @@ -597,12 +598,12 @@ bool cIptvProtocolCurl::SetSource(const char* locationP, const int parameterP, c bool cIptvProtocolCurl::SetPid(int pidP, int typeP, bool onP) { - //debug("cIptvProtocolCurl::%s(%d, %d, %d)", __FUNCTION__, pidP, typeP, onP); + debug16("%s (%d, %d, %d)", __PRETTY_FUNCTION__, pidP, typeP, onP); return true; } cString cIptvProtocolCurl::GetInformation(void) { - //debug("cIptvProtocolCurl::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); return cString::sprintf("%s [%d]", *streamUrlM, streamParamM); } diff --git a/protocolext.c b/protocolext.c index 59d69d3..fcf757c 100644 --- a/protocolext.c +++ b/protocolext.c @@ -17,6 +17,7 @@ #include "common.h" #include "config.h" +#include "log.h" #include "protocolext.h" #ifndef EXTSHELL @@ -29,19 +30,19 @@ cIptvProtocolExt::cIptvProtocolExt() scriptParameterM(0), streamPortM(0) { - debug("cIptvProtocolExt::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } cIptvProtocolExt::~cIptvProtocolExt() { - debug("cIptvProtocolExt::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Drop the socket connection cIptvProtocolExt::Close(); } void cIptvProtocolExt::ExecuteScript(void) { - debug("cIptvProtocolExt::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Check if already executing if (isActiveM || isempty(scriptFileM)) return; @@ -59,7 +60,7 @@ void cIptvProtocolExt::ExecuteScript(void) close(i); // Execute the external script cString cmd = cString::sprintf("%s %d %d", *scriptFileM, scriptParameterM, streamPortM); - debug("cIptvProtocolExt::%s(child): %s", __FUNCTION__, *cmd); + debug1("%s Child %s", __PRETTY_FUNCTION__, *cmd); // Create a new session for a process group ERROR_IF_RET(setsid() == -1, "setsid()", _exit(-1)); if (execl(EXTSHELL, "sh", "-c", *cmd, (char *)NULL) == -1) { @@ -69,13 +70,13 @@ void cIptvProtocolExt::ExecuteScript(void) _exit(0); } else { - debug("cIptvProtocolExt::%s(): pid=%d", __FUNCTION__, pidM); + debug1("%s pid=%d", __PRETTY_FUNCTION__, pidM); } } void cIptvProtocolExt::TerminateScript(void) { - debug("cIptvProtocolExt::%s(): pid=%d", __FUNCTION__, pidM); + debug1("%s pid=%d", __PRETTY_FUNCTION__, pidM); if (!isActiveM || isempty(scriptFileM)) return; if (pidM > 0) { @@ -111,7 +112,7 @@ void cIptvProtocolExt::TerminateScript(void) if (!retval && waitStatus.si_pid && (waitStatus.si_pid == pidM) && ((waitStatus.si_code == CLD_EXITED) || (waitStatus.si_code == CLD_KILLED))) { #endif // __FreeBSD__ - debug("cIptvProtocolExt::%s(): child (%d) exited as expected", __FUNCTION__, pidM); + debug1("%s Child (%d) exited as expected", __PRETTY_FUNCTION__, pidM); waitOver = true; } // Unsuccessful wait, avoid busy looping @@ -124,7 +125,7 @@ void cIptvProtocolExt::TerminateScript(void) bool cIptvProtocolExt::Open(void) { - debug("cIptvProtocolExt::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Reject empty script files if (!strlen(*scriptFileM)) return false; @@ -138,7 +139,7 @@ bool cIptvProtocolExt::Open(void) bool cIptvProtocolExt::Close(void) { - debug("cIptvProtocolExt::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Terminate the external script TerminateScript(); isActiveM = false; @@ -154,7 +155,7 @@ int cIptvProtocolExt::Read(unsigned char* bufferAddrP, unsigned int bufferLenP) bool cIptvProtocolExt::SetSource(const char* locationP, const int parameterP, const int indexP) { - debug("cIptvProtocolExt::%s(%s, %d, %d)", __FUNCTION__, locationP, parameterP, indexP); + debug1("%s (%s, %d, %d)", __PRETTY_FUNCTION__, locationP, parameterP, indexP); if (!isempty(locationP)) { struct stat stbuf; // Update script file and parameter @@ -172,12 +173,12 @@ bool cIptvProtocolExt::SetSource(const char* locationP, const int parameterP, co bool cIptvProtocolExt::SetPid(int pidP, int typeP, bool onP) { - //debug("cIptvProtocolExt::%s(%d, %d, %d)", __FUNCTION__, pidP, typeP, onP); + debug16("%s (%d, %d, %d)", __PRETTY_FUNCTION__, pidP, typeP, onP); return true; } cString cIptvProtocolExt::GetInformation(void) { - //debug("cIptvProtocolExt::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); return cString::sprintf("ext://%s:%d", *scriptFileM, scriptParameterM); } diff --git a/protocolfile.c b/protocolfile.c index 51cd746..de9d132 100644 --- a/protocolfile.c +++ b/protocolfile.c @@ -12,6 +12,7 @@ #include "common.h" #include "config.h" +#include "log.h" #include "protocolfile.h" cIptvProtocolFile::cIptvProtocolFile() @@ -20,12 +21,12 @@ cIptvProtocolFile::cIptvProtocolFile() fileStreamM(NULL), isActiveM(false) { - debug("cIptvProtocolFile::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } cIptvProtocolFile::~cIptvProtocolFile() { - debug("cIptvProtocolFile::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Drop open handles cIptvProtocolFile::Close(); // Free allocated memory @@ -34,7 +35,7 @@ cIptvProtocolFile::~cIptvProtocolFile() bool cIptvProtocolFile::OpenFile(void) { - debug("cIptvProtocolFile::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Check that stream address is valid if (!isActiveM && !isempty(fileLocationM)) { fileStreamM = fopen(fileLocationM, "rb"); @@ -47,7 +48,7 @@ bool cIptvProtocolFile::OpenFile(void) void cIptvProtocolFile::CloseFile(void) { - debug("cIptvProtocolFile::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Check that file stream is valid if (isActiveM && !isempty(fileLocationM)) { fclose(fileStreamM); @@ -58,10 +59,10 @@ void cIptvProtocolFile::CloseFile(void) int cIptvProtocolFile::Read(unsigned char* bufferAddrP, unsigned int bufferLenP) { - //debug("cIptvProtocolFile::%s()", __FUNCTION__); + debug16("%s (, %u)", __PRETTY_FUNCTION__, bufferLenP); // Check errors if (!fileStreamM || ferror(fileStreamM)) { - debug("cIptvProtocolFile::%s(): stream error", __FUNCTION__); + debug1("%s (, %d) Stream error", __PRETTY_FUNCTION__, bufferLenP); return -1; } // Rewind if EOF @@ -81,7 +82,7 @@ int cIptvProtocolFile::Read(unsigned char* bufferAddrP, unsigned int bufferLenP) bool cIptvProtocolFile::Open(void) { - debug("cIptvProtocolFile::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Open the file stream OpenFile(); return true; @@ -89,7 +90,7 @@ bool cIptvProtocolFile::Open(void) bool cIptvProtocolFile::Close(void) { - debug("cIptvProtocolFile::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Close the file stream CloseFile(); return true; @@ -97,7 +98,7 @@ bool cIptvProtocolFile::Close(void) bool cIptvProtocolFile::SetSource(const char* locationP, const int parameterP, const int indexP) { - debug("cIptvProtocolFile::%s(%s, %d, %d)", __FUNCTION__, locationP, parameterP, indexP); + debug1("%s (%s, %d, %d)", __PRETTY_FUNCTION__, locationP, parameterP, indexP); if (!isempty(locationP)) { // Close the file stream CloseFile(); @@ -112,12 +113,12 @@ bool cIptvProtocolFile::SetSource(const char* locationP, const int parameterP, c bool cIptvProtocolFile::SetPid(int pidP, int typeP, bool onP) { - //debug("cIptvProtocolFile::%s(%d, %d, %d)", __FUNCTION__, pidP, typeP, onP); + debug16("%s (%d, %d, %d)", __PRETTY_FUNCTION__, pidP, typeP, onP); return true; } cString cIptvProtocolFile::GetInformation(void) { - //debug("cIptvProtocolFile::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); return cString::sprintf("file://%s:%d", fileLocationM, fileDelayM); } diff --git a/protocolhttp.c b/protocolhttp.c index 3d933aa..9e2f679 100644 --- a/protocolhttp.c +++ b/protocolhttp.c @@ -16,6 +16,7 @@ #include "common.h" #include "config.h" +#include "log.h" #include "protocolhttp.h" cIptvProtocolHttp::cIptvProtocolHttp() @@ -23,12 +24,12 @@ cIptvProtocolHttp::cIptvProtocolHttp() streamPathM(strdup("/")), streamPortM(0) { - debug("cIptvProtocolHttp::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } cIptvProtocolHttp::~cIptvProtocolHttp() { - debug("cIptvProtocolHttp::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Close the socket cIptvProtocolHttp::Close(); // Free allocated memory @@ -38,7 +39,7 @@ cIptvProtocolHttp::~cIptvProtocolHttp() bool cIptvProtocolHttp::Connect(void) { - debug("cIptvProtocolHttp::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Check that stream address is valid if (!isActiveM && !isempty(streamAddrM) && !isempty(streamPathM)) { // Ensure that socket is valid and connect @@ -56,7 +57,7 @@ bool cIptvProtocolHttp::Connect(void) "\r\n", streamPathM, streamAddrM, PLUGIN_NAME_I18N, VERSION); unsigned int len = strlen(*buffer); - debug("cIptvProtocolHttp::%s(): requesting %d: %s", __FUNCTION__, len, *buffer); + debug1("%s Requesting %d: %s", __PRETTY_FUNCTION__, len, *buffer); if (!Write(*buffer, len)) { CloseSocket(); return false; @@ -74,7 +75,7 @@ bool cIptvProtocolHttp::Connect(void) bool cIptvProtocolHttp::Disconnect(void) { - debug("cIptvProtocolHttp::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); if (isActiveM) { // Close the socket CloseSocket(); @@ -87,7 +88,7 @@ bool cIptvProtocolHttp::Disconnect(void) bool cIptvProtocolHttp::GetHeaderLine(char* destP, unsigned int destLenP, unsigned int &recvLenP) { - debug("cIptvProtocolHttp::%s()", __FUNCTION__); + debug1("%s (, %u, )", __PRETTY_FUNCTION__, destLenP); bool linefeed = false; bool newline = false; char *bufptr = destP; @@ -128,7 +129,7 @@ bool cIptvProtocolHttp::GetHeaderLine(char* destP, unsigned int destLenP, bool cIptvProtocolHttp::ProcessHeaders(void) { - debug("cIptvProtocolHttp::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); unsigned int lineLength = 0; int version = 0, response = 0; bool responseFound = false; @@ -159,14 +160,14 @@ bool cIptvProtocolHttp::ProcessHeaders(void) bool cIptvProtocolHttp::Open(void) { - debug("cIptvProtocolHttp::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Connect the socket return Connect(); } bool cIptvProtocolHttp::Close(void) { - debug("cIptvProtocolHttp::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Disconnect the current stream Disconnect(); return true; @@ -179,7 +180,7 @@ int cIptvProtocolHttp::Read(unsigned char* bufferAddrP, unsigned int bufferLenP) bool cIptvProtocolHttp::SetSource(const char* locationP, const int parameterP, const int indexP) { - debug("cIptvProtocolHttp::%s(%s, %d, %d)", __FUNCTION__, locationP, parameterP, indexP); + debug1("%s (%s, %d, %d)", __PRETTY_FUNCTION__, locationP, parameterP, indexP); if (!isempty(locationP)) { // Disconnect the current socket Disconnect(); @@ -201,12 +202,12 @@ bool cIptvProtocolHttp::SetSource(const char* locationP, const int parameterP, c bool cIptvProtocolHttp::SetPid(int pidP, int typeP, bool onP) { - //debug("cIptvProtocolHttp::%s(%d, %d, %d)", __FUNCTION__, pidP, typeP, onP); + debug16("%s (%d, %d, %d)", __PRETTY_FUNCTION__, pidP, typeP, onP); return true; } cString cIptvProtocolHttp::GetInformation(void) { - //debug("cIptvProtocolHttp::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); return cString::sprintf("http://%s:%d%s", streamAddrM, streamPortM, streamPathM); } diff --git a/protocoludp.c b/protocoludp.c index a83845e..9767f10 100644 --- a/protocoludp.c +++ b/protocoludp.c @@ -15,8 +15,9 @@ #include "common.h" #include "config.h" -#include "protocoludp.h" +#include "log.h" #include "socket.h" +#include "protocoludp.h" cIptvProtocolUdp::cIptvProtocolUdp() : isIGMPv3M(false), @@ -24,12 +25,12 @@ cIptvProtocolUdp::cIptvProtocolUdp() streamAddrM(strdup("")), streamPortM(0) { - debug("cIptvProtocolUdp::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } cIptvProtocolUdp::~cIptvProtocolUdp() { - debug("cIptvProtocolUdp::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Drop the multicast group and close the socket cIptvProtocolUdp::Close(); // Free allocated memory @@ -39,7 +40,7 @@ cIptvProtocolUdp::~cIptvProtocolUdp() bool cIptvProtocolUdp::Open(void) { - debug("cIptvProtocolUdp::%s(%s)", __FUNCTION__, streamAddrM); + debug1("%s streamAddr='%s'", __PRETTY_FUNCTION__, streamAddrM); OpenSocket(streamPortM, streamAddrM, sourceAddrM, isIGMPv3M); if (!isempty(streamAddrM)) { // Join a new multicast group @@ -50,7 +51,7 @@ bool cIptvProtocolUdp::Open(void) bool cIptvProtocolUdp::Close(void) { - debug("cIptvProtocolUdp::%s(%s)", __FUNCTION__, streamAddrM); + debug1("%s streamAddr='%s'", __PRETTY_FUNCTION__, streamAddrM); if (!isempty(streamAddrM)) { // Drop the multicast group OpenSocket(streamPortM, streamAddrM, sourceAddrM, isIGMPv3M); @@ -72,7 +73,7 @@ int cIptvProtocolUdp::Read(unsigned char* bufferAddrP, unsigned int bufferLenP) bool cIptvProtocolUdp::SetSource(const char* locationP, const int parameterP, const int indexP) { - debug("cIptvProtocolUdp::%s(%s, %d, %d)", __FUNCTION__, locationP, parameterP, indexP); + debug1("%s (%s, %d, %d)", __PRETTY_FUNCTION__, locationP, parameterP, indexP); if (!isempty(locationP)) { // Drop the multicast group if (!isempty(streamAddrM)) { @@ -105,13 +106,13 @@ bool cIptvProtocolUdp::SetSource(const char* locationP, const int parameterP, co bool cIptvProtocolUdp::SetPid(int pidP, int typeP, bool onP) { - //debug("cIptvProtocolUdp::%s(%d, %d, %d)", __FUNCTION__, pidP, typeP, onP); + debug16("%s (%d, %d, %d)", __PRETTY_FUNCTION__, pidP, typeP, onP); return true; } cString cIptvProtocolUdp::GetInformation(void) { - //debug("cIptvProtocolUdp::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); if (isIGMPv3M) return cString::sprintf("udp://%s@%s:%d", sourceAddrM, streamAddrM, streamPortM); return cString::sprintf("udp://%s:%d", streamAddrM, streamPortM); diff --git a/sectionfilter.c b/sectionfilter.c index 98a0fdf..49b7bcd 100644 --- a/sectionfilter.c +++ b/sectionfilter.c @@ -6,6 +6,7 @@ */ #include "config.h" +#include "log.h" #include "sectionfilter.h" cIptvSectionFilter::cIptvSectionFilter(int deviceIndexP, uint16_t pidP, uint8_t tidP, uint8_t maskP) @@ -20,7 +21,7 @@ cIptvSectionFilter::cIptvSectionFilter(int deviceIndexP, uint16_t pidP, uint8_t ringBufferM(new cRingBufferFrame(eDmxMaxSectionCount * eDmxMaxSectionSize)), deviceIndexM(deviceIndexP) { - //debug("cIptvSectionFilter::%s(%d, %d)", __FUNCTION__, deviceIndexM, pidM); + debug16("%s (%d, %d)", __PRETTY_FUNCTION__, deviceIndexM, pidM); int i; memset(secBufBaseM, 0, sizeof(secBufBaseM)); @@ -61,7 +62,7 @@ cIptvSectionFilter::cIptvSectionFilter(int deviceIndexP, uint16_t pidP, uint8_t cIptvSectionFilter::~cIptvSectionFilter() { - //debug("cIptvSectionFilter::%s(%d, %d)", __FUNCTION__, deviceIndexM, pidM); + debug16("%s (%d, %d)", __PRETTY_FUNCTION__, deviceIndexM, pidM); int tmp = socketM[1]; socketM[1] = -1; if (tmp >= 0) @@ -236,7 +237,7 @@ cIptvSectionFilterHandler::cIptvSectionFilterHandler(int deviceIndexP, unsigned mutexM(), deviceIndexM(deviceIndexP) { - debug("cIptvSectionFilterHandler::%s(%d)", __FUNCTION__, deviceIndexM); + debug1("%s (%d, %d) [device %d]", __PRETTY_FUNCTION__, deviceIndexP, bufferLenP, deviceIndexM); // Initialize filter pointers memset(filtersM, 0, sizeof(filtersM)); @@ -254,7 +255,7 @@ cIptvSectionFilterHandler::cIptvSectionFilterHandler(int deviceIndexP, unsigned cIptvSectionFilterHandler::~cIptvSectionFilterHandler() { - debug("cIptvSectionFilterHandler::%s(%d)", __FUNCTION__, deviceIndexM); + debug1("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); // Stop thread if (Running()) Cancel(3); @@ -268,7 +269,7 @@ cIptvSectionFilterHandler::~cIptvSectionFilterHandler() void cIptvSectionFilterHandler::Action(void) { - debug("cIptvSectionFilterHandler::%s(%d): entering", __FUNCTION__, deviceIndexM); + debug1("%s Entering [device %d]", __PRETTY_FUNCTION__, deviceIndexM); bool processed = false; // Do the thread loop while (Running()) { @@ -299,7 +300,7 @@ void cIptvSectionFilterHandler::Action(void) } } ringBufferM->Del(len); - debug("cIptvSectionFilterHandler::%s(%d): Skipped %d bytes to sync on TS packet", __FUNCTION__, deviceIndexM, len); + debug1("%s Skipped %d bytes to sync on TS packet [device %d]]", __PRETTY_FUNCTION__, len, deviceIndexM); continue; } // Process TS packet through all filters @@ -315,12 +316,12 @@ void cIptvSectionFilterHandler::Action(void) } cCondWait::SleepMs(10); // to avoid busy loop and reduce cpu load } - debug("cIptvSectionFilterHandler::%s(%d): exiting", __FUNCTION__, deviceIndexM); + debug1("%s Exiting [device %d]", __PRETTY_FUNCTION__, deviceIndexM); } cString cIptvSectionFilterHandler::GetInformation(void) { - //debug("cIptvSectionFilterHandler::%s(%d)", __FUNCTION__, deviceIndexM); + debug16("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM); // loop through active section filters cMutexLock MutexLock(&mutexM); cString s = ""; @@ -339,9 +340,9 @@ cString cIptvSectionFilterHandler::GetInformation(void) bool cIptvSectionFilterHandler::Delete(unsigned int indexP) { - //debug("cIptvSectionFilterHandler::%s(%d): index=%d", __FUNCTION__, deviceIndexM, indexP); + debug16("%s (%d) [device %d]", __PRETTY_FUNCTION__, indexP, deviceIndexM); if ((indexP < eMaxSecFilterCount) && filtersM[indexP]) { - //debug("cIptvSectionFilterHandler::%s(%d): found %d", __FUNCTION__, deviceIndexM, indexP); + debug16("%s (%d) Found [device %d]", __PRETTY_FUNCTION__, indexP, deviceIndexM); cIptvSectionFilter *tmp = filtersM[indexP]; filtersM[indexP] = NULL; delete tmp; @@ -352,7 +353,7 @@ bool cIptvSectionFilterHandler::Delete(unsigned int indexP) bool cIptvSectionFilterHandler::IsBlackListed(u_short pidP, u_char tidP, u_char maskP) const { - //debug("cIptvSectionFilterHandler::%s(%d): pid=%d tid=%02X mask=%02X", __FUNCTION__, deviceIndexM, pidP, tidP, maskP); + debug16("%s (%d, %02X, %02X) [device %d]", __PRETTY_FUNCTION__, pidP, tidP, maskP, deviceIndexM); // loop through section filter table for (int i = 0; i < SECTION_FILTER_TABLE_SIZE; ++i) { int index = IptvConfig.GetDisabledFilters(i); @@ -360,7 +361,7 @@ bool cIptvSectionFilterHandler::IsBlackListed(u_short pidP, u_char tidP, u_char if ((index >= 0) && (index < SECTION_FILTER_TABLE_SIZE) && (section_filter_table[index].pid == pidP) && (section_filter_table[index].tid == tidP) && (section_filter_table[index].mask == maskP)) { - //debug("cIptvSectionFilterHandler::%s(%d): found %s", __FUNCTION__, deviceIndexM, section_filter_table[index].description); + debug16("%s (%d, %02X, %02X) Found %s [device %d]", __PRETTY_FUNCTION__, pidP, tidP, maskP, section_filter_table[index].description, deviceIndexM); return true; } } @@ -378,7 +379,7 @@ int cIptvSectionFilterHandler::Open(u_short pidP, u_char tidP, u_char maskP) for (unsigned int i = 0; i < eMaxSecFilterCount; ++i) { if (!filtersM[i]) { filtersM[i] = new cIptvSectionFilter(deviceIndexM, pidP, tidP, maskP); - //debug("cIptvSectionFilterHandler::%s(%d): pid=%d tid=%02X mask=%02X handle=%d index=%u", __FUNCTION__, deviceIndexM, pidP, tidP, maskP, filtersM[i]->GetFd(), i); + debug16("%s (%d, %02X, %02X) handle=%d index=%u [device %d]", __PRETTY_FUNCTION__, pidP, tidP, maskP, filtersM[i]->GetFd(), i, deviceIndexM); return filtersM[i]->GetFd(); } } @@ -393,7 +394,7 @@ void cIptvSectionFilterHandler::Close(int handleP) // Search the filter for deletion for (unsigned int i = 0; i < eMaxSecFilterCount; ++i) { if (filtersM[i] && (handleP == filtersM[i]->GetFd())) { - debug("cIptvSectionFilterHandler::%s(%d): pid=%d handle=%d index=%d", __FUNCTION__, deviceIndexM, filtersM[i]->GetPid(), filtersM[i]->GetFd(), i); + debug1("%s (%d) pid=%d handle=%d index=%d [device %d]", __PRETTY_FUNCTION__, handleP, filtersM[i]->GetPid(), filtersM[i]->GetFd(), i, deviceIndexM); Delete(i); break; } @@ -407,7 +408,7 @@ int cIptvSectionFilterHandler::GetPid(int handleP) // Search the filter for data for (unsigned int i = 0; i < eMaxSecFilterCount; ++i) { if (filtersM[i] && (handleP == filtersM[i]->GetFd())) { - debug("cIptvSectionFilterHandler::%s(%d): pid=%d handle=%d index=%d", __FUNCTION__, deviceIndexM, filtersM[i]->GetPid(), filtersM[i]->GetFd(), i); + debug1("%s (%d) pid=%d handle=%d index=%d [device %d]", __PRETTY_FUNCTION__, handleP, filtersM[i]->GetPid(), filtersM[i]->GetFd(), i, deviceIndexM); return filtersM[i]->GetPid(); } } @@ -416,7 +417,7 @@ int cIptvSectionFilterHandler::GetPid(int handleP) void cIptvSectionFilterHandler::Write(uchar *bufferP, int lengthP) { - //debug("cIptvSectionFilterHandler::%s(%d): length=%d", __FUNCTION__, deviceIndexM, lengthP); + debug16("%s (, %d) [device %d]", __PRETTY_FUNCTION__, lengthP, deviceIndexM); // Fill up the buffer if (ringBufferM) { int len = ringBufferM->Put(bufferP, lengthP); diff --git a/setup.c b/setup.c index 1fd35e5..9fb2547 100644 --- a/setup.c +++ b/setup.c @@ -112,7 +112,7 @@ eOSState cIptvMenuInfo::ProcessKey(eKeys keyP) cIptvPluginSetup::cIptvPluginSetup() { - debug("cIptvPluginSetup::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); protocolBasePortM = IptvConfig.GetProtocolBasePort(); sectionFilteringM = IptvConfig.GetSectionFiltering(); numDisabledFiltersM = IptvConfig.GetDisabledFiltersCount(); @@ -156,7 +156,7 @@ void cIptvPluginSetup::Setup(void) eOSState cIptvPluginSetup::ShowInfo(void) { - debug("cIptvPluginSetup::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); if (HasSubMenu()) return osContinue; return AddSubMenu(new cIptvMenuInfo()); @@ -201,7 +201,7 @@ void cIptvPluginSetup::StoreFilters(const char *nameP, int *valuesP) q += strlen(s); } *q = 0; - debug("cIptvPluginSetup::%s(%s, %s)", __FUNCTION__, nameP, buffer); + debug1("%s (%s, %s)", __PRETTY_FUNCTION__, nameP, buffer); SetupStore(nameP, buffer); } diff --git a/sidscanner.c b/sidscanner.c index fc626ea..098d51d 100644 --- a/sidscanner.c +++ b/sidscanner.c @@ -17,19 +17,19 @@ cSidScanner::cSidScanner(void) tidFoundM(false), isActiveM(false) { - debug("cSidScanner::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); Set(0x00, 0x00); // PAT Set(0x10, 0x40); // NIT } cSidScanner::~cSidScanner() { - debug("cSidScanner::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } void cSidScanner::SetChannel(const tChannelID &channelIdP) { - debug("cSidScanner::%s(%s)", __FUNCTION__, *channelIdP.ToString()); + debug1("%s (%s)", __PRETTY_FUNCTION__, *channelIdP.ToString()); channelIdM = channelIdP; sidFoundM = false; nidFoundM = false; @@ -40,12 +40,12 @@ void cSidScanner::Process(u_short pidP, u_char tidP, const u_char *dataP, int le { int newSid = -1, newNid = -1, newTid = -1; - //debug("cSidScanner::%s()", __FUNCTION__); + debug16("%s (%d, %02X, , %d)", __PRETTY_FUNCTION__, pidP, tidP, lengthP); if (!isActiveM) return; if (channelIdM.Valid()) { if ((pidP == 0x00) && (tidP == 0x00)) { - //debug("cSidScanner::%s(%d, %02X)", __FUNCTION__, pidP, tidP); + debug16("%s (%d, %02X, , %d) pat", __PRETTY_FUNCTION__, pidP, tidP, lengthP); SI::PAT pat(dataP, false); if (!pat.CheckCRCAndParse()) return; @@ -53,7 +53,7 @@ void cSidScanner::Process(u_short pidP, u_char tidP, const u_char *dataP, int le for (SI::Loop::Iterator it; pat.associationLoop.getNext(assoc, it); ) { if (!assoc.isNITPid()) { if (assoc.getServiceId() != channelIdM.Sid()) { - debug("cSidScanner::%s(): sid=%d", __FUNCTION__, assoc.getServiceId()); + debug1("%s (%d, %02X, , %d) sid=%d", __PRETTY_FUNCTION__, pidP, tidP, lengthP, assoc.getServiceId()); newSid = assoc.getServiceId(); } sidFoundM = true; @@ -62,19 +62,19 @@ void cSidScanner::Process(u_short pidP, u_char tidP, const u_char *dataP, int le } } else if ((pidP == 0x10) && (tidP == 0x40)) { - debug("cSidScanner::%s(%d, %02X)", __FUNCTION__, pidP, tidP); + debug1("%s (%d, %02X, , %d)", __PRETTY_FUNCTION__, pidP, tidP, lengthP); SI::NIT nit(dataP, false); if (!nit.CheckCRCAndParse()) return; SI::NIT::TransportStream ts; for (SI::Loop::Iterator it; nit.transportStreamLoop.getNext(ts, it); ) { if (ts.getTransportStreamId() != channelIdM.Tid()) { - debug("cSidScanner::%s(): tsid=%d", __FUNCTION__, ts.getTransportStreamId()); + debug1("%s (%d, %02X, , %d) tsid=%d", __PRETTY_FUNCTION__, pidP, tidP, lengthP, ts.getTransportStreamId()); newTid = ts.getTransportStreamId(); tidFoundM = true; } if (ts.getOriginalNetworkId() != channelIdM.Nid()) { - debug("cSidScanner::%s(): onid=%d", __FUNCTION__, ts.getOriginalNetworkId()); + debug1("%s (%d, %02X, , %d) onid=%d", __PRETTY_FUNCTION__, pidP, tidP, lengthP, ts.getOriginalNetworkId()); newNid = ts.getOriginalNetworkId(); nidFoundM = true; } @@ -82,7 +82,7 @@ void cSidScanner::Process(u_short pidP, u_char tidP, const u_char *dataP, int le } // fallback for network id if not found already if (!nidFoundM && (nit.getNetworkId() != channelIdM.Nid())) { - debug("cSidScanner::%s(): nid=%d", __FUNCTION__, nit.getNetworkId()); + debug1("%s (%d, %02X, , %d) nid=%d", __PRETTY_FUNCTION__, pidP, tidP, lengthP, nit.getNetworkId()); newNid = nit.getNetworkId(); nidFoundM = true; } diff --git a/sidscanner.h b/sidscanner.h index 5649232..9e315dc 100644 --- a/sidscanner.h +++ b/sidscanner.h @@ -11,6 +11,8 @@ #include #include +#include "log.h" + class cSidScanner : public cFilter { private: tChannelID channelIdM; @@ -26,8 +28,8 @@ public: cSidScanner(void); ~cSidScanner(); void SetChannel(const tChannelID &channelIdP); - void Open() { debug("cSidScanner::%s()", __FUNCTION__); isActiveM = true; } - void Close() { debug("cSidScanner::%s()", __FUNCTION__); isActiveM = false; } + void Open() { debug1("%s", __PRETTY_FUNCTION__); isActiveM = true; } + void Close() { debug1("%s", __PRETTY_FUNCTION__); isActiveM = false; } }; #endif // __SIDSCANNER_H diff --git a/socket.c b/socket.c index 8137719..0e1e8ae 100644 --- a/socket.c +++ b/socket.c @@ -16,6 +16,7 @@ #include "common.h" #include "config.h" +#include "log.h" #include "socket.h" cIptvSocket::cIptvSocket() @@ -26,24 +27,24 @@ cIptvSocket::cIptvSocket() sequenceNumberM(-1), isActiveM(false) { - debug("cIptvSocket::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); memset(&sockAddrM, 0, sizeof(sockAddrM)); } cIptvSocket::~cIptvSocket() { - debug("cIptvSocket::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Close the socket CloseSocket(); } bool cIptvSocket::OpenSocket(const int portP, const bool isUdpP) { - debug("cIptvSocket::%s(%d, %d)", __FUNCTION__, portP, isUdpP); + debug1("%s (%d, %d)", __PRETTY_FUNCTION__, portP, isUdpP); // If socket is there already and it is bound to a different port, it must // be closed first if (portP != socketPortM) { - debug("cIptvSocket::%s(): socket tear-down", __FUNCTION__); + debug1("%s (%d, %d) Socket tear-down", __PRETTY_FUNCTION__, portP, isUdpP); CloseSocket(); } // Bind to the socket if it is not active already @@ -82,7 +83,7 @@ bool cIptvSocket::OpenSocket(const int portP, const bool isUdpP) void cIptvSocket::CloseSocket(void) { - debug("cIptvSocket::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Check if socket exists if (socketDescM >= 0) { close(socketDescM); @@ -91,7 +92,7 @@ void cIptvSocket::CloseSocket(void) memset(&sockAddrM, 0, sizeof(sockAddrM)); } if (packetErrorsM) { - info("detected %d RTP packet errors", packetErrorsM); + info("Detected %d RTP packet errors", packetErrorsM); packetErrorsM = 0; lastErrorReportM = time(NULL); } @@ -103,7 +104,7 @@ bool cIptvSocket::CheckAddress(const char *addrP, in_addr_t *inAddrP) // First try only the IP address *inAddrP = inet_addr(addrP); if (*inAddrP == htonl(INADDR_NONE)) { - debug("cIptvSocket::%s(%s): cannot convert to address", __FUNCTION__, addrP); + debug1("%s (%s, ) Cannot convert to address", __PRETTY_FUNCTION__, addrP); // It may be a host name, get the name struct hostent *host = gethostbyname(addrP); if (!host) { @@ -125,17 +126,17 @@ cIptvUdpSocket::cIptvUdpSocket() sourceAddrM(htonl(INADDR_ANY)), useIGMPv3M(false) { - debug("cIptvUdpSocket::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } cIptvUdpSocket::~cIptvUdpSocket() { - debug("cIptvUdpSocket::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } bool cIptvUdpSocket::OpenSocket(const int portP) { - debug("cIptvUdpSocket::%s()", __FUNCTION__); + debug1("%s (%d)", __PRETTY_FUNCTION__, portP); streamAddrM = htonl(INADDR_ANY); sourceAddrM = htonl(INADDR_ANY); useIGMPv3M = false; @@ -144,7 +145,7 @@ bool cIptvUdpSocket::OpenSocket(const int portP) bool cIptvUdpSocket::OpenSocket(const int portP, const char *streamAddrP, const char *sourceAddrP, bool useIGMPv3P) { - debug("cIptvUdpSocket::%s(%d, %s, %s, %d)", __FUNCTION__, portP, streamAddrP, sourceAddrP, useIGMPv3P); + debug1("%s (%d, %s, %s, %d)", __PRETTY_FUNCTION__, portP, streamAddrP, sourceAddrP, useIGMPv3P); CheckAddress(streamAddrP, &streamAddrM); CheckAddress(sourceAddrP, &sourceAddrM); useIGMPv3M = useIGMPv3P; @@ -153,7 +154,7 @@ bool cIptvUdpSocket::OpenSocket(const int portP, const char *streamAddrP, const void cIptvUdpSocket::CloseSocket(void) { - debug("cIptvUdpSocket::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); streamAddrM = htonl(INADDR_ANY); sourceAddrM = htonl(INADDR_ANY); useIGMPv3M = false; @@ -162,7 +163,7 @@ void cIptvUdpSocket::CloseSocket(void) bool cIptvUdpSocket::JoinMulticast(void) { - debug("cIptvUdpSocket::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Check if socket exists if (!isActiveM && (socketDescM >= 0)) { // Join a new multicast group @@ -196,7 +197,7 @@ bool cIptvUdpSocket::JoinMulticast(void) bool cIptvUdpSocket::DropMulticast(void) { - debug("cIptvUdpSocket::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Check if socket exists if (isActiveM && (socketDescM >= 0)) { // Drop the existing multicast group @@ -231,10 +232,10 @@ bool cIptvUdpSocket::DropMulticast(void) int cIptvUdpSocket::Read(unsigned char *bufferAddrP, unsigned int bufferLenP) { - //debug("cIptvUdpSocket::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); // Error out if socket not initialized if (socketDescM <= 0) { - error("Invalid socket in cIptvUdpSocket::%s()", __FUNCTION__); + error("%s Invalid socket", __PRETTY_FUNCTION__); return -1; } int len = 0; @@ -289,7 +290,7 @@ int cIptvUdpSocket::Read(unsigned char *bufferAddrP, unsigned int bufferLenP) else if ((sequenceNumberM >= 0) && (((sequenceNumberM + 1) % 0xFFFF) != seq)) { packetErrorsM++; if (time(NULL) - lastErrorReportM > eReportIntervalS) { - info("detected %d RTP packet errors", packetErrorsM); + info("Detected %d RTP packet errors", packetErrorsM); packetErrorsM = 0; lastErrorReportM = time(NULL); } @@ -330,30 +331,30 @@ int cIptvUdpSocket::Read(unsigned char *bufferAddrP, unsigned int bufferLenP) // TCP socket class cIptvTcpSocket::cIptvTcpSocket() { - debug("cIptvTcpSocket::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } cIptvTcpSocket::~cIptvTcpSocket() { - debug("cIptvTcpSocket::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } bool cIptvTcpSocket::OpenSocket(const int portP, const char *streamAddrP) { - debug("cIptvTcpSocket::%s(%d, %s)", __FUNCTION__, portP, streamAddrP); + debug1("%s (%d, %s)", __PRETTY_FUNCTION__, portP, streamAddrP); // Socket must be opened before setting the host address return (cIptvSocket::OpenSocket(portP, false) && CheckAddress(streamAddrP, &sockAddrM.sin_addr.s_addr)); } void cIptvTcpSocket::CloseSocket(void) { - debug("cIptvTcpSocket::%s()", __FUNCTION__); + debug1("%s()", __PRETTY_FUNCTION__); cIptvSocket::CloseSocket(); } bool cIptvTcpSocket::ConnectSocket(void) { - debug("cIptvTcpSocket::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); if (!isActiveM && (socketDescM >= 0)) { int retval = connect(socketDescM, (struct sockaddr *)&sockAddrM, sizeof(sockAddrM)); // Non-blocking sockets always report in-progress error when connected @@ -379,10 +380,10 @@ bool cIptvTcpSocket::ConnectSocket(void) int cIptvTcpSocket::Read(unsigned char *bufferAddrP, unsigned int bufferLenP) { - //debug("cIptvTcpSocket::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); // Error out if socket not initialized if (socketDescM <= 0) { - error("Invalid socket in cIptvTcpSocket::%s()", __FUNCTION__); + error("%s Invalid socket", __PRETTY_FUNCTION__); return -1; } int len = 0; @@ -396,10 +397,10 @@ int cIptvTcpSocket::Read(unsigned char *bufferAddrP, unsigned int bufferLenP) bool cIptvTcpSocket::ReadChar(char *bufferAddrP, unsigned int timeoutMsP) { - //debug("cIptvTcpSocket::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); // Error out if socket not initialized if (socketDescM <= 0) { - error("Invalid socket in cIptvTcpSocket::%s()", __FUNCTION__); + error("%s Invalid socket", __PRETTY_FUNCTION__); return false; } socklen_t addrlen = sizeof(sockAddrM); @@ -421,10 +422,10 @@ bool cIptvTcpSocket::ReadChar(char *bufferAddrP, unsigned int timeoutMsP) bool cIptvTcpSocket::Write(const char *bufferAddrP, unsigned int bufferLenP) { - //debug("cIptvTcpSocket::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); // Error out if socket not initialized if (socketDescM <= 0) { - error("cIptvTcpSocket::%s(): Invalid socket", __FUNCTION__); + error("%s Invalid socket", __PRETTY_FUNCTION__); return false; } ERROR_IF_RET(send(socketDescM, bufferAddrP, bufferLenP, 0) < 0, "send()", return false); diff --git a/source.c b/source.c index 6ccab65..f737107 100644 --- a/source.c +++ b/source.c @@ -6,7 +6,9 @@ */ #include + #include "common.h" +#include "log.h" #include "source.h" // --- cIptvTransponderParameters -------------------------------------------- @@ -17,7 +19,7 @@ cIptvTransponderParameters::cIptvTransponderParameters(const char *parametersP) protocolM(eProtocolUDP), parameterM(0) { - debug("cIptvTransponderParameters::%s(%s)", __FUNCTION__, parametersP); + debug1("%s (%s)", __PRETTY_FUNCTION__, parametersP); memset(&addressM, 0, sizeof(addressM)); Parse(parametersP); @@ -25,7 +27,7 @@ cIptvTransponderParameters::cIptvTransponderParameters(const char *parametersP) cString cIptvTransponderParameters::ToString(char typeP) const { - debug("cIptvTransponderParameters::%s(%c)", __FUNCTION__, typeP); + debug1("%s (%c)", __PRETTY_FUNCTION__, typeP); const char *protocolstr; @@ -52,7 +54,7 @@ cString cIptvTransponderParameters::ToString(char typeP) const bool cIptvTransponderParameters::Parse(const char *strP) { - debug("cIptvTransponderParameters::%s(%s)", __FUNCTION__, strP); + debug1("%s (%s)", __PRETTY_FUNCTION__, strP); bool result = false; if (strP && *strP) { @@ -140,7 +142,7 @@ cIptvSourceParam::cIptvSourceParam(char sourceP, const char *descriptionP) dataM(), itpM() { - debug("cIptvSourceParam::%s(%c, %s)", __FUNCTION__, sourceP, descriptionP); + debug1("%s (%c, %s)", __PRETTY_FUNCTION__, sourceP, descriptionP); protocolsM[cIptvTransponderParameters::eProtocolUDP] = tr("UDP"); protocolsM[cIptvTransponderParameters::eProtocolCURL] = tr("CURL"); @@ -151,7 +153,7 @@ cIptvSourceParam::cIptvSourceParam(char sourceP, const char *descriptionP) void cIptvSourceParam::SetData(cChannel *channelP) { - debug("cIptvSourceParam::%s(%s)", __FUNCTION__, channelP->Parameters()); + debug1("%s (%s)", __PRETTY_FUNCTION__, channelP->Parameters()); dataM = *channelP; ridM = dataM.Rid(); itpM.Parse(dataM.Parameters()); @@ -160,14 +162,14 @@ void cIptvSourceParam::SetData(cChannel *channelP) void cIptvSourceParam::GetData(cChannel *channelP) { - debug("cIptvSourceParam::%s(%s)", __FUNCTION__, channelP->Parameters()); + debug1("%s (%s)", __PRETTY_FUNCTION__, channelP->Parameters()); channelP->SetTransponderData(channelP->Source(), channelP->Frequency(), dataM.Srate(), itpM.ToString(Source()), true); channelP->SetId(channelP->Nid(), channelP->Tid(), channelP->Sid(), ridM); } cOsdItem *cIptvSourceParam::GetOsdItem(void) { - debug("cIptvSourceParam::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); switch (paramM++) { case 0: return new cMenuEditIntItem( tr("Rid"), &ridM, 0); case 1: return new cMenuEditBoolItem(tr("Scan section ids"), &itpM.sidScanM); diff --git a/statistics.c b/statistics.c index 139cd3b..a1b37bd 100644 --- a/statistics.c +++ b/statistics.c @@ -8,8 +8,9 @@ #include #include "common.h" -#include "statistics.h" #include "config.h" +#include "log.h" +#include "statistics.h" // Section statistics class cIptvSectionStatistics::cIptvSectionStatistics() @@ -18,17 +19,17 @@ cIptvSectionStatistics::cIptvSectionStatistics() timerM(), mutexM() { - //debug("cIptvSectionStatistics::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); } cIptvSectionStatistics::~cIptvSectionStatistics() { - //debug("cIptvSectionStatistics::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); } cString cIptvSectionStatistics::GetSectionStatistic() { - //debug("cIptvSectionStatistics::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); cMutexLock MutexLock(&mutexM); uint64_t elapsed = timerM.Elapsed(); /* in milliseconds */ timerM.Set(); @@ -44,7 +45,7 @@ cString cIptvSectionStatistics::GetSectionStatistic() void cIptvSectionStatistics::AddSectionStatistic(long bytesP, long callsP) { - //debug("cIptvSectionStatistics::%s(%ld, %ld)", __FUNCTION__, bytesP, callsP); + debug16("%s (%ld, %ld)", __PRETTY_FUNCTION__, bytesP, callsP); cMutexLock MutexLock(&mutexM); filteredDataM += bytesP; numberOfCallsM += callsP; @@ -57,7 +58,7 @@ cIptvPidStatistics::cIptvPidStatistics() : timerM(), mutexM() { - debug("cIptvPidStatistics::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); const int numberOfElements = sizeof(mostActivePidsM) / sizeof(pidStruct); for (int i = 0; i < numberOfElements; ++i) { mostActivePidsM[i].pid = -1; @@ -67,12 +68,12 @@ cIptvPidStatistics::cIptvPidStatistics() cIptvPidStatistics::~cIptvPidStatistics() { - debug("cIptvPidStatistics::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } cString cIptvPidStatistics::GetPidStatistic() { - //debug("cIptvPidStatistics::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); cMutexLock MutexLock(&mutexM); const int numberOfElements = sizeof(mostActivePidsM) / sizeof(pidStruct); uint64_t elapsed = timerM.Elapsed(); /* in milliseconds */ @@ -97,7 +98,7 @@ cString cIptvPidStatistics::GetPidStatistic() int cIptvPidStatistics::SortPids(const void* data1P, const void* data2P) { - //debug("cIptvPidStatistics::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); const pidStruct *comp1 = reinterpret_cast(data1P); const pidStruct *comp2 = reinterpret_cast(data2P); if (comp1->dataAmount > comp2->dataAmount) @@ -109,7 +110,7 @@ int cIptvPidStatistics::SortPids(const void* data1P, const void* data2P) void cIptvPidStatistics::AddPidStatistic(int pidP, long payloadP) { - //debug("cIptvPidStatistics::%s(%ld, %ld)", __FUNCTION__, pidP, payloadP); + debug16("%s (%d, %ld)", __PRETTY_FUNCTION__, pidP, payloadP); cMutexLock MutexLock(&mutexM); const int numberOfElements = sizeof(mostActivePidsM) / sizeof(pidStruct); // If our statistic already is in the array, update it and quit @@ -139,17 +140,17 @@ cIptvStreamerStatistics::cIptvStreamerStatistics() timerM(), mutexM() { - debug("cIptvStreamerStatistics::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } cIptvStreamerStatistics::~cIptvStreamerStatistics() { - debug("cIptvStreamerStatistics::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } cString cIptvStreamerStatistics::GetStreamerStatistic() { - //debug("cIptvStreamerStatistics::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); cMutexLock MutexLock(&mutexM); uint64_t elapsed = timerM.Elapsed(); /* in milliseconds */ timerM.Set(); @@ -163,7 +164,7 @@ cString cIptvStreamerStatistics::GetStreamerStatistic() void cIptvStreamerStatistics::AddStreamerStatistic(long bytesP) { - //debug("cIptvStreamerStatistics::%s(%ld)", __FUNCTION__, bytesP); + debug16("%s (%ld)", __PRETTY_FUNCTION__, bytesP); cMutexLock MutexLock(&mutexM); dataBytesM += bytesP; } @@ -177,17 +178,17 @@ cIptvBufferStatistics::cIptvBufferStatistics() timerM(), mutexM() { - debug("cIptvBufferStatistics::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } cIptvBufferStatistics::~cIptvBufferStatistics() { - debug("cIptvBufferStatistics::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); } cString cIptvBufferStatistics::GetBufferStatistic() { - //debug("cIptvBufferStatistics::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); cMutexLock MutexLock(&mutexM); uint64_t elapsed = timerM.Elapsed(); /* in milliseconds */ timerM.Set(); @@ -211,7 +212,7 @@ cString cIptvBufferStatistics::GetBufferStatistic() void cIptvBufferStatistics::AddBufferStatistic(long bytesP, long usedP) { - //debug("cIptvBufferStatistics::%s(%ld, %ld)", __FUNCTION__, bytesP, usedP); + debug16("%s (%ld, %ld)", __PRETTY_FUNCTION__, bytesP, usedP); cMutexLock MutexLock(&mutexM); dataBytesM += bytesP; if (usedP > usedSpaceM) diff --git a/streamer.c b/streamer.c index 2afffb1..847dd53 100644 --- a/streamer.c +++ b/streamer.c @@ -6,6 +6,7 @@ */ #include "common.h" +#include "log.h" #include "streamer.h" cIptvStreamer::cIptvStreamer(cIptvDeviceIf &deviceP, unsigned int packetLenP) @@ -15,7 +16,7 @@ cIptvStreamer::cIptvStreamer(cIptvDeviceIf &deviceP, unsigned int packetLenP) packetBufferLenM(packetLenP), protocolM(NULL) { - debug("cIptvStreamer::%s(%d)", __FUNCTION__, packetBufferLenM); + debug1("%s (, %d)", __PRETTY_FUNCTION__, packetBufferLenM); // Allocate packet buffer packetBufferM = MALLOC(unsigned char, packetBufferLenM); if (packetBufferM) @@ -26,7 +27,7 @@ cIptvStreamer::cIptvStreamer(cIptvDeviceIf &deviceP, unsigned int packetLenP) cIptvStreamer::~cIptvStreamer() { - debug("cIptvStreamer::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Close the protocol Close(); protocolM = NULL; @@ -36,7 +37,7 @@ cIptvStreamer::~cIptvStreamer() void cIptvStreamer::Action(void) { - debug("cIptvStreamer::%s(): entering", __FUNCTION__); + debug1("%s() Entering", __PRETTY_FUNCTION__); // Increase priority //SetPriority(-1); // Do the thread loop @@ -52,12 +53,12 @@ void cIptvStreamer::Action(void) else sleepM.Wait(10); // to avoid busy loop and reduce cpu load } - debug("cIptvStreamer::%s(): exiting", __FUNCTION__); + debug1("%s Exiting", __PRETTY_FUNCTION__); } bool cIptvStreamer::Open(void) { - debug("cIptvStreamer::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Open the protocol if (protocolM && !protocolM->Open()) return false; @@ -68,7 +69,7 @@ bool cIptvStreamer::Open(void) bool cIptvStreamer::Close(void) { - debug("cIptvStreamer::%s()", __FUNCTION__); + debug1("%s", __PRETTY_FUNCTION__); // Stop thread sleepM.Signal(); if (Running()) @@ -81,7 +82,7 @@ bool cIptvStreamer::Close(void) bool cIptvStreamer::SetSource(const char* locationP, const int parameterP, const int indexP, cIptvProtocolIf* protocolP) { - debug("cIptvStreamer::%s(%s, %d, %d)", __FUNCTION__, locationP, parameterP, indexP); + debug1("%s (%s, %d, %d, )", __PRETTY_FUNCTION__, locationP, parameterP, indexP); if (!isempty(locationP)) { // Update protocol and set location and parameter; Close the existing one if changed if (protocolM != protocolP) { @@ -101,7 +102,7 @@ bool cIptvStreamer::SetSource(const char* locationP, const int parameterP, const bool cIptvStreamer::SetPid(int pidP, int typeP, bool onP) { - debug("cIptvStreamer::%s(%d, %d, %d)", __FUNCTION__, pidP, typeP, onP); + debug1("%s (%d, %d, %d)", __PRETTY_FUNCTION__, pidP, typeP, onP); if (protocolM) return protocolM->SetPid(pidP, typeP, onP); return true; @@ -109,7 +110,7 @@ bool cIptvStreamer::SetPid(int pidP, int typeP, bool onP) cString cIptvStreamer::GetInformation(void) { - //debug("cIptvStreamer::%s()", __FUNCTION__); + debug16("%s", __PRETTY_FUNCTION__); cString s; if (protocolM) s = protocolM->GetInformation();