Bug and style fixes.

This commit is contained in:
Antti Seppälä 2008-01-04 23:36:37 +00:00
parent 28d1869a28
commit 4915630cfc
19 changed files with 88 additions and 76 deletions

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: common.c,v 1.8 2007/10/26 23:18:50 rahrenbe Exp $
* $Id: common.c,v 1.9 2008/01/04 23:36:37 ajhseppa Exp $
*/
#include <vdr/tools.h>
@ -23,7 +23,7 @@ uint8_t payload(const uint8_t *tsp)
if (tsp[4] > 183) // corrupted data?
return 0;
else
return 184 - 1 - tsp[4];
return (184 - 1) - tsp[4];
}
return 184;

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: common.h,v 1.18 2007/10/28 16:22:44 rahrenbe Exp $
* $Id: common.h,v 1.19 2008/01/04 23:36:37 ajhseppa Exp $
*/
#ifndef __IPTV_COMMON_H
@ -63,6 +63,8 @@
} \
} while (0)
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
uint16_t ts_pid(const uint8_t *buf);
uint8_t payload(const uint8_t *tsp);
const char *id_pid(const u_short Pid);

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: config.c,v 1.18 2007/10/20 17:26:46 rahrenbe Exp $
* $Id: config.c,v 1.19 2008/01/04 23:36:37 ajhseppa Exp $
*/
#include "config.h"
@ -19,27 +19,27 @@ cIptvConfig::cIptvConfig(void)
sectionFiltering(1),
sidScanning(1)
{
for (unsigned int i = 0; i < sizeof(disabledFilters); ++i)
for (unsigned int i = 0; i < ARRAY_SIZE(disabledFilters) - 1; ++i)
disabledFilters[i] = -1;
memset(configDirectory, '\0', sizeof(configDirectory));
}
unsigned int cIptvConfig::GetDisabledFiltersCount(void)
unsigned int cIptvConfig::GetDisabledFiltersCount(void) const
{
unsigned int n = 0;
while ((disabledFilters[n] != -1) && (n < sizeof(disabledFilters)))
while ((disabledFilters[n] != -1) && (n < ARRAY_SIZE(disabledFilters) - 1))
n++;
return n;
}
int cIptvConfig::GetDisabledFilters(unsigned int Index)
int cIptvConfig::GetDisabledFilters(unsigned int Index) const
{
return (Index < sizeof(disabledFilters)) ? disabledFilters[Index] : -1;
return (Index < ARRAY_SIZE(disabledFilters)) ? disabledFilters[Index] : -1;
}
void cIptvConfig::SetDisabledFilters(unsigned int Index, int Number)
{
if (Index < sizeof(disabledFilters))
if (Index < ARRAY_SIZE(disabledFilters))
disabledFilters[Index] = Number;
}

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: config.h,v 1.17 2007/10/28 16:22:44 rahrenbe Exp $
* $Id: config.h,v 1.18 2008/01/04 23:36:37 ajhseppa Exp $
*/
#ifndef __IPTV_CONFIG_H
@ -27,16 +27,16 @@ private:
public:
cIptvConfig();
unsigned int GetReadBufferTsCount(void) { return readBufferTsCount; }
unsigned int GetTsBufferSize(void) { return tsBufferSize; }
unsigned int GetTsBufferPrefillRatio(void) { return tsBufferPrefillRatio; }
unsigned int GetExtProtocolBasePort(void) { return extProtocolBasePort; }
unsigned int GetUseBytes(void) { return useBytes; }
unsigned int GetSectionFiltering(void) { return sectionFiltering; }
unsigned int GetSidScanning(void) { return sidScanning; }
const char *GetConfigDirectory(void) { return configDirectory; }
unsigned int GetDisabledFiltersCount(void);
int GetDisabledFilters(unsigned int Index);
unsigned int GetReadBufferTsCount(void) const { return readBufferTsCount; }
unsigned int GetTsBufferSize(void) const { return tsBufferSize; }
unsigned int GetTsBufferPrefillRatio(void) const { return tsBufferPrefillRatio; }
unsigned int GetExtProtocolBasePort(void) const { return extProtocolBasePort; }
unsigned int GetUseBytes(void) const { return useBytes; }
unsigned int GetSectionFiltering(void) const { return sectionFiltering; }
unsigned int GetSidScanning(void) const { return sidScanning; }
const char *GetConfigDirectory(void) const { return configDirectory; }
unsigned int GetDisabledFiltersCount(void) const;
int GetDisabledFilters(unsigned int Index) const;
void SetTsBufferSize(unsigned int Size) { tsBufferSize = Size; }
void SetTsBufferPrefillRatio(unsigned int Ratio) { tsBufferPrefillRatio = Ratio; }
void SetExtProtocolBasePort(unsigned int PortNumber) { extProtocolBasePort = PortNumber; }

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: device.c,v 1.76 2007/10/26 23:48:30 rahrenbe Exp $
* $Id: device.c,v 1.77 2008/01/04 23:36:37 ajhseppa Exp $
*/
#include "config.h"
@ -33,7 +33,7 @@ cIptvDevice::cIptvDevice(unsigned int Index)
pExtProtocol = new cIptvProtocolExt();
pIptvStreamer = new cIptvStreamer(tsBuffer, &mutex);
// Initialize filter pointers
memset(&secfilters, '\0', sizeof(secfilters));
memset(secfilters, '\0', sizeof(secfilters));
// Start section handler for iptv device
StartSectionHandler();
// Sid scanner must be created after the section handler
@ -320,7 +320,8 @@ void cIptvDevice::CloseDvr(void)
debug("cIptvDevice::CloseDvr(%d)\n", deviceIndex);
if (pSidScanner && IptvConfig.GetSectionFiltering() && IptvConfig.GetSidScanning())
pSidScanner->SetStatus(false);
pIptvStreamer->Close();
if (pIptvStreamer)
pIptvStreamer->Close();
isOpenDvr = false;
}

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: device.h,v 1.34 2007/10/19 21:36:28 rahrenbe Exp $
* $Id: device.h,v 1.35 2008/01/04 23:36:37 ajhseppa Exp $
*/
#ifndef __IPTV_DEVICE_H
@ -53,8 +53,12 @@ public:
virtual ~cIptvDevice();
cString GetInformation(unsigned int Page = IPTV_DEVICE_INFO_ALL);
// for statistics and general information
// copy and assignment constructors
private:
cIptvDevice(const cIptvDevice&);
cIptvDevice& operator=(const cIptvDevice&);
// for statistics and general information
cString GetGeneralInformation(void);
cString GetPidsInformation(void);
cString GetFiltersInformation(void);

