mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-28 07:51:19 +02:00
eitd/sectionsd.cpp: compare full channel id to wakeup eit -
on broken providers zap was not detected
This commit is contained in:
@@ -111,6 +111,7 @@ std::string epg_dir("");
|
|||||||
/* messaging_current_servicekey does probably not need locking, since it is
|
/* messaging_current_servicekey does probably not need locking, since it is
|
||||||
changed from one place */
|
changed from one place */
|
||||||
static t_channel_id messaging_current_servicekey = 0;
|
static t_channel_id messaging_current_servicekey = 0;
|
||||||
|
static t_channel_id current_channel_id = 0;
|
||||||
static bool channel_is_blacklisted = false;
|
static bool channel_is_blacklisted = false;
|
||||||
|
|
||||||
bool timeset = false;
|
bool timeset = false;
|
||||||
@@ -876,20 +877,19 @@ static void commandPauseScanning(int connfd, char *data, const unsigned dataLeng
|
|||||||
|
|
||||||
static void commandserviceChanged(int connfd, char *data, const unsigned dataLength)
|
static void commandserviceChanged(int connfd, char *data, const unsigned dataLength)
|
||||||
{
|
{
|
||||||
t_channel_id uniqueServiceKey = 0;
|
|
||||||
|
|
||||||
sendEmptyResponse(connfd, NULL, 0);
|
sendEmptyResponse(connfd, NULL, 0);
|
||||||
if (dataLength != sizeof(sectionsd::commandSetServiceChanged))
|
if (dataLength != sizeof(sectionsd::commandSetServiceChanged))
|
||||||
goto out;
|
return;
|
||||||
|
|
||||||
uniqueServiceKey = (((sectionsd::commandSetServiceChanged *)data)->channel_id);
|
t_channel_id uniqueServiceKey = (((sectionsd::commandSetServiceChanged *)data)->channel_id);
|
||||||
uniqueServiceKey &= 0xFFFFFFFFFFFFULL;
|
|
||||||
|
|
||||||
xprintf("[sectionsd] commandserviceChanged: Service change to " PRINTF_CHANNEL_ID_TYPE "\n\n", uniqueServiceKey);
|
xprintf("[sectionsd] commandserviceChanged: Service change to " PRINTF_CHANNEL_ID_TYPE "\n\n", uniqueServiceKey);
|
||||||
|
|
||||||
static t_channel_id time_trigger_last = 0;
|
static t_channel_id time_trigger_last = 0;
|
||||||
|
|
||||||
if (messaging_current_servicekey != uniqueServiceKey) {
|
if (current_channel_id != uniqueServiceKey) {
|
||||||
|
current_channel_id = uniqueServiceKey;
|
||||||
|
|
||||||
dvb_time_update = !checkNoDVBTimelist(uniqueServiceKey);
|
dvb_time_update = !checkNoDVBTimelist(uniqueServiceKey);
|
||||||
dprintf("[sectionsd] commandserviceChanged: DVB time update is %s\n", dvb_time_update ? "allowed" : "blocked!");
|
dprintf("[sectionsd] commandserviceChanged: DVB time update is %s\n", dvb_time_update ? "allowed" : "blocked!");
|
||||||
|
|
||||||
@@ -904,7 +904,7 @@ static void commandserviceChanged(int connfd, char *data, const unsigned dataLen
|
|||||||
unlockEvents();
|
unlockEvents();
|
||||||
|
|
||||||
writeLockMessaging();
|
writeLockMessaging();
|
||||||
messaging_current_servicekey = uniqueServiceKey;
|
messaging_current_servicekey = uniqueServiceKey & 0xFFFFFFFFFFFFULL;
|
||||||
messaging_have_CN = 0x00;
|
messaging_have_CN = 0x00;
|
||||||
messaging_got_CN = 0x00;
|
messaging_got_CN = 0x00;
|
||||||
messaging_zap_detected = true;
|
messaging_zap_detected = true;
|
||||||
@@ -926,8 +926,6 @@ static void commandserviceChanged(int connfd, char *data, const unsigned dataLen
|
|||||||
else
|
else
|
||||||
dprintf("[sectionsd] commandserviceChanged: no change...\n");
|
dprintf("[sectionsd] commandserviceChanged: no change...\n");
|
||||||
|
|
||||||
out:
|
|
||||||
//sendEmptyResponse(connfd, NULL, 0);
|
|
||||||
xprintf("[sectionsd] commandserviceChanged: Service changed to " PRINTF_CHANNEL_ID_TYPE "\n\n", uniqueServiceKey);
|
xprintf("[sectionsd] commandserviceChanged: Service changed to " PRINTF_CHANNEL_ID_TYPE "\n\n", uniqueServiceKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user