e->name = line+offs;
read_descr=false;
}
- else if (!strncmp(line, "#NAME ", 6) || !strncmp(line, "#NAME: ", 7))
- {
- int offs = line[5] == ':' ? 7 : 6;
- bouquet.m_bouquet_name=line+offs;
- }
+ else if (!strncmp(line, "#NAME ", 6))
+ bouquet.m_bouquet_name=line+6;
continue;
}
}
if ((unsigned int)sat.orbital_position != orbpos)
remove=false;
}
+ else if (orbpos != 0xFFFFFFFF) // do not remove -C or -T transponders when a orbital position is given..
+ remove=false;
if ( remove && chid.dvbnamespace != eNs && chid.dvbnamespace != ch.dvbnamespace )
remove=false;
if ( remove && chid.original_network_id != eOnid && chid.original_network_id != ch.original_network_id )
}
res->m_string = val;
- res->m_int = atoi(val.c_str());
-// res->m_channelid = eDVBChannelID(val);
-
+
+ if (res->m_type == eDVBChannelQuery::tChannelID)
+ {
+ int ns, tsid, onid;
+ if (sscanf(val.c_str(), "%08x%04x%04x", &ns, &tsid, &onid) == 3)
+ res->m_channelid = eDVBChannelID(eDVBNamespace(ns), eTransportStreamID(tsid), eOriginalNetworkID(onid));
+ else
+ eDebug("couldn't parse channelid !! format should be hex NNNNNNNNTTTTOOOO (namespace, tsid, onid)");
+ }
+ else
+ res->m_int = atoi(val.c_str());
+
return 0;
}