On Sun, Sep 11, 2005 at 06:46:20PM +0100, Mark Weaver wrote: > Daniel Kristjansson wrote: > >On Sun, 2005-09-11 at 02:36 +0100, Mark Weaver wrote: > > > >>- Tuning to an off air channel (UK, transmitting data only) causes the > >>frontend to lock up > > > >Backend log with '-v record,siparser,channel' might help, this should > >have been fixed 2-3 weeks ago when we turned on table monitoring for > >DVB. > > > > > Here you go. Where the ... is the dummy recorder just carries on > forever (even if the frontend is killed).
This bit of the log Stream #0 pid(0x28a) type(unknown 0x11) Stream Identifier Descriptor (0x52) length(1) Stream #1 pid(0x28b) type(unknown 0x11) Stream Identifier Descriptor (0x52) length(1) Stream #2 pid(0x28c) type(unknown 0x11) Stream Identifier Descriptor (0x52) length(1) Stream #3 pid(0x3f3) type(unknown 0x11) Stream Identifier Descriptor (0x52) length(1) Stream #4 pid(0x3f4) type(unknown 0x11) Stream Identifier Descriptor (0x52) length(1) Unknown Descriptor (0x13) length(5) Data Broadcast Identifier Descriptor (0x66) length(13) Shows that the only thing left being broadcast on this channel is the dsmcc object carousel data (ie. Interactive TV, or in this case probably a screen saying the channel is off air). I have a patch which adds the identification of these streams to mpegtables which I will attach.... Stuart
Index: dsmcc/libs/libmythtv/mpeg/mpegtables.h =================================================================== --- dsmcc.orig/libs/libmythtv/mpeg/mpegtables.h 2005-09-07 21:52:13.000000000 +0100 +++ dsmcc/libs/libmythtv/mpeg/mpegtables.h 2005-09-09 13:59:14.000000000 +0100 @@ -45,6 +45,12 @@ PrivSec = 0x05, PrivData = 0x06, + // DSM-CC Object Carousel + DSMCC_A = 0x0A, // Multi-protocol Encapsulation + DSMCC_B = 0x0B, // Std DSMCC Data + DSMCC_C = 0x0C, // NPT DSMCC Data + DSMCC_D = 0x0D, // Any DSMCC Data + // special id's, not actually ID's but can be used in FindPIDs AnyMask = 0xFFFF0000, AnyVideo = 0xFFFF0001, @@ -68,6 +74,14 @@ (StreamID::AC3Audio == type) || (StreamID::DTSAudio == type)); } + /// Returns true iff stream contains DSMCC Object Carousel + static bool IsObjectCarousel(uint type) + { + return ((StreamID::DSMCC_A == type) || + (StreamID::DSMCC_B == type) || + (StreamID::DSMCC_C == type) || + (StreamID::DSMCC_D == type)); + } }; enum Index: dsmcc/libs/libmythtv/mpeg/mpegtables.cpp =================================================================== --- dsmcc.orig/libs/libmythtv/mpeg/mpegtables.cpp 2005-09-07 21:52:13.000000000 +0100 +++ dsmcc/libs/libmythtv/mpeg/mpegtables.cpp 2005-09-09 13:59:14.000000000 +0100 @@ -304,6 +304,8 @@ return "audio-aac"; // EIT, PMT else if (StreamID::DTSAudio==streamID) return "audio-dts"; // EIT, PMT + else if (StreamID::IsObjectCarousel(streamID)) + return "object carousel"; // DSMCC Object Carousel else switch (streamID) { case (TableID::STUFFING): retval="stuffing"; break; // optionally in any @@ -326,4 +328,3 @@ { return QString( nameStream(StreamType(i)) ); } -
_______________________________________________ mythtv-dev mailing list mythtv-dev@mythtv.org http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev