[mythtv] DVB 3.4 report

Hamish Moffatt hamish at cloud.net.au
Fri Jan 7 00:33:02 EST 2005


Hi,

Just did some testing with the current CVS code plus the DVB 3.4 patch.

This is great work! Much easier than configuring all the PIDs by hand,
and the associated problems when they occasionally change. I'm
particularly looking forward to getting AC3 running here.

Here are some notes:

1. Cancelled my very first scan of a transport because I input the
frequency incorrectly. The setup program segfaulted. I didn't get a
backtrace, sorry.

[...]
2005-01-07 14:29:18.269 DVB#0 WARNING - Status: SIGNAL | NO LOCK!
ScanWizardScanner::cancelScan
2005-01-07 14:29:21.490 SIParser: Stopping SIScanner
Segmentation fault

2. We have five television networks here (Australia, in the capital
cities at least) and each one has their own multiplex in each location.
Their NIT information doesn't include the other stations. Hence I had to
add a channel five times with each station's multiplex information.
Not much can be done about that.

Each time I chose 'full scan', which scanned the new network to obtain
NIT, then scanned each of the existing multiplexes. This wasn't too
painful, although a new type of scan for new multiplexes only might be
useful.

The linux-dvb distribution includes user-contributed data for its
'scan' application which contains multiplex information. Would it be
useful to be able to import that information?

3. Four of the five multiplexes include just a single NIT in their
stream, but one of them includes entries for half a dozen different
frequencies - but only one of them exists in this area. Is this legal?

It means that the scan (and any subsequent full scan) takes a long
while, while the scans of all the non-existent multiplexes timeout.
Not much you can do about that either really.

4. Some of our networks include multiple services with different service
IDs but the same PIDs. I don't know why they bother, and I don't know if
they assign the same channel number to each (since I don't have a full
DVB set-top-box to check with.) I guess the solution here is to mark the
duplicates as not visible(?). Here's an example output from scan:

hamish at tv:~$ scan -c
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
0x0000 0x0530: pmt_pid 0x0300 Seven Network -- 7 Digital (running)
0x0000 0x0534: pmt_pid 0x0340 Network Seven -- 7 HD Digital (running)
0x0000 0x0531: pmt_pid 0x0020 (null) -- 7 Digital 1 (running)
0x0000 0x0532: pmt_pid 0x0320 (null) -- 7 Digital 2 (running)
0x0000 0x0533: pmt_pid 0x0330 (null) -- 7 Digital 3 (running)
0x0000 0x0536: pmt_pid 0x0360 Seven Network -- 7 Guide (running)
dumping lists (6 services)
7 Digital                (0x0530) 01: PCR == V   V 0x0301 A 0x0302       TT 0x0304
7 Digital 1              (0x0531) 01: PCR == V   V 0x0301 A 0x0302       TT 0x0304
7 Digital 2              (0x0532) 01: PCR == V   V 0x0301 A 0x0302       TT 0x0304
7 Digital 3              (0x0533) 01: PCR == V   V 0x0301 A 0x0302       TT 0x0304
7 HD Digital             (0x0534) 01: PCR == V   V 0x0341 A 0x0342       TT 0x0304 AC3 0x0343
7 Guide                  (0x0536) 01: PCR == V   V 0x0361 A 0x0362
Done.

I'll have to go through and enter XMLTV IDs anyway, as we don't have any
useful DVB guide data here.

5. Setup all complete now. Started mythfrontend; tuned to the starting
channel just fine and quickly with live TV. However any channel change 
causes the backend to die:

mythbackend: pthread_mutex_lock.c:78: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed.

The starting channel played fine before I tried to change channel.
The failure to happen before any retuning. Here's the full output of my
backend session;

