Merge branch 'dvbsi++' of coolstreamtech.de:cst-public-gui-neutrino into dvbsi++

Origin commit data
------------------
Branch: ni/coolstream
Commit: 1e444d2f61
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2013-01-30 (Wed, 30 Jan 2013)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
[CST] Focus
2013-01-30 11:06:54 +04:00
3 changed files with 21 additions and 2 deletions

View File

@@ -128,6 +128,8 @@ class CServiceManager
CZapitChannel* FindChannelByName(std::string name);
CZapitChannel* FindCurrentChannel(const t_channel_id channel_id);
CZapitChannel* FindChannel48(const t_channel_id channel_id);
CZapitChannel* FindChannelFuzzy(const t_channel_id channel_id,
const t_satellite_position pos, const freq_id_t freq);
std::string GetServiceName(t_channel_id channel_id);

View File

@@ -7,6 +7,8 @@
* rasc <rasc@berlios.de>,
* thegoodguy <thegoodguy@berlios.de>
*
* (C) 2009, 2011, 2013 Stefan Seyfried
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -363,10 +365,11 @@ void CBouquetManager::parseBouquetsXml(const char *fname, bool bUser)
freq = freq/1000;
CZapitChannel* chan;
t_channel_id chid = CREATE_CHANNEL_ID64;
if(bUser)
chan = CServiceManager::getInstance()->FindChannel48(CREATE_CHANNEL_ID64);
chan = CServiceManager::getInstance()->FindChannelFuzzy(chid, satellitePosition, freq);
else
chan = CServiceManager::getInstance()->FindChannel(CREATE_CHANNEL_ID64);
chan = CServiceManager::getInstance()->FindChannel(chid);
if (chan != NULL) {
DBG("%04x %04x %04x %s\n", transport_stream_id, original_network_id, service_id, xmlGetAttribute(channel_node, "n"));
#if 0

View File

@@ -3,6 +3,8 @@
*
* (C) 2002, 2003 by Andreas Oberritter <obi@tuxbox.org>
*
* (C) 2007-2009, 2013 Stefan Seyfried
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -220,6 +222,18 @@ CZapitChannel * CServiceManager::FindChannel48(const t_channel_id channel_id)
return NULL;
}
CZapitChannel* CServiceManager::FindChannelFuzzy(const t_channel_id channel_id,
const t_satellite_position pos, const freq_id_t freq)
{
CZapitChannel *ret;
ret = FindChannel48(channel_id);
if (!ret || !(pos == ret->getSatellitePosition()))
return NULL;
if (abs((int)ret->getFreqId() - (int)freq) < 3)
return ret;
return NULL;
}
bool CServiceManager::GetAllRadioChannels(ZapitChannelList &list, int flags)
{
list.clear();