Updated for vdr-2.0.0.

This commit is contained in:
Rolf Ahrenberg 2013-04-01 22:36:41 +03:00
parent d940e616e3
commit 225b0cc297
11 changed files with 33 additions and 27 deletions

View File

@ -200,8 +200,14 @@ VDR Plugin 'iptv' Revision History
to Jeremy Hall). to Jeremy Hall).
- Fixed the channel editor. - Fixed the channel editor.
2013-xx-xx: Version 1.2.2
==================================
VDR Plugin 'iptv' Revision History
==================================
2013-04-01: Version 2.0.0
- Updated for vdr-2.0.0.
- Enabled I/O throttling and tweaked buffer timeouts. - Enabled I/O throttling and tweaked buffer timeouts.
- Fixed a nasty network byte order bug. - Fixed a nasty network byte order bug.
- Fixed and refactored the section filtering code. - Fixed and refactored the section filtering code.

View File

@ -287,7 +287,7 @@ bool cIptvDevice::SetPid(cPidHandle *handleP, int typeP, bool onP)
int cIptvDevice::OpenFilter(u_short pidP, u_char tidP, u_char maskP) 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); //debug("cIptvDevice::%s(%d): pid=%d tid=%d mask=%d", __FUNCTION__, deviceIndexM, pidP, tidP, maskP);
if (pIptvSectionM && IptvConfig.GetSectionFiltering()) if (pIptvSectionM && IptvConfig.GetSectionFiltering())
return pIptvSectionM->Open(pidP, tidP, maskP); return pIptvSectionM->Open(pidP, tidP, maskP);
return -1; return -1;
@ -295,7 +295,7 @@ int cIptvDevice::OpenFilter(u_short pidP, u_char tidP, u_char maskP)
void cIptvDevice::CloseFilter(int handleP) void cIptvDevice::CloseFilter(int handleP)
{ {
debug("cIptvDevice::%s(%d): handle=%d", __FUNCTION__, deviceIndexM, handleP); //debug("cIptvDevice::%s(%d): handle=%d", __FUNCTION__, deviceIndexM, handleP);
if (pIptvSectionM) if (pIptvSectionM)
pIptvSectionM->Close(handleP); pIptvSectionM->Close(handleP);
} }

6
iptv.c
View File