7
iptv.c
View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: iptv.c,v 1.29 2007/11/04 17:07:25 rahrenbe Exp $
* $Id: iptv.c,v 1.30 2008/01/04 23:36:37 ajhseppa Exp $
*/
#include <getopt.h>
@ -193,7 +193,10 @@ bool cPluginIptv::SetupParse(const char *Name, const char *Value)
else if (!strcasecmp(Name, "SidScanning"))
IptvConfig.SetSidScanning(atoi(Value));
else if (!strcasecmp(Name, "DisabledFilters")) {
int DisabledFilters[SECTION_FILTER_TABLE_SIZE] = { -1 };
int DisabledFilters[SECTION_FILTER_TABLE_SIZE];
for (unsigned int i = 0; i < ARRAY_SIZE(DisabledFilters); ++i) {
DisabledFilters[i] = -1;
}
int DisabledFiltersCount = ParseFilters(Value, DisabledFilters);
for (int i = 0; i < DisabledFiltersCount; ++i)
IptvConfig.SetDisabledFilters(i, DisabledFilters[i]);

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: protocolext.c,v 1.20 2007/10/21 19:32:14 ajhseppa Exp $
* $Id: protocolext.c,v 1.21 2008/01/04 23:36:37 ajhseppa Exp $
*/
#include <sys/wait.h>
@ -33,7 +33,7 @@ cIptvProtocolExt::~cIptvProtocolExt()
{
debug("cIptvProtocolExt::~cIptvProtocolExt()\n");
// Drop the socket connection
Close();
cIptvProtocolExt::Close();
// Free allocated memory
free(scriptFile);
free(listenAddr);

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: protocolext.h,v 1.8 2007/10/21 17:32:43 ajhseppa Exp $
* $Id: protocolext.h,v 1.9 2008/01/04 23:36:37 ajhseppa Exp $
*/
#ifndef __IPTV_PROTOCOLEXT_H
@ -28,10 +28,10 @@ public:
cIptvProtocolExt();
virtual ~cIptvProtocolExt();
int Read(unsigned char* *BufferAddr);
virtual bool Set(const char* Location, const int Parameter, const int Index);
virtual bool Open(void);
virtual bool Close(void);
virtual cString GetInformation(void);
bool Set(const char* Location, const int Parameter, const int Index);
bool Open(void);
bool Close(void);
cString GetInformation(void);
};
#endif // __IPTV_PROTOCOLEXT_H

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: protocolfile.c,v 1.14 2007/10/20 23:25:14 ajhseppa Exp $
* $Id: protocolfile.c,v 1.15 2008/01/04 23:36:37 ajhseppa Exp $
*/
#include <fcntl.h>
@ -32,7 +32,7 @@ cIptvProtocolFile::~cIptvProtocolFile()
{
debug("cIptvProtocolFile::~cIptvProtocolFile()\n");
// Drop open handles
Close();
cIptvProtocolFile::Close();
// Free allocated memory
free(fileLocation);
free(readBuffer);

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: protocolfile.h,v 1.7 2007/10/19 22:18:55 rahrenbe Exp $
* $Id: protocolfile.h,v 1.8 2008/01/04 23:36:37 ajhseppa Exp $
*/
#ifndef __IPTV_PROTOCOLFILE_H
@ -28,11 +28,11 @@ private:
public:
cIptvProtocolFile();
virtual ~cIptvProtocolFile();
virtual int Read(unsigned char* *BufferAddr);
virtual bool Set(const char* Location, const int Parameter, const int Index);
virtual bool Open(void);
virtual bool Close(void);
virtual cString GetInformation(void);
int Read(unsigned char* *BufferAddr);
bool Set(const char* Location, const int Parameter, const int Index);
bool Open(void);
bool Close(void);
cString GetInformation(void);
};
#endif // __IPTV_PROTOCOLFILE_H

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: protocolhttp.c,v 1.21 2007/10/21 19:46:03 rahrenbe Exp $
* $Id: protocolhttp.c,v 1.22 2008/01/04 23:36:37 ajhseppa Exp $
*/
#include <sys/types.h>
@ -30,7 +30,7 @@ cIptvProtocolHttp::~cIptvProtocolHttp()
{
debug("cIptvProtocolHttp::~cIptvProtocolHttp()\n");
// Close the socket
Close();
cIptvProtocolHttp::Close();
// Free allocated memory
free(streamPath);
free(streamAddr);

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: protocolhttp.h,v 1.11 2007/10/21 17:32:43 ajhseppa Exp $
* $Id: protocolhttp.h,v 1.12 2008/01/04 23:36:37 ajhseppa Exp $
*/
#ifndef __IPTV_PROTOCOLHTTP_H
@ -29,10 +29,10 @@ public:
cIptvProtocolHttp();
virtual ~cIptvProtocolHttp();
int Read(unsigned char* *BufferAddr);
virtual bool Set(const char* Location, const int Parameter, const int Index);
virtual bool Open(void);
virtual bool Close(void);
virtual cString GetInformation(void);
bool Set(const char* Location, const int Parameter, const int Index);
bool Open(void);
bool Close(void);
cString GetInformation(void);
};
#endif // __IPTV_PROTOCOLHTTP_H

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: protocoludp.c,v 1.21 2007/10/21 19:32:15 ajhseppa Exp $
* $Id: protocoludp.c,v 1.22 2008/01/04 23:36:37 ajhseppa Exp $
*/
#include <sys/types.h>
@ -29,7 +29,7 @@ cIptvProtocolUdp::~cIptvProtocolUdp()
{
debug("cIptvProtocolUdp::~cIptvProtocolUdp()\n");
// Drop the multicast group and close the socket
Close();
cIptvProtocolUdp::Close();
// Free allocated memory
free(streamAddr);
}

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: protocoludp.h,v 1.12 2007/10/21 17:32:43 ajhseppa Exp $
* $Id: protocoludp.h,v 1.13 2008/01/04 23:36:37 ajhseppa Exp $
*/
#ifndef __IPTV_PROTOCOLUDP_H
@ -25,10 +25,10 @@ public:
cIptvProtocolUdp();
virtual ~cIptvProtocolUdp();
int Read(unsigned char* *BufferAddr);
virtual bool Set(const char* Location, const int Parameter, const int Index);
virtual bool Open(void);
virtual bool Close(void);
virtual cString GetInformation(void);
bool Set(const char* Location, const int Parameter, const int Index);
bool Open(void);
bool Close(void);
cString GetInformation(void);
};
#endif // __IPTV_PROTOCOLUDP_H

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: sectionfilter.c,v 1.15 2007/10/20 23:25:14 ajhseppa Exp $
* $Id: sectionfilter.c,v 1.16 2008/01/04 23:36:37 ajhseppa Exp $
*/
#include "sectionfilter.h"
@ -283,7 +283,7 @@ void cIptvSectionFilter::ProcessData(const uint8_t* buf)
const uint8_t *before = &buf[p + 1];
uint8_t before_len = buf[p];
const uint8_t *after = &before[before_len];
uint8_t after_len = count - 1 - before_len;
uint8_t after_len = (count - 1) - before_len;
demux_swfilter_section_copy_dump(before, before_len);
/* before start of new section, set pusi_seen = 1 */

