[snip]Well - not good news to report. When something was marked to be recorded - the backend is freaking out and looping. This is with the patch applied:
2005-01-05 17:24:59.384 TuneTo(42-1) curList[i].freq(639250)[snip]
2005-01-05 17:25:00.808 VCT Terra 2005-01-05 17:25:00.808 Channel #0 name(MPT-DT) 22-2 cTSID(0x575) pnum(2) ETM_loc(1) access_ctrl(0) hidden(0) hide_guide(1) service_type(2) source_id(1) descriptors length(23) count(1) Service Location Descriptor (0xa1) length(21)
2005-01-05 17:25:00.808 Channel #1 name(MPT-HD) 22-6 cTSID(0x575) pnum(6) ETM_loc(1) access_ctrl(0) hidden(0) hide_guide(1) service_type(2) source_id(2) descriptors length(17) count(1) Service Location Descriptor (0xa1) length(15)
From this, it appears your MPT station has channels 22-2 and 22-6! We're trying to change to 22-1. I'd call this a misconfiguration on their part, but we should probably be picking a default in this case. In the meantime, if you edit your freqid field to be 42-2 or 42-6, does it work? Of course, this will probably be reset by your next mythfilldatabase run.
Also, does the attached patch work any better? It contains the old patch as well, so you can skip the atsctables.h part of the patch. If this doesn't do anything either, a 50MB capture from this channel would be helpful.
-Doug
Index: libs/libmythtv/mpeg/atsctables.h
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/mpeg/atsctables.h,v
retrieving revision 1.1
diff -u -r1.1 atsctables.h
--- libs/libmythtv/mpeg/atsctables.h 8 Dec 2004 02:04:08 -0000 1.1
+++ libs/libmythtv/mpeg/atsctables.h 5 Jan 2005 23:23:43 -0000
@@ -154,7 +154,10 @@
QString str;
const unsigned short* ustr =
reinterpret_cast<const unsigned short*>(_ptrs[i]);
- for (int j=0; j<7; j++) str.append(QChar((ustr[j]<<8) | (ustr[j]>>8)));
+ for (int j=0; j<7; j++) {
+ QChar c((ustr[j]<<8) | (ustr[j]>>8));
+ if (c != QChar('\0')) str.append(c);
+ }
return str;
}
// reserved 4 14.0 0xf
Index: libs/libmythtv/mpeg/atscstreamdata.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/mpeg/atscstreamdata.cpp,v
retrieving revision 1.2
diff -u -r1.2 atscstreamdata.cpp
--- libs/libmythtv/mpeg/atscstreamdata.cpp 24 Dec 2004 23:24:07 -0000
1.2
+++ libs/libmythtv/mpeg/atscstreamdata.cpp 5 Jan 2005 23:23:43 -0000
@@ -120,6 +120,11 @@
VERBOSE(VB_RECORD, QString("VCT Terra"));
TerrestrialVirtualChannelTable vct(*psip);
SetVersionTVCT(vct.TransportStreamID(), version);
+ if (vct.ChannelCount() < 1) {
+ VERBOSE(VB_IMPORTANT, "TVCT: table has no channels");
+ HT_RETURN;
+ }
+ bool found = false;
for (uint i=0; i<vct.ChannelCount(); i++) {
VERBOSE(VB_RECORD, vct.toString(i));
if (vct.MinorChannel(i)==(uint)DesiredSubchannel()) {
@@ -133,9 +138,17 @@
// Do a (partial?) reset here if old desired
// program is not 0?
setDesiredProgram(vct.ProgramNumber(i));
+ found = true;
}
}
}
+ if (!found) {
+ VERBOSE(VB_IMPORTANT,
+ QString("Desired subchannel %1 not found;"
+ " using %2 instead")
+ .arg(DesiredSubchannel()).arg(vct.MinorChannel(0)));
+ setDesiredProgram(vct.ProgramNumber(0));
+ }
}
break;
case 0xC9: VERBOSE(VB_RECORD, QString("VCT Cable")); break;
signature.asc
Description: OpenPGP digital signature
_______________________________________________ mythtv-users mailing list [email protected] http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
