Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: Scan cannot cope with new Australian channel?



On Jan 29, 2004, at 3:29 PM, John Dalgliesh wrote:
Yeah that Digital 4 channel sure has some weird setup. And half the
services that it reckons are running are actually not running.
	I think they are running, but without any audio data.

...
	Adding -v does nothing helpful. Any ideas?
Have a look at the code in scan to see what it does if the service name
doesn't get set, but the network name does (or maybe the other way
around).
It was actually something stranger than that.
parse_nit() calls parse_descriptors() twice, first with
a NULL data pointer, and next with a transponder.

It seems that the first time, it looped up to
a descriptor tag of 0x5a, and was then calling
parse_terrestrial_delivery_system_descriptor(),
but because the transponder data is NULL, it was
crashing.

I guess that, ideally, we would tell the station to
fix their descriptor data, but in the meantime here is
a robustness patch:

% sudo scan dvb-tuning.uhf
scanning dvb-tuning.uhf
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
Frontend can not do INVERSION_AUTO, trying INVERSION_OFF instead
initial transponder 578500000 1 2 0 3 1 2 0
>>> tune to: 578500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_NONE:QAM_64: TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE
Network Name 'DIGITAL FOUR'
Segmentation fault

% diff -u scan.c scan.c.new
--- scan.c Mon Feb 2 10:05:24 2004
+++ scan.c.new Mon Feb 2 10:07:29 2004
@@ -625,6 +625,10 @@
break;

case 0x5a:
+ if (!data) {
+ warning("Cannot parse system descriptor (NULL data)\n");
+ break;
+ }
if (t == NIT)
parse_terrestrial_delivery_system_descriptor (buf, data);
break;

% sudo ./scan.new dvb-tuning.uhf
scanning dvb-tuning.uhf
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
Frontend can not do INVERSION_AUTO, trying INVERSION_OFF instead
initial transponder 578500000 1 2 0 3 1 2 0
>>> tune to: 578500000:INVERSION_OFF:BANDWIDTH_7_MHZ:FEC_2_3:FEC_NONE:QAM_64: TRANSMISSION
_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE
Network Name 'DIGITAL FOUR'
WARNING: Cannot parse system descriptor (NULL data)
0x0000 0x0028: pmt_pid 0x010c (null) -- D-FOUR (running)
0x0000 0x0029: pmt_pid 0x0101 ABC -- D4-News (running)
0x0000 0x002c: pmt_pid 0x010d (null) -- D-FOUR. (running)
0x0000 0x002d: pmt_pid 0x0102 OICT -- D4-NSW (running)
0x0000 0x0030: pmt_pid 0x0103 TAB -- D4-TAB (running)
0x0000 0x0031: pmt_pid 0x0104 EXPO/TVSN -- D4-EXPO (running)
0x0000 0x0191: pmt_pid 0x0105 Fed Parliament -- D4Parl-Reps (running)
0x0000 0x0192: pmt_pid 0x0106 Fed Parliament -- D4Parl-Senate (running)
0x0000 0x0193: pmt_pid 0x0107 Fed Parliament -- D4Parl-ComReps (running)
0x0000 0x0194: pmt_pid 0x0108 Fed Parliament -- D4Parl-1Com'tee (running)
0x0000 0x0195: pmt_pid 0x0109 Fed Parliament -- D4Parl-2Com'tee (running)
0x0000 0x0196: pmt_pid 0x010a Fed Parliament -- D4Parl-3Com'tee (running)
0x0000 0x0197: pmt_pid 0x010b Fed Parliament -- D4-Parl-1Com'tee (running)
dumping lists (13 services)
...

--
Nigel Pearson, nigel@ind.tansu.com.au | "Reality is that which,
Telstra BI&D, Sydney, Australia | when you stop believing
Office: 8255 4222 Fax: 8255 3153 | in it, doesn't go away."
Mobile: 0408 664435 Home: 9792 6998 | Philip K. Dick - 'Valis'



--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index