[mythtv-users] Driver buffer overflows on one station due to PMT continuity errors
Hunter McDaniel
oxothuk.maps at 4dv.net
Fri May 25 21:08:58 UTC 2007
I have consistent problems with "driver buffer overflows" in the backend
for one particular stations - KTVD-DT in Denver, CO. When attempting to
view this channel, the video will play for two or three seconds before
pausing, then go another few seconds, etc. If I don't switch away
within thirty seconds or so, it's not uncommon for the frontend to
hang. From reading back through the archives, I can see that the same
problem was reported by 'ccljacobson' a couple of months ago, but I
didn't see any resolution to the issue.
For reference, my setup is as follows:
-Dell 8300, 2.6 GHz Pentiuum 4 with hyper-threading
-1024 MB memory
-Dvico Fusion 5 Lite tuner card
-PNY NVidia 6200 graphics card, using component-out at 1080i.
-MythDora 4.0 package set, no upgrades.
FWIW, I have no problems viewing this channel using the DVICO Fusion
software under Windows. Furthermore, if I capture the transport stream
to a file with dvbsnoop, then myth can smoothly playback the file (using
Xine). However, any attempt to record this channel with myth results in
a massive number of "Driver buffer overflows" in the mythbackend log and
the resulting file is unplayable.
To get some additional insight on the issue, I added "-v important,
general, record" and made another attempt to record KTVD. What I could
now see were very frequent "discontinuity errors" in the PMT, which was
on PID 0x30. Each occurrence of a PMT discontinuity was followed by a
whole series of other messages that seem to indicate that mythbackend
was trying to reconstruct the PMT and PAT, resetting Demux filters,
etc. I don't know exactly what that entails but I'm pretty sure it's
not something I want to be doing many times per second, and I'm now sure
also that the discontinuity errors are what is triggering my problems
with KTVD. A couple more points:
1) I don't see continuity errors on any other channel (except maybe a
couple at the very beginning of a recording).
2) The discontinuity errors on KTVD are all on PID 0x30, which is the PMT.
3) My signal strength is more than adequate. Indeed, there are four
other channels which I receive perfectly who have their broadcast
antennas at the exact same location at KTVD with essentially equal ERPs.
The next thing I did was to look at at dump of PID 0x30 packets using
dvbsnoop. When I did, I saw something very interesting - the
continuity counters were interleaving two different sequences - e.g.
(1,6,2,7,3,8,4,9,5,10,6,11,7,12,8,13,9,14,10,15,11,0,......). Looking
at the payloads, I could see that the content of the two sequences was
different also; the basic information and list of datastreams were the
same, but the set of descriptors was not. Who know WTF is actually
going on at the station, but I'm guessing that they have two different
pieces of equipment injecting PMTs into the mux.
So the net result is that EVERY PMT packet on KTVD-DT is going to
generate a discontinuity error to any program which cares - and
obviously mythbackend is a program that does care. On the other hand,
Xine is a apparently a program that doesn't care - maybe it just ingores
PMT packets once it has found a PMT that seems to work?
Now I will probably send a email to the station manager, and maybe they
will eliminate the duplicate PMTs someday. Or maybe they will consider
my inability to timeshift their station and skip their commercials as a
feature rather than a bug.
In the meantime, though, is there any way for me to tell myth to chill
out on these continuity errors? - you know, like Xine does, like my LG
4200A set top box does, and I have to guess most other DTV receivers do
else the station would have fixed the problem long ago.
Any ideas or suggestions would be greatly appreciated. For reference, I
have attached below a snippet of my backend log.
======= BEGIN excerpt from mythbackend.log
=====================================
2007-05-24 08:45:25.396 DVBRec(0): PID 0x30 discontinuity detected
2007-05-24 08:45:25.397 DVBRec(0): SetPMT(3)
2007-05-24 08:45:25.397 CreatePMTSingleProgram()
2007-05-24 08:45:25.398 PMT in input stream
2007-05-24 08:45:25.399 Program Map Table ver(11) pid(0x30) pnum(3) len(66)
Maximum Bitrate Descriptor (0xe) length(3)
Smoothing Buffer Descriptor (0x10) length(6)
System Clock Descriptor (0xb) length(2)
Registration Descriptor: 'GA94' ATSC program ID A/53
Stream #0 pid(0x31) type(video-mpeg2 0x2)
Unknown(6) Descriptor (0x6) length(1)
Stream #1 pid(0x34) type(audio-ac3 0x129)
Registration Descriptor: 'AC-3' ATSC audio stream A/52
ISO-639 Language: code(eng) canonical(eng) eng(English)
Audio Stream Descriptor full_srv(1) sample_rate(48kbps)
bit_rate(=384kbps, 14)
bsid(8) bs_mode(0) channels(2/0) Dolby(Not indicated)
mainID(2) isLatin-1(true) text_length(29) text(TODO)
2007-05-24 08:45:25.400 PMT for output stream
2007-05-24 08:45:25.401 Program Map Table ver(11) pid(0x30) pnum(1) len(23)
Stream #0 pid(0x31) type(video-mpeg2 0x2)
Stream #1 pid(0x34) type(audio-ac3 0x129)
2007-05-24 08:45:25.402 Writing PAT & PMT @6845832 + 742224
2007-05-24 08:45:25.406 DVBRec(0): PID 0x30 discontinuity detected
2007-05-24 08:45:25.412 DVBRec(0): SetPMT(3)
2007-05-24 08:45:25.413 CreatePMTSingleProgram()
2007-05-24 08:45:25.414 PMT in input stream
2007-05-24 08:45:25.414 Program Map Table ver(3) pid(0x30) pnum(3) len(74)
Registration Descriptor: 'GA94' ATSC program ID A/53
Stream #0 pid(0x31) type(video-mpeg2 0x2)
STD Descriptor (0x11) length(1)
Smoothing Buffer Descriptor (0x10) length(6)
Unknown(6) Descriptor (0x6) length(1)
Caption Service Descriptor services(1)
lang(eng) type(1) easy_reader(0) wide(0) service_num(1)
Stream #1 pid(0x34) type(audio-ac3 0x129)
Registration Descriptor: 'AC-3' ATSC audio stream A/52
Audio Stream Descriptor full_srv(1) sample_rate(48kbps)
bit_rate(=384kbps, 14)
bsid(8) bs_mode(0) channels(2/0) Dolby(Not indicated)
mainID(0)
ISO-639 Language: code(eng) canonical(eng) eng(English)
2007-05-24 08:45:25.416 PMT for output stream
2007-05-24 08:45:25.416 Program Map Table ver(3) pid(0x30) pnum(1) len(23)
Stream #0 pid(0x31) type(video-mpeg2 0x2)
Stream #1 pid(0x34) type(audio-ac3 0x129)
2007-05-24 08:45:25.417 Writing PAT & PMT @7068424 + 353440
2007-05-24 08:45:25.421 DVBRec(0): PID 0x30 discontinuity detected
2007-05-24 08:45:25.430 DVBRec(0): SetPMT(3)
2007-05-24 08:45:25.431 CreatePMTSingleProgram()
2007-05-24 08:45:25.432 PMT in input stream
2007-05-24 08:45:25.440 Program Map Table ver(11) pid(0x30) pnum(3) len(66)
Maximum Bitrate Descriptor (0xe) length(3)
Smoothing Buffer Descriptor (0x10) length(6)
System Clock Descriptor (0xb) length(2)
Registration Descriptor: 'GA94' ATSC program ID A/53
Stream #0 pid(0x31) type(video-mpeg2 0x2)
Unknown(6) Descriptor (0x6) length(1)
Stream #1 pid(0x34) type(audio-ac3 0x129)
Registration Descriptor: 'AC-3' ATSC audio stream A/52
ISO-639 Language: code(eng) canonical(eng) eng(English)
Audio Stream Descriptor full_srv(1) sample_rate(48kbps)
bit_rate(=384kbps, 14)
bsid(8) bs_mode(0) channels(2/0) Dolby(Not indicated)
mainID(2) isLatin-1(true) text_length(29) text(TODO)
2007-05-24 08:45:25.441 PMT for output stream
2007-05-24 08:45:25.442 Program Map Table ver(11) pid(0x30) pnum(1) len(23)
Stream #0 pid(0x31) type(video-mpeg2 0x2)
Stream #1 pid(0x34) type(audio-ac3 0x129)
2007-05-24 08:45:25.443 Writing PAT & PMT @7307936 + 565504
2007-05-24 08:45:25.445 DVBRec(0): Resetting Demux Filters
2007-05-24 08:45:28.525 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 30 data 0x0 0x1 0x224 0x48
2007-05-24 08:45:28.526 DVBRec(0): CreatePMT(void) INPUT
Program Map Table ver(11) pid(0x30) pnum(3) len(66)
Maximum Bitrate Descriptor (0xe) length(3)
Smoothing Buffer Descriptor (0x10) length(6)
System Clock Descriptor (0xb) length(2)
Registration Descriptor: 'GA94' ATSC program ID A/53
Stream #0 pid(0x31) type(video-mpeg2 0x2)
Unknown(6) Descriptor (0x6) length(1)
Stream #1 pid(0x34) type(audio-ac3 0x129)
Registration Descriptor: 'AC-3' ATSC audio stream A/52
ISO-639 Language: code(eng) canonical(eng) eng(English)
Audio Stream Descriptor full_srv(1) sample_rate(48kbps)
bit_rate(=384kbps, 14)
bsid(8) bs_mode(0) channels(2/0) Dolby(Not indicated)
mainID(2) isLatin-1(true) text_length(29) text(TODO)
2007-05-24 08:45:28.527 DVBRec(0): CreatePMT(void) OUTPUT
Program Map Table ver(0) pid(0x30) pnum(1) len(66)
Maximum Bitrate Descriptor (0xe) length(3)
Smoothing Buffer Descriptor (0x10) length(6)
System Clock Descriptor (0xb) length(2)
Registration Descriptor: 'GA94' ATSC program ID A/53
Stream #0 pid(0x31) type(video-mpeg2 0x2)
Unknown(6) Descriptor (0x6) length(1)
Stream #1 pid(0x34) type(audio-ac3 0x129)
Registration Descriptor: 'AC-3' ATSC audio stream A/52
ISO-639 Language: code(eng) canonical(eng) eng(English)
Audio Stream Descriptor full_srv(1) sample_rate(48kbps)
bit_rate(=384kbps, 14)
bsid(8) bs_mode(0) channels(2/0) Dolby(Not indicated)
mainID(0) isLatin-1(true) text_length(91) text(TODO)
2007-05-24 08:45:28.528 DVBRec(0): SetOutputPMT()
Program Map Table ver(0) pid(0x30) pnum(1) len(66)
Maximum Bitrate Descriptor (0xe) length(3)
Smoothing Buffer Descriptor (0x10) length(6)
System Clock Descriptor (0xb) length(2)
Registration Descriptor: 'GA94' ATSC program ID A/53
Stream #0 pid(0x31) type(video-mpeg2 0x2)
Unknown(6) Descriptor (0x6) length(1)
Stream #1 pid(0x34) type(audio-ac3 0x129)
Registration Descriptor: 'AC-3' ATSC audio stream A/52
ISO-639 Language: code(eng) canonical(eng) eng(English)
Audio Stream Descriptor full_srv(1) sample_rate(48kbps)
bit_rate(=384kbps, 14)
bsid(8) bs_mode(0) channels(2/0) Dolby(Not indicated)
mainID(0) isLatin-1(true) text_length(91) text(TODO)
2007-05-24 08:45:28.531 Writing PAT & PMT @7375240 + 1131008
2007-05-24 08:45:28.532 PID 0x34 Found Payload Start
2007-05-24 08:45:28.533 PID 0x31 Found Payload Start
2007-05-24 08:45:28.535 DVBRec(0): SetPMT(3)
2007-05-24 08:45:28.536 CreatePMTSingleProgram()
2007-05-24 08:45:28.537 DevRdB(0) Error: Driver buffers overflowed
2007-05-24 08:45:28.544 PMT in input stream
2007-05-24 08:45:28.548 Program Map Table ver(3) pid(0x30) pnum(3) len(74)
Registration Descriptor: 'GA94' ATSC program ID A/53
Stream #0 pid(0x31) type(video-mpeg2 0x2)
STD Descriptor (0x11) length(1)
Smoothing Buffer Descriptor (0x10) length(6)
Unknown(6) Descriptor (0x6) length(1)
Caption Service Descriptor services(1)
lang(eng) type(1) easy_reader(0) wide(0) service_num(1)
Stream #1 pid(0x34) type(audio-ac3 0x129)
Registration Descriptor: 'AC-3' ATSC audio stream A/52
Audio Stream Descriptor full_srv(1) sample_rate(48kbps)
bit_rate(=384kbps, 14)
bsid(8) bs_mode(0) channels(2/0) Dolby(Not indicated)
mainID(0)
ISO-639 Language: code(eng) canonical(eng) eng(English)
2007-05-24 08:45:28.549 PMT for output stream
2007-05-24 08:45:28.550 Program Map Table ver(3) pid(0x30) pnum(1) len(23)
Stream #0 pid(0x31) type(video-mpeg2 0x2)
Stream #1 pid(0x34) type(audio-ac3 0x129)
2007-05-24 08:45:28.550 Writing PAT & PMT @7490672 + 1378416
2007-05-24 08:45:28.557 DVBRec(0): PID 0x30 discontinuity detected
2007-05-24 08:45:28.569 DVBRec(0): SetPMT(3)
2007-05-24 08:45:28.570 CreatePMTSingleProgram()
2007-05-24 08:45:28.570 PMT in input stream
2007-05-24 08:45:28.571 Program Map Table ver(11) pid(0x30) pnum(3) len(66)
Maximum Bitrate Descriptor (0xe) length(3)
Smoothing Buffer Descriptor (0x10) length(6)
System Clock Descriptor (0xb) length(2)
Registration Descriptor: 'GA94' ATSC program ID A/53
Stream #0 pid(0x31) type(video-mpeg2 0x2)
Unknown(6) Descriptor (0x6) length(1)
Stream #1 pid(0x34) type(audio-ac3 0x129)
Registration Descriptor: 'AC-3' ATSC audio stream A/52
ISO-639 Language: code(eng) canonical(eng) eng(English)
Audio Stream Descriptor full_srv(1) sample_rate(48kbps)
bit_rate(=384kbps, 14)
bsid(8) bs_mode(0) channels(2/0) Dolby(Not indicated)
mainID(2) isLatin-1(true) text_length(29) text(TODO)
2007-05-24 08:45:28.572 PMT for output stream
2007-05-24 08:45:28.573 Program Map Table ver(11) pid(0x30) pnum(1) len(23)
Stream #0 pid(0x31) type(video-mpeg2 0x2)
Stream #1 pid(0x34) type(audio-ac3 0x129)
2007-05-24 08:45:28.577 Writing PAT & PMT @7606480 + 1343072
2007-05-24 08:45:28.582 DVBRec(0): PID 0x30 discontinuity detected
2007-05-24 08:45:28.598 DVBRec(0): SetPMT(3)
2007-05-24 08:45:28.599 CreatePMTSingleProgram()
2007-05-24 08:45:28.600 PMT in input stream
2007-05-24 08:45:28.601 Program Map Table ver(3) pid(0x30) pnum(3) len(74)
Registration Descriptor: 'GA94' ATSC program ID A/53
Stream #0 pid(0x31) type(video-mpeg2 0x2)
STD Descriptor (0x11) length(1)
Smoothing Buffer Descriptor (0x10) length(6)
Unknown(6) Descriptor (0x6) length(1)
Caption Service Descriptor services(1)
lang(eng) type(1) easy_reader(0) wide(0) service_num(1)
Stream #1 pid(0x34) type(audio-ac3 0x129)
Registration Descriptor: 'AC-3' ATSC audio stream A/52
Audio Stream Descriptor full_srv(1) sample_rate(48kbps)
bit_rate(=384kbps, 14)
bsid(8) bs_mode(0) channels(2/0) Dolby(Not indicated)
mainID(0)
ISO-639 Language: code(eng) canonical(eng) eng(English)
2007-05-24 08:45:28.602 PMT for output stream
2007-05-24 08:45:28.602 Program Map Table ver(3) pid(0x30) pnum(1) len(23)
Stream #0 pid(0x31) type(video-mpeg2 0x2)
Stream #1 pid(0x34) type(audio-ac3 0x129)
2007-05-24 08:45:28.604 Writing PAT & PMT @7908408 + 706880
2007-05-24 08:45:28.606 DVBRec(0): PID 0x30 discontinuity detected
2007-05-24 08:45:28.607 DVBRec(0): SetPMT(3)
2007-05-24 08:45:28.608 CreatePMTSingleProgram()
2007-05-24 08:45:28.609 PMT in input stream
2007-05-24 08:45:28.610 Program Map Table ver(11) pid(0x30) pnum(3) len(66)
Maximum Bitrate Descriptor (0xe) length(3)
Smoothing Buffer Descriptor (0x10) length(6)
System Clock Descriptor (0xb) length(2)
Registration Descriptor: 'GA94' ATSC program ID A/53
Stream #0 pid(0x31) type(video-mpeg2 0x2)
Unknown(6) Descriptor (0x6) length(1)
Stream #1 pid(0x34) type(audio-ac3 0x129)
Registration Descriptor: 'AC-3' ATSC audio stream A/52
ISO-639 Language: code(eng) canonical(eng) eng(English)
Audio Stream Descriptor full_srv(1) sample_rate(48kbps)
bit_rate(=384kbps, 14)
bsid(8) bs_mode(0) channels(2/0) Dolby(Not indicated)
mainID(2) isLatin-1(true) text_length(29) text(TODO)
2007-05-24 08:45:28.611 PMT for output stream
2007-05-24 08:45:28.612 Program Map Table ver(11) pid(0x30) pnum(1) len(23)
Stream #0 pid(0x31) type(video-mpeg2 0x2)
Stream #1 pid(0x34) type(audio-ac3 0x129)
2007-05-24 08:45:28.613 Writing PAT & PMT @8042640 + 954288
2007-05-24 08:45:28.617 DVBRec(0): PID 0x30 discontinuity detected
2007-05-24 08:45:28.618 DVBRec(0): SetPMT(3)
2007-05-24 08:45:28.619 CreatePMTSingleProgram()
2007-05-24 08:45:28.620 PMT in input stream
2007-05-24 08:45:28.621 Program Map Table ver(3) pid(0x30) pnum(3) len(74)
Registration Descriptor: 'GA94' ATSC program ID A/53
Stream #0 pid(0x31) type(video-mpeg2 0x2)
STD Descriptor (0x11) length(1)
Smoothing Buffer Descriptor (0x10) length(6)
Unknown(6) Descriptor (0x6) length(1)
Caption Service Descriptor services(1)
lang(eng) type(1) easy_reader(0) wide(0) service_num(1)
Stream #1 pid(0x34) type(audio-ac3 0x129)
Registration Descriptor: 'AC-3' ATSC audio stream A/52
Audio Stream Descriptor full_srv(1) sample_rate(48kbps)
bit_rate(=384kbps, 14)
bsid(8) bs_mode(0) channels(2/0) Dolby(Not indicated)
mainID(0)
ISO-639 Language: code(eng) canonical(eng) eng(English)
2007-05-24 08:45:28.622 PMT for output stream
2007-05-24 08:45:28.622 Program Map Table ver(3) pid(0x30) pnum(1) len(23)
Stream #0 pid(0x31) type(video-mpeg2 0x2)
Stream #1 pid(0x34) type(audio-ac3 0x129)
2007-05-24 08:45:28.623 Writing PAT & PMT @8260908 + 706880
2007-05-24 08:45:28.627 DVBRec(0): Resetting Demux Filters
More information about the mythtv-users
mailing list