if (pcrpid == 0xFFFF)
pcrpid = pmt.getPcrPid();
else
- eDebug("already have a pcrpid %04x %04x", pcrpid, pmt.getPcrPid());
+ SCAN_eDebug("already have a pcrpid %04x %04x", pcrpid, pmt.getPcrPid());
ElementaryStreamInfoConstIterator es;
for (es = pmt.getEsInfo()->begin(); es != pmt.getEsInfo()->end(); ++es)
{
for (DescriptorConstIterator desc = (*es)->getDescriptors()->begin();
desc != (*es)->getDescriptors()->end(); ++desc)
{
- switch ((*desc)->getTag())
+ uint8_t tag = (*desc)->getTag();
+ if (!isaudio && !isvideo)
{
- case DTS_DESCRIPTOR:
- case AAC_DESCRIPTOR:
- isaudio = 1;
- case AC3_DESCRIPTOR:
- isaudio = 1;
- break;
- case CA_DESCRIPTOR:
- is_scrambled = 1;
- break;
- case REGISTRATION_DESCRIPTOR: /* some services don't have a separate AC3 descriptor */
- {
- /* libdvbsi++ doesn't yet support this descriptor type, so work around. */
- if ((*desc)->getLength() != 4)
- break;
- unsigned char descr[6];
- (*desc)->writeToBuffer(descr);
- int format_identifier = (descr[2] << 24) | (descr[3] << 16) | (descr[4] << 8) | (descr[5]);
- switch (format_identifier)
+ switch (tag)
{
- case 0x41432d33:
+ case DTS_DESCRIPTOR:
+ case AAC_DESCRIPTOR:
+ isaudio = 1;
+ case AC3_DESCRIPTOR:
isaudio = 1;
- default:
+ break;
+ case REGISTRATION_DESCRIPTOR: /* some services don't have a separate AC3 descriptor */
+ {
+ /* libdvbsi++ doesn't yet support this descriptor type, so work around. */
+ if ((*desc)->getLength() != 4)
+ break;
+ unsigned char descr[6];
+ (*desc)->writeToBuffer(descr);
+ int format_identifier = (descr[2] << 24) | (descr[3] << 16) | (descr[4] << 8) | (descr[5]);
+ switch (format_identifier)
+ {
+ case 0x41432d33:
+ isaudio = 1;
+ default:
+ break;
+ }
break;
}
- break;
- }
+ }
}
+ if (tag == CA_DESCRIPTOR)
+ is_scrambled = 1;
}
break;
}
{
eDVBFrontendParametersSatellite parm;
feparm->getDVBS(parm);
- eDebug("try to add %d %d %d %d %d %d",
+ SCAN_eDebug("try to add %d %d %d %d %d %d",
parm.orbital_position, parm.frequency, parm.symbol_rate, parm.polarisation, parm.fec, parm.modulation);
break;
}
{
eDVBFrontendParametersCable parm;
feparm->getDVBC(parm);
- eDebug("try to add %d %d %d %d",
+ SCAN_eDebug("try to add %d %d %d %d",
parm.frequency, parm.symbol_rate, parm.modulation, parm.fec_inner);
break;
}
{
eDVBFrontendParametersTerrestrial parm;
feparm->getDVBT(parm);
- eDebug("try to add %d %d %d %d %d %d %d %d",
+ SCAN_eDebug("try to add %d %d %d %d %d %d %d %d",
parm.frequency, parm.modulation, parm.transmission_mode, parm.hierarchy,
parm.guard_interval, parm.code_rate_LP, parm.code_rate_HP, parm.bandwidth);
break;
if (!found_count)
{
*i = feparm; // update
- eDebug("update");
+ SCAN_eDebug("update");
}
else
{
- eDebug("remove dupe");
+ SCAN_eDebug("remove dupe");
m_ch_toScan.erase(i++);
continue;
}
if (found_count > 0)
{
- eDebug("already in todo list");
+ SCAN_eDebug("already in todo list");
return;
}
for (std::list<ePtr<iDVBFrontendParameters> >::const_iterator i(m_ch_scanned.begin()); i != m_ch_scanned.end(); ++i)
if (sameChannel(*i, feparm))
{
- eDebug("successfully scanned");
+ SCAN_eDebug("successfully scanned");
return;
}
for (std::list<ePtr<iDVBFrontendParameters> >::const_iterator i(m_ch_unavailable.begin()); i != m_ch_unavailable.end(); ++i)
if (sameChannel(*i, feparm, true))
{
- eDebug("scanned but not available");
+ SCAN_eDebug("scanned but not available");
return;
}
/* ... on the current channel */
if (sameChannel(m_ch_current, feparm))
{
- eDebug("is current");
+ SCAN_eDebug("is current");
return;
}
- eDebug("really add");
+ SCAN_eDebug("really add");
/* otherwise, add it to the todo list. */
m_ch_toScan.push_front(feparm); // better.. then the rotor not turning wild from east to west :)
}
if (m_ready & validNIT)
{
- eDebug("validNIT");
int system;
std::list<ePtr<iDVBFrontendParameters> > m_ch_toScan_backup;
m_ch_current->getSystem(system);
if ( abs(abs(3600 - p.orbital_position) - sat.orbital_position) < 5 )
{
- eDebug("found transponder with incorrect west/east flag ... correct this");
+ SCAN_eDebug("found transponder with incorrect west/east flag ... correct this");
sat.orbital_position = p.orbital_position;
}
if (m_abort_current_pmt)
{
m_abort_current_pmt = false;
- PMTready(-1);
+ PMTready(-2);
}
return;
}
{
if (sameChannel(*i, m_ch_current))
{
- eDebug("remove dupe 2");
+ SCAN_eDebug("remove dupe 2");
m_ch_toScan.erase(i++);
continue;
}
std::list<ePtr<iDVBFrontendParameters> >::iterator it(m_ch_scanned.begin());
for (;it != m_ch_scanned.end(); ++it)
{
- if (m_flags & scanDontRemoveUnscanned) {
- eDebug("scanDontRemoveUnscanned!");
+ if (m_flags & scanDontRemoveUnscanned)
db->removeServices(&(*(*it)));
- }
else
{
int system;