@ -13,15 +13,15 @@
#include "device.h" #include "device.h"
#include "iptvservice.h" #include "iptvservice.h"
#if defined(APIVERSNUM) && APIVERSNUM < 10738 #if defined(APIVERSNUM) && APIVERSNUM < 20000
#error "VDR-1.7.38 API version or greater is required!" #error "VDR-2.0.0 API version or greater is required!"
#endif #endif
#ifndef GITVERSION #ifndef GITVERSION
#define GITVERSION "" #define GITVERSION ""
#endif #endif
const char VERSION[] = "1.2.2" GITVERSION; const char VERSION[] = "2.0.0" GITVERSION;
static const char DESCRIPTION[] = trNOOP("Experience the IPTV"); static const char DESCRIPTION[] = trNOOP("Experience the IPTV");
class cPluginIptv : public cPlugin { class cPluginIptv : public cPlugin {

View File

@ -5,10 +5,10 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-iptv 1.2.2\n" "Project-Id-Version: vdr-iptv 2.0.0\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2012-06-03 06:03+0300\n" "POT-Creation-Date: 2013-04-01 04:01+0200\n"
"PO-Revision-Date: 2012-06-03 06:03+0300\n" "PO-Revision-Date: 2013-04-01 04:01+0200\n"
"Last-Translator: Tobias Grimm <tg@e-tobi.net>\n" "Last-Translator: Tobias Grimm <tg@e-tobi.net>\n"
"Language-Team: German <vdr@linuxtv.org>\n" "Language-Team: German <vdr@linuxtv.org>\n"
"Language: de\n" "Language: de\n"

View File

@ -5,10 +5,10 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-iptv 1.2.2\n" "Project-Id-Version: vdr-iptv 2.0.0\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2012-06-03 06:03+0300\n" "POT-Creation-Date: 2013-04-01 04:01+0200\n"
"PO-Revision-Date: 2012-06-03 06:03+0300\n" "PO-Revision-Date: 2013-04-01 04:01+0200\n"
"Last-Translator: Rolf Ahrenberg\n" "Last-Translator: Rolf Ahrenberg\n"
"Language-Team: Finnish <vdr@linuxtv.org>\n" "Language-Team: Finnish <vdr@linuxtv.org>\n"
"Language: fi\n" "Language: fi\n"

View File

@ -6,10 +6,10 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-iptv 1.2.2\n" "Project-Id-Version: vdr-iptv 2.0.0\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2012-06-03 06:03+0300\n" "POT-Creation-Date: 2013-04-01 04:01+0200\n"
"PO-Revision-Date: 2012-06-03 06:03+0300\n" "PO-Revision-Date: 2013-04-01 04:01+0200\n"
"Last-Translator: NIVAL Michaël <mnival@club-internet.fr>\n" "Last-Translator: NIVAL Michaël <mnival@club-internet.fr>\n"
"Language-Team: French <vdr@linuxtv.org>\n" "Language-Team: French <vdr@linuxtv.org>\n"
"Language: fr\n" "Language: fr\n"

View File

@ -5,10 +5,10 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-iptv 1.2.2\n" "Project-Id-Version: vdr-iptv 2.0.0\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2012-06-03 06:03+0300\n" "POT-Creation-Date: 2013-04-01 04:01+0200\n"
"PO-Revision-Date: 2012-06-03 06:03+0300\n" "PO-Revision-Date: 2013-04-01 04:01+0200\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr@linuxtv.org>\n" "Language-Team: Italian <vdr@linuxtv.org>\n"
"Language: it\n" "Language: it\n"

View File

@ -5,10 +5,10 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-iptv 1.2.2\n" "Project-Id-Version: vdr-iptv 2.0.0\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2012-06-03 06:03+0300\n" "POT-Creation-Date: 2013-04-01 04:01+0200\n"
"PO-Revision-Date: 2012-06-03 06:03+0300\n" "PO-Revision-Date: 2013-04-01 04:01+0200\n"
"Last-Translator: Carel\n" "Last-Translator: Carel\n"
"Language-Team: Dutch <vdr@linuxtv.org>\n" "Language-Team: Dutch <vdr@linuxtv.org>\n"
"Language: nl\n" "Language: nl\n"

View File

@ -5,10 +5,10 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-iptv 1.2.2\n" "Project-Id-Version: vdr-iptv 2.0.0\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2012-06-03 06:03+0300\n" "POT-Creation-Date: 2013-04-01 04:01+0200\n"
"PO-Revision-Date: 2012-06-03 06:03+0300\n" "PO-Revision-Date: 2013-04-01 04:01+0200\n"
"Last-Translator: Alexander Gross <Bikalexander@gmail.com>\n" "Last-Translator: Alexander Gross <Bikalexander@gmail.com>\n"
"Language-Team: Russian <vdr@linuxtv.org>\n" "Language-Team: Russian <vdr@linuxtv.org>\n"
"Language: ru\n" "Language: ru\n"

View File

@ -348,8 +348,8 @@ int cIptvSectionFilterHandler::Open(u_short pidP, u_char tidP, u_char maskP)
// Search the next free filter slot // Search the next free filter slot
for (unsigned int i = 0; i < eMaxSecFilterCount; ++i) { for (unsigned int i = 0; i < eMaxSecFilterCount; ++i) {
if (!filtersM[i]) { if (!filtersM[i]) {
//debug("cIptvSectionFilterHandler::%s(%d): pid=%d tid=%02X mask=%02X index=%d", __FUNCTION__, deviceIndexM, pidP, tidP, maskP, i);
filtersM[i] = new cIptvSectionFilter(deviceIndexM, pidP, tidP, maskP); filtersM[i] = new cIptvSectionFilter(deviceIndexM, pidP, tidP, maskP);
debug("cIptvSectionFilterHandler::%s(%d): pid=%d tid=%02X mask=%02X handle=%d index=%d", __FUNCTION__, deviceIndexM, pidP, tidP, maskP, filtersM[i]->GetFd(), i);
return filtersM[i]->GetFd(); return filtersM[i]->GetFd();
} }
} }
@ -364,7 +364,7 @@ void cIptvSectionFilterHandler::Close(int handleP)
// Search the filter for deletion // Search the filter for deletion
for (unsigned int i = 0; i < eMaxSecFilterCount; ++i) { for (unsigned int i = 0; i < eMaxSecFilterCount; ++i) {
if (filtersM[i] && (handleP == filtersM[i]->GetFd())) { if (filtersM[i] && (handleP == filtersM[i]->GetFd())) {
//debug(""cIptvSectionFilterHandler::%s(%d): handle=%d", __FUNCTION__, deviceIndex, handleP); debug("cIptvSectionFilterHandler::%s(%d): pid=%d handle=%d index=%d", __FUNCTION__, deviceIndexM, filtersM[i]->GetPid(), filtersM[i]->GetFd(), i);
Delete(i); Delete(i);
break; break;
} }

View File

@ -45,7 +45,7 @@ void cSidScanner::Process(u_short pidP, u_char tidP, const u_char *dataP, int le
return; return;
if (channelIdM.Valid()) { if (channelIdM.Valid()) {
if ((pidP == 0x00) && (tidP == 0x00)) { if ((pidP == 0x00) && (tidP == 0x00)) {
debug("cSidScanner::%s(%d, %02X)", __FUNCTION__, pidP, tidP); //debug("cSidScanner::%s(%d, %02X)", __FUNCTION__, pidP, tidP);
SI::PAT pat(dataP, false); SI::PAT pat(dataP, false);
if (!pat.CheckCRCAndParse()) if (!pat.CheckCRCAndParse())
return; return;