Starting up as the master server.
QSettings::sync: filename is null/empty
2005-01-07 16:25:11.035 SIParser: Using DelAllPids from SIParser which does nothing
2005-01-07 16:25:11.037 DVB#0 DVB SI Table Parser Started
2005-01-07 16:25:11.039 SIParser: Starting DVB Section Reader thread
2005-01-07 16:25:11.041 DVB#0 Using DVB card 0, with frontend Spase SP887x DVB-T.
2005-01-07 16:25:11.043 DVB#0 ERROR - CA: Failed to initialize CI handler
2005-01-07 16:25:11.044 DVB#0 DVB Signal Monitor Starting
2005-01-07 16:25:11.392 DVB#0 Signal Locked
2005-01-07 16:25:12.044 DVB#0 WARNING - Status: NO LOCK!
2005-01-07 16:25:12.046 DVB#0 Status: CARRIER | VITERBI | SIGNAL | SYNC | LOCK.
2005-01-07 16:25:13.054 SIParser: SIParser Running again Pulling PAT and SDT/MGT
2005-01-07 16:25:13.055 DVB#0 Multiplex Locked
2005-01-07 16:25:13.245 SIParser: PAT Version = 1
2005-01-07 16:25:13.246 SIParser: Tuned to TransportID: 561
2005-01-07 16:25:13.255 SIParser: NIT Present on this transport on PID 16
2005-01-07 16:25:13.256 SIParser: Services on this Transport: 560 561 562 563 564 566
2005-01-07 16:25:13.489 SIParser: PMT ServiceID: 561 Version = 1
2005-01-07 16:25:13.490 SIParser: AC3 Descriptor
2005-01-07 16:25:13.497 SIParser: Teletext Descriptor
2005-01-07 16:25:13.505 SIParser:   lang: eng, type: 2, mag: 0, page: 1
2005-01-07 16:25:13.514 DVB#0 AutoPID selecting PID 512, Video
2005-01-07 16:25:13.522 DVB#0 AutoPID selecting PID 650, PCM
2005-01-07 16:25:13.530 DVB#0 AutoPID selecting PID 660, AC3
2005-01-07 16:25:13.531 DVB#0 AutoPID selecting PID 576, Teletext
2005-01-07 16:25:13.532 DVB#0 AutoPID Complete - PAT/PMT Loaded for service
2005-01-07 16:25:13.533 DVB#0 Service is FTA
2005-01-07 16:25:13.534 DVB#0 Successfully tuned to channel 561.
2005-01-07 16:25:13.539 mythbackend version: 0.16.20041224-1 www.mythtv.org
2005-01-07 16:25:13.540 Enabled verbose msgs : important general
2005-01-07 16:25:14.823 SIParser: SI Standard Detected: DVB
2005-01-07 16:25:14.825 SIParser: SDT: sid=564 type=1 name=ABC TV 4
2005-01-07 16:25:14.830 SIParser: SDT: sid=563 type=1 name=ABC TV 3
2005-01-07 16:25:14.831 SIParser: SDT: sid=560 type=1 name=ABC HDTV
2005-01-07 16:25:14.832 SIParser: SDT: sid=562 type=1 name=ABC TV 2
2005-01-07 16:25:14.833 SIParser: SDT: sid=561 type=1 name=ABC TV Melbourne
2005-01-07 16:25:14.834 SIParser: SDT: sid=566 type=2 name=ABC DiG Radio
2005-01-07 16:25:15.547 Found changes in the todo list.
2005-01-07 16:25:15.552 Scheduled 0 items in 0.0 seconds.
2005-01-07 16:25:15.562 Seem to be woken up by USER
2005-01-07 16:25:56.567 MainServer::HandleAnnounce Playback
2005-01-07 16:25:56.569 adding: tv as a client (events: 0)
2005-01-07 16:25:56.594 MainServer::HandleAnnounce Playback
2005-01-07 16:25:56.596 adding: tv as a client (events: 1)
2005-01-07 16:25:56.599 MainServer::HandleAnnounce Playback
2005-01-07 16:25:56.600 adding: tv as a client (events: 0)
2005-01-07 16:25:56.841 MainServer::HandleAnnounce Playback
2005-01-07 16:25:56.844 adding: tv as a client (events: 0)
2005-01-07 16:25:56.862 adding: tv as a remote ringbuffer
2005-01-07 16:25:56.871 Changing from None to WatchingLiveTV
2005-01-07 16:25:56.887 DVB#0 Recorder: Card opened successfully.
2005-01-07 16:25:56.891 DVB#0 Data read from DMX - This is for debugging with transform.c
Audiostream: Layer: 1  BRate: 128 kb/s  Freq: 48.0 kHz
Videostream: ASPECT: 16:9  Size = 720x576  FRate: 25 fps  BRate: 15.00 Mbit/s
mythbackend: pthread_mutex_lock.c:78: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed.

I don't have any guide data loaded; I don't know if that's contributing.
(Maybe this assertion isn't dvb-specific at all.)

I have two DVB-T cards, but I didn't try adding the other one yet to see
if it also starts up OK.


Thanks,

Hamish
-- 
Hamish Moffatt VK3SB <hamish at debian.org> <hamish at cloud.net.au>


More information about the mythtv-dev mailing list