This is an automated email from the git hooks/post-receive script.

tiber-guest pushed a commit to branch master
in repository vdr-plugin-iptv.

commit 9696f90248935533b899cc7f8f86f7ed3573f70c
Author: Tobias Grimm <g...@e-tobi.net>
Date:   Sun Feb 4 15:28:28 2018 +0100

    New upstream version 2.2.1+git20180204
---
 .gitignore                |  6 ++++
 HISTORY                   | 11 +++++++
 Makefile                  | 27 +++++++++++-------
 README                    |  7 -----
 common.h                  | 21 +++++++-------
 device.c                  |  3 +-
 iptv.c                    |  6 ++--
 pidscanner.c              | 14 +++++----
 po/{nl_NL.po => ca_ES.po} | 61 ++++++++++++++++++++-------------------
 po/de_DE.po               |  6 ++--
 po/{it_IT.po => es_ES.po} | 62 ++++++++++++++++++++--------------------
 po/fi_FI.po               |  6 ++--
 po/fr_FR.po               |  6 ++--
 po/it_IT.po               |  6 ++--
 po/lt_LT.po               |  6 ++--
 po/nl_NL.po               |  6 ++--
 po/{fi_FI.po => pl_PL.po} | 73 ++++++++++++++++++++++++-----------------------
 po/ru_RU.po               |  6 ++--
 sidscanner.c              | 14 +++++----
 source.c                  |  2 +-
 20 files changed, 187 insertions(+), 162 deletions(-)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..13412ee
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+.dependencies
+*.o
+*.so
+*~
+po/*.pot
+po/*.mo
diff --git a/HISTORY b/HISTORY
index 0ee3e03..41b02f1 100644
--- a/HISTORY
+++ b/HISTORY
@@ -272,3 +272,14 @@ VDR Plugin 'iptv' Revision History
   detection (Thanks to Daniel Ribeiro).
 - Got rid of IPTV_DEBUG.
 - Added support for tracing modes.
+
+
+==================================
+VDR Plugin 'iptv' Revision History
+==================================
+
+2017-06-24: Version 2.3.0
+
+- Updated for vdr-2.3.7.
+- Added Polish translation (Thanks to Tomasz Nowak).
+- Added Catalan and Spanish translations (Thanks to Gabriel Bonich).
diff --git a/Makefile b/Makefile
index 62b2fb4..726019a 100644
--- a/Makefile
+++ b/Makefile
@@ -87,14 +87,15 @@ all: $(SOFILE) i18n
 ### Implicit rules:
 
 %.o: %.c Makefile
-       $(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $<
+       @echo CC $@
+       $(Q)$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $<
 
 ### Dependencies:
 
 MAKEDEP = $(CXX) -MM -MG
 DEPFILE = .dependencies
 $(DEPFILE): Makefile
-       @$(MAKEDEP) $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
+       $(Q)$(MAKEDEP) $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
 
 -include $(DEPFILE)
 
@@ -107,17 +108,21 @@ I18Nmsgs  = $(addprefix $(DESTDIR)$(LOCDIR)/, $(addsuffix 
/LC_MESSAGES/vdr-$(PLU
 I18Npot   = $(PODIR)/$(PLUGIN).pot
 
 %.mo: %.po
-       msgfmt -c -o $@ $<
+       @echo MO $@
+       $(Q)msgfmt -c -o $@ $<
 
 $(I18Npot): $(wildcard *.c)
-       xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP 
--package-name=vdr-$(PLUGIN) --package-version=$(VERSION) 
--msgid-bugs-address='<see README>' -o $@ `ls $^`
+       @echo GT $@
+       $(Q)xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP 
--package-name=vdr-$(PLUGIN) --package-version=$(VERSION) 
--msgid-bugs-address='<see README>' -o $@ `ls $^`
 
 %.po: $(I18Npot)
-       msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
+       @echo PO $@
+       $(Q)msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
        @touch $@
 
 $(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
-       install -D -m644 $< $@
+       @echo IN $@
+       $(Q)install -D -m644 $< $@
 
 .PHONY: i18n
 i18n: $(I18Nmo) $(I18Npot)
@@ -127,11 +132,13 @@ install-i18n: $(I18Nmsgs)
 ### Targets:
 
 $(SOFILE): $(OBJS)
-       $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -o $@
-       @$(STRIP) $@
+       @echo LD $@
+       $(Q)$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -o $@
+       $(Q)$(STRIP) $@
 
 install-lib: $(SOFILE)
-       install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)
+       @echo IN $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)
+       $(Q)install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)
 
 install-conf:
        @mkdir -p $(DESTDIR)$(CFGDIR)/plugins/$(PLUGIN)
@@ -154,4 +161,4 @@ clean:
 
 .PHONY: cppcheck
 cppcheck:
-       @cppcheck --language=c++ --enable=all -v -f $(OBJS:%.o=%.c)
+       $(Q)cppcheck --language=c++ --enable=all -v -f $(OBJS:%.o=%.c)
diff --git a/README b/README
index 9eddbd2..528f622 100644
--- a/README
+++ b/README
@@ -46,13 +46,6 @@ make -C iptv-X.Y.Z install
 
 Setup menu:
 
-- TS buffer size [MB] = 2          Defines ringbuffer size for transport
-                                   stream in MB.
-                                   Valid range: 1...4
-- TS buffer prefill ratio [%] = 0  Defines prefill ratio for transport
-                                   stream ringbuffer before data is
-                                   transferred to VDR.
-                                   Valid range: 0...40
 - Protocol base port = 4321        Defines base port used in CURL/EXT
                                    protocol. Two ports are defined for
                                    each device.
diff --git a/common.h b/common.h
index 3190297..952681f 100644
--- a/common.h
+++ b/common.h
@@ -14,7 +14,7 @@
 
 #define ELEMENTS(x)                     (sizeof(x) / sizeof(x[0]))
 
-#define IPTV_BUFFER_SIZE                MEGABYTE(1)
+#define IPTV_BUFFER_SIZE                KILOBYTE(2048)
 
 #define IPTV_DVR_FILENAME               "/tmp/vdr-iptv%d.dvr"
 
@@ -32,18 +32,17 @@
 
 #define SECTION_FILTER_TABLE_SIZE       5
 
-#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;                                                        \
-        }                                                           \
+#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)
 
-
 #define ERROR_IF_RET(exp, errstr, ret) ERROR_IF_FUNC(exp, errstr, ,ret);
 
 #define ERROR_IF(exp, errstr) ERROR_IF_FUNC(exp, errstr, , );
diff --git a/device.c b/device.c
index d94510a..8647b9c 100644
--- a/device.c
+++ b/device.c
@@ -125,12 +125,13 @@ cIptvDevice *cIptvDevice::GetIptvDevice(int cardIndexP)
 cString cIptvDevice::GetGeneralInformation(void)
 {
   debug16("%s [device %d]", __PRETTY_FUNCTION__, deviceIndexM);
+  LOCK_CHANNELS_READ;
   return cString::sprintf("IPTV device: %d\nCardIndex: %d\nStream: %s\nStream 
bitrate: %s\n%sChannel: %s",
                           deviceIndexM, CardIndex(),
                           pIptvStreamerM ? *pIptvStreamerM->GetInformation() : 
"",
                           pIptvStreamerM ? 
*pIptvStreamerM->GetStreamerStatistic() : "",
                           *GetBufferStatistic(),
-                          
*Channels.GetByNumber(cDevice::CurrentChannel())->ToText());
+                          
*Channels->GetByNumber(cDevice::CurrentChannel())->ToText());
 }
 
 cString cIptvDevice::GetPidsInformation(void)
diff --git a/iptv.c b/iptv.c
index 594bb59..00a7bb2 100644
--- a/iptv.c
+++ b/iptv.c
@@ -13,15 +13,15 @@
 #include "device.h"
 #include "iptvservice.h"
 
-#if defined(APIVERSNUM) && APIVERSNUM < 20200
-#error "VDR-2.2.0 API version or greater is required!"
+#if defined(APIVERSNUM) && APIVERSNUM < 20307
+#error "VDR-2.3.7 API version or greater is required!"
 #endif
 
 #ifndef GITVERSION
 #define GITVERSION ""
 #endif
 
-       const char VERSION[]     = "2.2.1" GITVERSION;
+       const char VERSION[]     = "2.3.0" GITVERSION;
 static const char DESCRIPTION[] = trNOOP("Experience the IPTV");
 
 class cPluginIptv : public cPlugin {
diff --git a/pidscanner.c b/pidscanner.c
index 80af34c..71ee9a8 100644
--- a/pidscanner.c
+++ b/pidscanner.c
@@ -108,11 +108,13 @@ void cPidScanner::Process(const uint8_t* bufP)
         if (((numVpidsM >= PIDSCANNER_VPID_COUNT) && (numApidsM >= 
PIDSCANNER_APID_COUNT)) ||
             (abs(numApidsM - numVpidsM) >= PIDSCANNER_PID_DELTA_COUNT)) {
            // Lock channels for pid updates
-           if (!Channels.Lock(true, 10)) {
-              timeoutM.Set(PIDSCANNER_TIMEOUT_IN_MS);
+           timeoutM.Set(PIDSCANNER_TIMEOUT_IN_MS);
+           cStateKey StateKey;
+           cChannels *Channels = cChannels::GetChannelsWrite(StateKey, 10);
+           if (!Channels)
               return;
-              }
-           cChannel *IptvChannel = Channels.GetByChannelID(channelIdM);
+           bool ChannelsModified = false;
+           cChannel *IptvChannel = Channels->GetByChannelID(channelIdM);
            if (IptvChannel) {
               int Apids[MAXAPIDS + 1] = { 0 }; // these lists are 
zero-terminated
               int Atypes[MAXAPIDS + 1] = { 0 };
@@ -147,9 +149,9 @@ void cPidScanner::Process(const uint8_t* bufP)
               for (unsigned int i = 0; i < MAXSPIDS; ++i)
                   Spids[i] = IptvChannel->Spid(i);
               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);
+              ChannelsModified |= IptvChannel->SetPids(vPidM, Ppid, Vtype, 
Apids, Atypes, ALangs, Dpids, Dtypes, DLangs, Spids, SLangs, Tpid);
               }
-           Channels.Unlock();
+           StateKey.Remove(ChannelsModified);
            processM = false;
            }
         }
diff --git a/po/nl_NL.po b/po/ca_ES.po
similarity index 55%
copy from po/nl_NL.po
copy to po/ca_ES.po
index 7689869..4eb1619 100644
--- a/po/nl_NL.po
+++ b/po/ca_ES.po
@@ -1,17 +1,17 @@
 # VDR plugin language source file.
-# Copyright (C) 2007-2015 Rolf Ahrenberg & Antti Seppala
+# Copyright (C) 2007-2017 Rolf Ahrenberg & Antti Seppala
 # This file is distributed under the same license as the iptv package.
-# Carel, 2010.
+# Gabriel Bonich, 2017
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: vdr-iptv 2.2.1\n"
+"Project-Id-Version: vdr-iptv 2.3.0\n"
 "Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2015-04-04 04:04+0300\n"
-"PO-Revision-Date: 2015-04-04 04:04+0300\n"
-"Last-Translator: Carel\n"
-"Language-Team: Dutch <v...@linuxtv.org>\n"
-"Language: nl\n"
+"POT-Creation-Date: 2017-06-24 06:24+0300\n"
+"PO-Revision-Date: 2017-06-24 06:24+0300\n"
+"Last-Translator: Gabriel Bonich <gbon...@gmail.com>\n"
+"Language-Team: Catalan <v...@linuxtv.org>\n"
+"Language: ca\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -33,40 +33,40 @@ msgid "TDT (0x70)"
 msgstr "TDT (0x70)"
 
 msgid "Experience the IPTV"
-msgstr "TV programma's via IP"
+msgstr "Experimenta la IPTV"
 
 msgid "IPTV Information"
-msgstr "IPTV informatie"
+msgstr "Informació IPTV"
 
 msgid "General"
-msgstr "Algemeen"
+msgstr "General"
 
 msgid "Pids"
 msgstr "Pids"
 
 msgid "Filters"
-msgstr "Filter"
+msgstr "Filtres"
 
 msgid "Bits/bytes"
 msgstr "Bits/Bytes"
 
 msgid "IPTV information not available!"
-msgstr "IPTV informatie niet beschikbaar!"
+msgstr "Informació IPTV no disponible!"
 
 msgid "Protocol base port"
-msgstr "Protocol basispoort"
+msgstr "Port Protocol"
 
 msgid ""
 "Define a base port used by CURL/EXT protocol.\n"
 "\n"
 "The port range is defined by the number of IPTV devices. This setting sets 
the port which is listened for connections from external applications when 
using the CURL/EXT protocol."
 msgstr ""
-"Bepaal de basispoort voor het CURL/EXT protocol.\n"
+"Definir el port utilizat por el protocol CURL/EXT.\n"
 "\n"
-"De poortrange wordt bepaald door het aantal IPTV apparaten. Deze poort 
luistert naar inkomende verbindingen wanneer het CURL/EXT protocol wordt 
gebruikt."
+"El nombre de ports es defineix por el nombre de dispositius IPTV. Aquesta 
configuració estableix el port que escolta a las conexions de las aplicaciones 
externas quant s'utiliza el protocol CURL / EXT."
 
 msgid "Use section filtering"
-msgstr "Benutze Abschnittsfilterung"
+msgstr "Utilitzi la secció de filtrat"
 
 msgid ""
 "Define whether the section filtering shall be used.\n"
@@ -74,30 +74,31 @@ msgid ""
 "Section filtering means that IPTV plugin tries to parse and provide VDR with 
secondary data about the currently active stream. VDR can then use this data 
for providing various functionalities such as automatic pid change detection 
and EPG etc.\n"
 "Enabling this feature does not affect streams that do not contain section 
data."
 msgstr ""
-"Bepaal of er sectionfilterimg moet worden gebrukt.\n"
+"Definir si s'utilizarà la secció de filtrat.\n"
 "\n"
-"Bij sectiefiltering zal de IPTV plugin VDR van extra informatie over de 
stream voorzien. VDR kan dan bijvoorbeeld automatisch de PIDs wijzigen of de 
EPG tonen.Het gebruik van deze mogelijkheid heeft geen effect op streams die 
geen sectiedata bevatten."
+"Secció de filtrat significa que el plugin IPTV tracta de analitzar i 
proporcionar a VDR les dades secundaries sobre el fluxe actiu. VDR pot 
utilitzar aquestes dades per proporcionar diverses funcionalitats com ara la 
detecció de canvis automatics del PID,EPG, etc.\n"
+"L'activació d'aquesta funció no afecta als fluxes que no contenen dades de la 
secció."
 
 msgid "Disabled filters"
-msgstr "Deactiveer filter"
+msgstr "Desactivar Filtres"
 
 msgid ""
 "Define number of section filters to be disabled.\n"
 "\n"
 "Certain section filters might cause some unwanted behaviour to VDR such as 
time being falsely synchronized. By black-listing the filters here useful 
section data can be left intact for VDR to process."
 msgstr ""
-"Bepaal het aantal de de-activeren sectiefilters.\n"
+"Definir el nombre de filtres de sección a desactivar.\n"
 "\n"
-"Sommige sctiefilters kunnen ongewenste effecten veroorzaken. Door ze hier op 
te nemen blijft de data intact zodat VDR het kan blijven gebruiken."
+"Certs filtres de secció podrien causar un comportament no desitjat a VDR, com 
el temps que sincronitza malament. Aquí la llista negra dels filtres, les dades 
útils de la secció es poden deixar intactes perquè VDR els processi."
 
 msgid "Filter"
-msgstr "Filter"
+msgstr "Filtre"
 
 msgid "Define an ill-behaving filter to be blacklisted."
-msgstr "Blacklist een probleem veroorzakend filter "
+msgstr "Definir un filtre que no funcioni per ser inclos a la llista negre."
 
 msgid "Help"
-msgstr "Help"
+msgstr "Ajuda"
 
 msgid "UDP"
 msgstr "UDP"
@@ -109,7 +110,7 @@ msgid "HTTP"
 msgstr "HTTP"
 
 msgid "FILE"
-msgstr "BESTAND"
+msgstr "ARXIU"
 
 msgid "EXT"
 msgstr "EXT"
@@ -118,16 +119,16 @@ msgid "Rid"
 msgstr "Rid"
 
 msgid "Scan section ids"
-msgstr "Scan section IDS"
+msgstr "Escaneja secció ids"
 
 msgid "Scan pids"
-msgstr "Scan PIDS"
+msgstr "Escaneja pids"
 
 msgid "Protocol"
 msgstr "Protocol"
 
 msgid "Address"
-msgstr "Adres"
+msgstr "Direcció"
 
 msgid "Parameter"
-msgstr "Parameter"
+msgstr "Parametre"
diff --git a/po/de_DE.po b/po/de_DE.po
index 3686e09..4d72b78 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: vdr-iptv 2.2.1\n"
+"Project-Id-Version: vdr-iptv 2.3.0\n"
 "Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2015-04-04 04:04+0300\n"
-"PO-Revision-Date: 2015-04-04 04:04+0300\n"
+"POT-Creation-Date: 2017-06-24 06:24+0300\n"
+"PO-Revision-Date: 2017-06-24 06:24+0300\n"
 "Last-Translator: Frank Neumann <f...@yavdr.org>\n"
 "Language-Team: German <v...@linuxtv.org>\n"
 "Language: de\n"
diff --git a/po/it_IT.po b/po/es_ES.po
similarity index 54%
copy from po/it_IT.po
copy to po/es_ES.po
index 26f0e90..d0c87c9 100644
--- a/po/it_IT.po
+++ b/po/es_ES.po
@@ -1,17 +1,17 @@
 # VDR plugin language source file.
-# Copyright (C) 2007-2015 Rolf Ahrenberg & Antti Seppala
+# Copyright (C) 2007-2017 Rolf Ahrenberg & Antti Seppala
 # This file is distributed under the same license as the iptv package.
-# Diego Pierotto <vdr-ital...@tiscali.it>, 2008.
+# Gabriel Bonich, 2017
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: vdr-iptv 2.2.1\n"
+"Project-Id-Version: vdr-iptv 2.3.0\n"
 "Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2015-04-04 04:04+0300\n"
-"PO-Revision-Date: 2015-04-04 04:04+0300\n"
-"Last-Translator: Diego Pierotto <vdr-ital...@tiscali.it>\n"
-"Language-Team: Italian <v...@linuxtv.org>\n"
-"Language: it\n"
+"POT-Creation-Date: 2017-06-24 06:24+0300\n"
+"PO-Revision-Date: 2017-06-24 06:24+0300\n"
+"Last-Translator: Gabriel Bonich <gbon...@gmail.com>\n"
+"Language-Team: Spanish <v...@linuxtv.org>\n"
+"Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -33,40 +33,40 @@ msgid "TDT (0x70)"
 msgstr "TDT (0x70)"
 
 msgid "Experience the IPTV"
-msgstr "Scopri la IPTV"
+msgstr "Experimente la IPTV"
 
 msgid "IPTV Information"
-msgstr "Informazione IPTV"
+msgstr "Información IPTV"
 
 msgid "General"
-msgstr "Generale"
+msgstr "General"
 
 msgid "Pids"
 msgstr "Pids"
 
 msgid "Filters"
-msgstr "Filtri"
+msgstr "Filtros"
 
 msgid "Bits/bytes"
-msgstr "Bits/bytes"
+msgstr "Bits/Bytes"
 
 msgid "IPTV information not available!"
-msgstr "Informazione IPTV non disponibile!"
+msgstr "Información IPTV no disponible!"
 
 msgid "Protocol base port"
-msgstr "Porta base protocollo"
+msgstr "Puerto Protocolo"
 
 msgid ""
 "Define a base port used by CURL/EXT protocol.\n"
 "\n"
 "The port range is defined by the number of IPTV devices. This setting sets 
the port which is listened for connections from external applications when 
using the CURL/EXT protocol."
 msgstr ""
-"Definisci una porta base usata dal protocollo CURL/EXT.\n"
+"Definir el puerto utilizado por el protocolo CURL/EXT.\n"
 "\n"
-"Il range della porta è definito dal numero di periferiche IPTV. Questo 
parametro imposta la porta che è in ascolto per connessioni da applicazioni 
esterne quando si usa il protocollo CURL/EXT."
+"El rango de puertos se define por el número de dispositivos IPTV. Esta 
configuración establece el puerto que se escucha para las conexiones de las 
aplicaciones externas cuando se utiliza el protocolo CURL / EXT."
 
 msgid "Use section filtering"
-msgstr "Utilizza sezione filtri"
+msgstr "Utilice la sección de filtrado"
 
 msgid ""
 "Define whether the section filtering shall be used.\n"
@@ -74,31 +74,31 @@ msgid ""
 "Section filtering means that IPTV plugin tries to parse and provide VDR with 
secondary data about the currently active stream. VDR can then use this data 
for providing various functionalities such as automatic pid change detection 
and EPG etc.\n"
 "Enabling this feature does not affect streams that do not contain section 
data."
 msgstr ""
-"Definisci se la sezione filtri sarà utilizzata.\n"
+"Definir si se utilizará la sección de filtrado.\n"
 "\n"
-"La sezioni filtri significa che il plugin IPTV prova a elaborare e fornire a 
VDR dati secondari sul flusso attualmente attivo. VDR può successivamente usare 
questi dati per fornire varie funzionalità come il rilevamento del cambio Pid 
automatico, EPG, etc.\n"
-"Abilitare questa funzione non influisce sui flussi che non contengono dati di 
sezione."
+"Sección de filtrado significa que el plugin IPTV trata de analizar y 
proporcionar a VDR los datos secundarios sobre el flujo activo. VDR puede 
entonces utilizar estos datos para proporcionar diversas funcionalidades tales 
como detección automática del cambio del PID, EPG, etc.\n"
+"El uso de esta capacidad no afecta a fuentes que no contienen datos de la 
sección."
 
 msgid "Disabled filters"
-msgstr "Disabilita filtri"
+msgstr "Desactivar Filtros"
 
 msgid ""
 "Define number of section filters to be disabled.\n"
 "\n"
 "Certain section filters might cause some unwanted behaviour to VDR such as 
time being falsely synchronized. By black-listing the filters here useful 
section data can be left intact for VDR to process."
 msgstr ""
-"Definisci il numero di sezione filtri che sarà disabilitato.\n"
+"Defina el número de filtros de sección a deshabilitar.\n"
 "\n"
-"Certe sezioni filtri potrebbero generare alcuni comportamenti indesiderati 
per VDR come la non sincronizzazione dell'ora. Inserendo qui i filtri nella 
lista nera i dati di sezione utili possono essere lasciati intatti per 
l'elaborazione da parte di VDR."
+"Ciertos filtros de sección pueden causar algún comportamiento no deseado a 
VDR, como el tiempo que sincroniza mal. Aquí la lista negra de los filtros, los 
datos útiles de la sección se pueden dejar intactos para que VDR los procese."
 
 msgid "Filter"
 msgstr "Filtro"
 
 msgid "Define an ill-behaving filter to be blacklisted."
-msgstr "Definisci un filtro corrotto che sarà messo nella lista nera."
+msgstr "Defina un filtro que no funcione para ser incluido en la lista negra."
 
 msgid "Help"
-msgstr "Aiuto"
+msgstr "Ayuda"
 
 msgid "UDP"
 msgstr "UDP"
@@ -110,7 +110,7 @@ msgid "HTTP"
 msgstr "HTTP"
 
 msgid "FILE"
-msgstr "FILE"
+msgstr "ARCHIVO"
 
 msgid "EXT"
 msgstr "EXT"
@@ -119,16 +119,16 @@ msgid "Rid"
 msgstr "Rid"
 
 msgid "Scan section ids"
-msgstr "Scansione Section Ids"
+msgstr "Escanea sección ids"
 
 msgid "Scan pids"
-msgstr "Scansione Pids"
+msgstr "Escanea pids"
 
 msgid "Protocol"
-msgstr "Protocollo"
+msgstr "Protocolo"
 
 msgid "Address"
-msgstr "Indirizzo"
+msgstr "Dirección"
 
 msgid "Parameter"
 msgstr "Parametro"
diff --git a/po/fi_FI.po b/po/fi_FI.po
index 73090a5..ddc5920 100644
--- a/po/fi_FI.po
+++ b/po/fi_FI.po
@@ -5,10 +5,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: vdr-iptv 2.2.1\n"
+"Project-Id-Version: vdr-iptv 2.3.0\n"
 "Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2015-04-04 04:04+0300\n"
-"PO-Revision-Date: 2015-04-04 04:04+0300\n"
+"POT-Creation-Date: 2017-06-24 06:24+0300\n"
+"PO-Revision-Date: 2017-06-24 06:24+0300\n"
 "Last-Translator: Rolf Ahrenberg\n"
 "Language-Team: Finnish <v...@linuxtv.org>\n"
 "Language: fi\n"
diff --git a/po/fr_FR.po b/po/fr_FR.po
index 5aecacc..c8d627c 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: vdr-iptv 2.2.1\n"
+"Project-Id-Version: vdr-iptv 2.3.0\n"
 "Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2015-04-04 04:04+0300\n"
-"PO-Revision-Date: 2015-04-04 04:04+0300\n"
+"POT-Creation-Date: 2017-06-24 06:24+0300\n"
+"PO-Revision-Date: 2017-06-24 06:24+0300\n"
 "Last-Translator: NIVAL Michaël <mni...@club-internet.fr>\n"
 "Language-Team: French <v...@linuxtv.org>\n"
 "Language: fr\n"
diff --git a/po/it_IT.po b/po/it_IT.po
index 26f0e90..e994768 100644
--- a/po/it_IT.po
+++ b/po/it_IT.po
@@ -5,10 +5,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: vdr-iptv 2.2.1\n"
+"Project-Id-Version: vdr-iptv 2.3.0\n"
 "Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2015-04-04 04:04+0300\n"
-"PO-Revision-Date: 2015-04-04 04:04+0300\n"
+"POT-Creation-Date: 2017-06-24 06:24+0300\n"
+"PO-Revision-Date: 2017-06-24 06:24+0300\n"
 "Last-Translator: Diego Pierotto <vdr-ital...@tiscali.it>\n"
 "Language-Team: Italian <v...@linuxtv.org>\n"
 "Language: it\n"
diff --git a/po/lt_LT.po b/po/lt_LT.po
index 2b0bea0..2e46faa 100644
--- a/po/lt_LT.po
+++ b/po/lt_LT.po
@@ -5,10 +5,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: vdr-iptv 2.2.1\n"
+"Project-Id-Version: vdr-iptv 2.3.0\n"
 "Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2015-04-04 04:04+0300\n"
-"PO-Revision-Date: 2015-04-04 04:04+0300\n"
+"POT-Creation-Date: 2017-06-24 06:24+0300\n"
+"PO-Revision-Date: 2017-06-24 06:24+0300\n"
 "Last-Translator: Valdemaras Pipiras\n"
 "Language-Team: Lithuanian <v...@linuxtv.org>\n"
 "Language: fi\n"
diff --git a/po/nl_NL.po b/po/nl_NL.po
index 7689869..662bd6d 100644
--- a/po/nl_NL.po
+++ b/po/nl_NL.po
@@ -5,10 +5,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: vdr-iptv 2.2.1\n"
+"Project-Id-Version: vdr-iptv 2.3.0\n"
 "Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2015-04-04 04:04+0300\n"
-"PO-Revision-Date: 2015-04-04 04:04+0300\n"
+"POT-Creation-Date: 2017-06-24 06:24+0300\n"
+"PO-Revision-Date: 2017-06-24 06:24+0300\n"
 "Last-Translator: Carel\n"
 "Language-Team: Dutch <v...@linuxtv.org>\n"
 "Language: nl\n"
diff --git a/po/fi_FI.po b/po/pl_PL.po
similarity index 51%
copy from po/fi_FI.po
copy to po/pl_PL.po
index 73090a5..f30c420 100644
--- a/po/fi_FI.po
+++ b/po/pl_PL.po
@@ -1,20 +1,21 @@
 # VDR plugin language source file.
-# Copyright (C) 2007-2015 Rolf Ahrenberg & Antti Seppala
-# This file is distributed under the same license as the iptv package.
-# Rolf Ahrenberg
+# Copyright (C) 2007-2017 Rolf Ahrenberg & Antti Seppala
+# This file is distributed under the same license as the vdr-iptv package.
+# Tomasz Maciej Nowak, 2017.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: vdr-iptv 2.2.1\n"
+"Project-Id-Version: vdr-iptv 2.3.0\n"
 "Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2015-04-04 04:04+0300\n"
-"PO-Revision-Date: 2015-04-04 04:04+0300\n"
-"Last-Translator: Rolf Ahrenberg\n"
-"Language-Team: Finnish <v...@linuxtv.org>\n"
-"Language: fi\n"
+"POT-Creation-Date: 2017-06-24 06:24+0300\n"
+"PO-Revision-Date: 2017-06-24 06:24+0300\n"
+"Last-Translator: Tomasz Maciej Nowak <tome...@o2.pl>\n"
+"Language-Team: Polish <v...@linuxtv.org>\n"
+"Language: pl_PL\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.11\n"
 
 msgid "PAT (0x00)"
 msgstr "PAT (0x00)"
@@ -32,40 +33,40 @@ msgid "TDT (0x70)"
 msgstr "TDT (0x70)"
 
 msgid "Experience the IPTV"
-msgstr "Koe IPTV:n ihmeellinen maailma"
+msgstr "Poznaj IPTV"
 
 msgid "IPTV Information"
-msgstr "IPTV-tiedot"
+msgstr "IPTV - informacje"
 
 msgid "General"
-msgstr "Yleiset"
+msgstr "Główne"
 
 msgid "Pids"
-msgstr "Pidit"
+msgstr "Pidy"
 
 msgid "Filters"
-msgstr "Suodattimet"
+msgstr "Filtry"
 
 msgid "Bits/bytes"
-msgstr "Bitit/tavut"
+msgstr "Bity/bajty"
 
 msgid "IPTV information not available!"
-msgstr "IPTV-tietoja ei saatavilla!"
+msgstr "Brak dostępnych informacji IPTV!"
 
 msgid "Protocol base port"
-msgstr "Protokollan perusportti"
+msgstr "Podstawowy port protokołu"
 
 msgid ""
 "Define a base port used by CURL/EXT protocol.\n"
 "\n"
 "The port range is defined by the number of IPTV devices. This setting sets 
the port which is listened for connections from external applications when 
using the CURL/EXT protocol."
 msgstr ""
-"Määrittele protokollan käyttämä perusportti.\n"
+"Określa podstawowy port używany przez protokół CURL/EXT.\n"
 "\n"
-"Porttiavaruuden koko määräytyy käytettyjen IPTV-laitteiden mukaan. Laajennos 
lukee CURL/EXT-protokollan yhteydessä perusportista dataa, jota ulkoiset 
ohjelmistot tarjoavat."
+"Zakres portów jest zdefiniowany liczbą urządzeń IPTV. To ustawienie nadaje 
port, który nasłuchuje połączeń z zewnętrznych aplikacji używających protokołu 
CURL/EXT."
 
 msgid "Use section filtering"
-msgstr "Käytä sektioiden suodatusta"
+msgstr "Używaj filtrowania sekcji"
 
 msgid ""
 "Define whether the section filtering shall be used.\n"
@@ -73,31 +74,31 @@ msgid ""
 "Section filtering means that IPTV plugin tries to parse and provide VDR with 
secondary data about the currently active stream. VDR can then use this data 
for providing various functionalities such as automatic pid change detection 
and EPG etc.\n"
 "Enabling this feature does not affect streams that do not contain section 
data."
 msgstr ""
-"Määrittele suodatuksen käyttö sektioille.\n"
+"Określa czy włączyć filtrowanie sekcji.\n"
 "\n"
-"IPTV-laajennos voi suodattaa lähetteestä VDR:lle tarjottavia sektioita, joita 
käytetään esim. ohjelmaoppaan ja ohjelmatunnisteiden (PID) päivittämiseen.\n"
-"Toiminto ei vaikuta lähetteeseen, jossa ei ole sektioita."
+"Filtrowanie sekcji oznacza że wtyczka IPTV próbuje analizować i dostarczyć 
VDR dodatkowe informacje o aktywnym strumieniu. VDR może użyć tych danych aby 
dostarczyć dodatkowe usługi jak automatyczne wykrycie zmiany pidów i EPG, 
etc.\n"
+"Włączenie tej funkcji nie wpływa na strumienie nie posiadające danych sekcji."
 
 msgid "Disabled filters"
-msgstr "Poista suodattimia käytöstä"
+msgstr "Wyłączone filtry"
 
 msgid ""
 "Define number of section filters to be disabled.\n"
 "\n"
 "Certain section filters might cause some unwanted behaviour to VDR such as 
time being falsely synchronized. By black-listing the filters here useful 
section data can be left intact for VDR to process."
 msgstr ""
-"Määrittele käytöstä poistettavien suodattimien lukumäärä sektioille.\n"
+"Określa liczbę wyłączonych filtrów sekcji.\n"
 "\n"
-"Tietyt sektiot saattavat aiheuttaa virheellistä toimintaa VDR:ssä, 
esimerkiksi asettavat väärän kellonajan, ja näiden poistaminen auttaa VDR:ää 
toimimaan kunnolla jäljelle jäävien sektioiden kanssa."
+"Niektóre filtry sekcji mogą powodować niezamierzone efekty w VDR, takie jak 
zły czas synchronizacji. Poprzez wyłączenie niektórych filtrów, użyteczne dane 
sekcji będą dostępne do przetworzenia dla VDR."
 
 msgid "Filter"
-msgstr "Suodatin"
+msgstr "Filtr"
 
 msgid "Define an ill-behaving filter to be blacklisted."
-msgstr "Määrittele käytöstä poistettava suodatin, joka lisätään mustalle 
listalle."
+msgstr "Określa filtry powodujące zakłócenia, które mają być wyłączone."
 
 msgid "Help"
-msgstr "Opaste"
+msgstr "Pomoc"
 
 msgid "UDP"
 msgstr "UDP"
@@ -109,25 +110,25 @@ msgid "HTTP"
 msgstr "HTTP"
 
 msgid "FILE"
-msgstr "FILE"
+msgstr "PLIK"
 
 msgid "EXT"
 msgstr "EXT"
 
 msgid "Rid"
-msgstr "Radio-ID"
+msgstr "Rid"
 
 msgid "Scan section ids"
-msgstr "Etsi sektiotunnisteet"
+msgstr "Skanuj sekcję identyfikatorów"
 
 msgid "Scan pids"
-msgstr "Etsi pidit"
+msgstr "Skanuj pidy"
 
 msgid "Protocol"
-msgstr "Protokolla"
+msgstr "Protokół"
 
 msgid "Address"
-msgstr "Osoite"
+msgstr "Adres"
 
 msgid "Parameter"
-msgstr "Parametri"
+msgstr "Parametr"
diff --git a/po/ru_RU.po b/po/ru_RU.po
index 4afba74..a3576a9 100644
--- a/po/ru_RU.po
+++ b/po/ru_RU.po
@@ -5,10 +5,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: vdr-iptv 2.2.1\n"
+"Project-Id-Version: vdr-iptv 2.3.0\n"
 "Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2015-04-04 04:04+0300\n"
-"PO-Revision-Date: 2015-04-04 04:04+0300\n"
+"POT-Creation-Date: 2017-06-24 06:24+0300\n"
+"PO-Revision-Date: 2017-06-24 06:24+0300\n"
 "Last-Translator: Alexander Gross <bikalexan...@gmail.com>\n"
 "Language-Team: Russian <v...@linuxtv.org>\n"
 "Language: ru\n"
diff --git a/sidscanner.c b/sidscanner.c
index 098d51d..b46faef 100644
--- a/sidscanner.c
+++ b/sidscanner.c
@@ -89,13 +89,17 @@ void cSidScanner::Process(u_short pidP, u_char tidP, const 
u_char *dataP, int le
         }
      }
   if ((newSid >= 0) || (newNid >= 0) || (newTid >= 0)) {
-     if (!Channels.Lock(true, 10))
+     cStateKey StateKey;
+     cChannels *Channels = cChannels::GetChannelsWrite(StateKey, 10);
+     if (!Channels)
         return;
-     cChannel *IptvChannel = Channels.GetByChannelID(channelIdM);
+     bool ChannelsModified = false;
+     cChannel *IptvChannel = Channels->GetByChannelID(channelIdM);
      if (IptvChannel)
-        IptvChannel->SetId((newNid < 0) ? IptvChannel->Nid() : newNid, (newTid 
< 0) ? IptvChannel->Tid() : newTid,
-                           (newSid < 0) ? IptvChannel->Sid() : newSid, 
IptvChannel->Rid());
-     Channels.Unlock();
+        ChannelsModified |= IptvChannel->SetId(Channels, (newNid < 0) ? 
IptvChannel->Nid() : newNid,
+                                               (newTid < 0) ? 
IptvChannel->Tid() : newTid,
+                                               (newSid < 0) ? 
IptvChannel->Sid() : newSid, IptvChannel->Rid());
+     StateKey.Remove(ChannelsModified);
      }
   if (sidFoundM && nidFoundM && tidFoundM) {
      SetChannel(tChannelID::InvalidID);
diff --git a/source.c b/source.c
index f737107..08571ca 100644
--- a/source.c
+++ b/source.c
@@ -164,7 +164,7 @@ void cIptvSourceParam::GetData(cChannel *channelP)
 {
   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);
+  channelP->SetId(NULL, channelP->Nid(), channelP->Tid(), channelP->Sid(), 
ridM);
 }
 
 cOsdItem *cIptvSourceParam::GetOsdItem(void)

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-vdr-dvb/vdr-plugin-iptv.git

_______________________________________________
pkg-vdr-dvb-changes mailing list
pkg-vdr-dvb-changes@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-vdr-dvb-changes

Reply via email to