[mythtv] Possible bug in PID filtering

Alessandro Fiorino a.fiorino at chibacity.it
Wed Sep 27 15:05:06 UTC 2006


I think there is a problem in the new code for handling DVB fast
channel switch: I've got an USB Artec T1 and all was fine using 0.19.
After upgrading to 0.20 (I'm using ATrpms pagackes) when I try to
watch the TV I've got the lock, but I always see a black screen and
the mythbackend log fills up with this error

DVBRec(0) Error: Could not open demux device.
eno: Too many open files (24)

Incrementing the log level I see

2006-09-27 03:25:43.288 DVBRec(0): Resetting Demux Filters
2006-09-27 03:25:43.288 DVBRec(0): Adding pid 0x0 size(94208)
2006-09-27 03:25:43.580 DVBRec(0): Adding pid 0xcb size(94208)
2006-09-27 03:25:43.583 DVBRec(0): Adding pid 0x1fff size(94208)
2006-09-27 03:25:43.587 DVBRec(0): Adding pid 0x4b3 size(94208)
2006-09-27 03:25:43.589 DVBRec(0): Missing video - adding dummy to PMT
2006-09-27 03:25:43.589 DVBRec(0): SetOutputPAT()
Program Association Table
 PSIP tableID(0x0) length(13) extension(0x1)
      version(1) current(1) section(0) last_section(0)
         tsid: 1
 programCount: 1
  program number 1 has PID 0x 4b3   data  0x0 0x1 0x228 0x179

2006-09-27 03:25:43.590 DVBRec(0): CreatePMT(void) INPUT

Program Map Table ver(0) pid(0x4b3) pnum(203) len(25)

 Stream #0 pid(0xcb) type(unknown  0x144)
  Stream Identifier Descriptor (0x52) length(1)
  Data Broadcast Identifier Descriptor (0x66) length(2)

2006-09-27 03:25:43.591 Created PMT
Program Map Table ver(1) pid(0x4b3) pnum(1) len(30)

 Stream #0 pid(0xcb) type(unknown  0x144)
  Stream Identifier Descriptor (0x52) length(1)
  Data Broadcast Identifier Descriptor (0x66) length(2)
 Stream #1 pid(0x21) type(video-mpeg2  0x2)

2006-09-27 03:25:43.591 DVBRec(0): CreatePMT(void) OUTPUT

Program Map Table ver(1) pid(0x4b3) pnum(1) len(30)

 Stream #0 pid(0xcb) type(unknown  0x144)
  Stream Identifier Descriptor (0x52) length(1)
  Data Broadcast Identifier Descriptor (0x66) length(2)
 Stream #1 pid(0x21) type(video-mpeg2  0x2)

2006-09-27 03:25:43.592 DVBRec(0): SetOutputPMT()
Program Map Table ver(1) pid(0x4b3) pnum(1) len(30)

 Stream #0 pid(0xcb) type(unknown  0x144)
  Stream Identifier Descriptor (0x52) length(1)
  Data Broadcast Identifier Descriptor (0x66) length(2)
 Stream #1 pid(0x21) type(video-mpeg2  0x2)

2006-09-27 03:25:43.592 DVBRec(0): Adding pid 0x10 size(94208)
2006-09-27 03:25:43.594 DVBRec(0): Adding pid 0x579 size(94208)
2006-09-27 03:25:43.594 DVBRec(0): Adding pid 0x57a size(94208)
2006-09-27 03:25:43.595 DVBRec(0): Adding pid 0x57d size(94208)
2006-09-27 03:25:43.597 DVBRec(0): Adding pid 0x57e size(94208)
2006-09-27 03:25:43.599 DVBRec(0): Adding pid 0x596 size(94208)
2006-09-27 03:25:43.601 DVBRec(0): Adding pid 0x5dd size(94208)
2006-09-27 03:25:43.602 DVBRec(0): Adding pid 0x97 size(94208)
2006-09-27 03:25:43.603 DVBRec(0): Adding pid 0x4e2 size(94208)
2006-09-27 03:25:43.604 DVBRec(0): Adding pid 0x4b9 size(94208)
2006-09-27 03:25:43.607 DVBRec(0): Adding pid 0x4ce size(94208)
2006-09-27 03:25:43.609 DVBRec(0): Adding pid 0x57c size(94208)
2006-09-27 03:25:43.611 DVBRec(0): Adding pid 0x57b size(94208)
2006-09-27 03:25:43.611 DVBRec(0) Error: Could not open demux device.
			eno: Too many open files (24)
2006-09-27 03:25:43.613 DVBRec(0): Closing low priority PID filter on PID 0x10.
2006-09-27 03:25:43.613 DVBRec(0): Adding pid 0x57b size(94208)
LOOK AT THIS -> 2006-09-27 03:25:43.615 DVBRec(0): Not listening on 7
PMT PIDs, 17 PID filters open.
2006-09-27 03:25:43.615 Writing PAT & PMT @0 + 0
2006-09-27 03:25:43.617 DVBRec(0): PID 0x1fff discontinuity detected
2006-09-27 03:25:43.617 DVBRec(0): PID 0x1fff discontinuity detected
2006-09-27 03:25:43.618 DVBRec(0): PID 0x1fff discontinuity detected
and so on

It says '17 PID filters open', but dmesg says

dvb-usb: found a 'DiBcom USB1.1 DVB-T reference design (MOD3000)' in warm state.
dvb-usb: will use the device's hardware PID filter (table count: 16).
DVB: registering new adapter (DiBcom USB1.1 DVB-T reference design (MOD3000)).
DVB: registering frontend 0 (DiBcom 3000M-B DVB-T)...
dibusb: This device has the Panasonic ENV77H11D5 onboard.
input: IR-receiver inside an USB DVB receiver as /class/input/input0
dvb-usb: schedule remote query interval to 150 msecs.
dvb-usb: DiBcom USB1.1 DVB-T reference design (MOD3000) successfully
initialized and connected.
usbcore: registered new driver dvb_usb_dibusb_mb


So why it opens 17 PIDs if my hardware supports only 16?


Thank you in advance
  Alessandro


More information about the mythtv-dev mailing list