Index: mythtv-trunk/libs/libmythtv/siscan.cpp =================================================================== --- mythtv-trunk.orig/libs/libmythtv/siscan.cpp +++ mythtv-trunk/libs/libmythtv/siscan.cpp @@ -1365,15 +1365,14 @@ int SIScan::InsertMultiplex(const transp if (!GetDVBChannel()->GetTuningParams(tuning)) tuning = (*transport).tuning; - uint bestFrequency = FindBestMplexFreq( - tuning.Frequency(), - transport, - (*transport).SourceID, - sm->GetDetectedTransportID(), - sm->GetDetectedNetworkID()); - // Write the best info we have to the DB if (FE_OFDM == GetDVBChannel()->GetCardType()) + { + // determine the best frequency in case of other_frequencies + uint bestFrequency = FindBestMplexFreq( + tuning.Frequency(), transport, (*transport).SourceID, + sm->GetDetectedTransportID(), sm->GetDetectedNetworkID()); + mplexid = ChannelUtil::CreateMultiplex( (*transport).SourceID, (*transport).standard, bestFrequency, tuning.ModulationDB(), @@ -1385,6 +1384,7 @@ int SIScan::InsertMultiplex(const transp QString::null /*inner FEC*/,tuning.ConstellationDB(), tuning.HierarchyChar(), tuning.HPCodeRateString(), tuning.LPCodeRateString(), tuning.GuardIntervalString()); + } else if (FE_QPSK == GetDVBChannel()->GetCardType()) mplexid = ChannelUtil::CreateMultiplex( (*transport).SourceID, (*transport).standard, @@ -1398,6 +1398,19 @@ int SIScan::InsertMultiplex(const transp tuning.QPSKInnerFECString(),QString::null, -1, QString::null, QString::null, QString::null); + else if (FE_QAM == GetDVBChannel()->GetCardType()) + mplexid = ChannelUtil::CreateMultiplex( + (*transport).SourceID, (*transport).standard, + (*transport).tuning.Frequency(), + tuning.ModulationString(), + sm->GetDetectedTransportID(), + sm->GetDetectedNetworkID(), + tuning.QAMSymbolRate(), -1, + -1 /* polarity */, tuning.InversionChar(), + -1 /* transmission mode */, + tuning.QAMInnerFECString(), QString::null, + -1, QString::null, + QString::null, QString::null); else mplexid = ChannelUtil::CreateMultiplex( (*transport).SourceID, (*transport).standard,