20
setup.c
View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: setup.c,v 1.44 2007/11/04 15:23:16 rahrenbe Exp $
* $Id: setup.c,v 1.45 2008/01/04 23:36:37 ajhseppa Exp $
*/
#include <string.h>
@ -73,7 +73,7 @@ cString cIptvMenuEditChannel::GetIptvSettings(const char *Param, int *Parameter,
char *tag = NULL;
char *proto = NULL;
char *loc = NULL;
if (sscanf(Param, "%a[^|]|%a[^|]|%a[^|]|%u", &tag, &proto, &loc, Parameter) == 4) {
if (sscanf(Param, "%a[^|]|%a[^|]|%a[^|]|%d", &tag, &proto, &loc, Parameter) == 4) {
cString tagstr(tag, true);
cString protostr(proto, true);
cString locstr(loc, true);
@ -106,13 +106,13 @@ void cIptvMenuEditChannel::GetChannelData(cChannel *Channel)
data.vpid = Channel->Vpid();
data.ppid = Channel->Ppid();
data.tpid = Channel->Tpid();
for (unsigned int i = 0; i < sizeof(data.apid); ++i)
for (unsigned int i = 0; i < ARRAY_SIZE(data.apid); ++i)
data.apid[i] = Channel->Apid(i);
for (unsigned int i = 0; i < sizeof(data.dpid); ++i)
for (unsigned int i = 0; i < ARRAY_SIZE(data.dpid); ++i)
data.dpid[i] = Channel->Dpid(i);
for (unsigned int i = 0; i < sizeof(data.spid); ++i)
for (unsigned int i = 0; i < ARRAY_SIZE(data.spid); ++i)
data.spid[i] = Channel->Spid(i);
for (unsigned int i = 0; i < sizeof(data.caids); ++i)
for (unsigned int i = 0; i < ARRAY_SIZE(data.caids); ++i)
data.caids[i] = Channel->Ca(i);
data.sid = Channel->Sid();
data.nid = Channel->Nid();
@ -129,13 +129,13 @@ void cIptvMenuEditChannel::GetChannelData(cChannel *Channel)
data.vpid = 0;
data.ppid = 0;
data.tpid = 0;
for (unsigned int i = 0; i < sizeof(data.apid); ++i)
for (unsigned int i = 0; i < ARRAY_SIZE(data.apid); ++i)
data.apid[i] = 0;
for (unsigned int i = 0; i < sizeof(data.dpid); ++i)
for (unsigned int i = 0; i < ARRAY_SIZE(data.dpid); ++i)
data.dpid[i] = 0;
for (unsigned int i = 0; i < sizeof(data.spid); ++i)
for (unsigned int i = 0; i < ARRAY_SIZE(data.spid); ++i)
data.spid[i] = 0;
for (unsigned int i = 0; i < sizeof(data.caids); ++i)
for (unsigned int i = 0; i < ARRAY_SIZE(data.caids); ++i)
data.caids[i] = 0;
data.sid = 1;
data.nid = 0;

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: statistics.c,v 1.20 2007/10/11 23:06:49 rahrenbe Exp $
* $Id: statistics.c,v 1.21 2008/01/04 23:36:37 ajhseppa Exp $
*/
#include <limits.h>
@ -84,7 +84,7 @@ cString cIptvPidStatistics::GetStatistic()
IptvConfig.GetUseBytes() ? "B" : "bit");
}
}
memset(&mostActivePids, '\0', sizeof(mostActivePids));
memset(mostActivePids, '\0', sizeof(mostActivePids));
return info;
}
@ -110,7 +110,7 @@ void cIptvPidStatistics::AddStatistic(u_short Pid, long Payload)
if (mostActivePids[i].pid == Pid) {
mostActivePids[i].DataAmount += Payload;
// Now re-sort the array and quit
qsort(&mostActivePids, numberOfElements, sizeof(pidStruct), SortPids);
qsort(mostActivePids, numberOfElements, sizeof(pidStruct), SortPids);
return;
}
}

View File

@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: streamer.c,v 1.27 2007/10/20 08:58:15 ajhseppa Exp $
* $Id: streamer.c,v 1.28 2008/01/04 23:36:37 ajhseppa Exp $
*/
#include <vdr/thread.h>
@ -76,11 +76,13 @@ bool cIptvStreamer::Close(void)
// Close the protocol. A mutex should be taken here to avoid a race condition
// where thread Action() may be in the process of accessing the protocol.
// Taking a mutex serializes the Close() and Action() -calls.
if (protocol) {
mutex->Lock();
if (mutex)
mutex->Lock();
if (protocol)
protocol->Close();
if (mutex)
mutex->Unlock();
}
return true;
}