[mythtv] Replaying DVB MPEG-TS SI via mythfilerecorder for channel scanning
roger at beardandsandals.co.uk
Wed Mar 1 11:04:33 UTC 2017
This is a lot more straightforward than I originally thought. However I
suspect it only works by accident!
or anyone how has not tried it.
Here are the the steps.
1. Setup a new capture "External (black box) recorder type
2. For the file setting use "/full/path/to/mythfilerecorder
--infile=/full/path/to/capturedfile" (without the quotes)
3. Connect the card to an "over the air" videosource and select the
MPEG2TS input type.
4. Scan for channels etc. on the connection you just defined.
The reason I say may work by chance as far as SI is concerned is that
the it will always use the "scan current transport" scan type.
This piece of code (channelscanner.cpp) looks like this.
else if (ScanTypeSetting::CurrentTransportScan == scantype)
QString sistandard = "mpeg";
LOG(VB_CHANSCAN, LOG_INFO, LOC +
"ScanCurrentTransport(" + sistandard + ")");
ok = sigmonScanner->ScanCurrentTransport(sistandard);
Note that the sistandard string is set to "mpeg" lower case.
and this piece of code (channelscan_sm.cpp) looks like this.
bool ChannelScanSM::Tune(const transport_scan_items_it_t &transport)
if (item.tuning.sistandard == "MPEG")
return GetDTVChannel()->Tune(item.iptv_tuning, true);
const uint64_t freq = item.freq_offset(transport.offset());
DTVMultiplex tuning = item.tuning;
tuning.frequency = freq;
if (m_scanDTVTunerType == DTVTunerType::kTunerTypeDVBT2)
tuning.mod_sys = DTVModulationSystem::kModulationSystem_DVBT2;
tuning.mod_sys = DTVModulationSystem::kModulationSystem_DVBT;
sistandard is being tested against "MPEG" uppercase. So it never goes
down the iptv tuning path. Which is good for me because it would
I hope nobody "fixes" it :-).
More information about the mythtv-dev