[mythtv] Current DVB problems rundown

Stuart Auchterlonie stuarta at squashedfrog.net
Tue Sep 13 10:10:42 UTC 2005


On Tue, Sep 13, 2005 at 10:29:45AM +0100, Stuart Auchterlonie wrote:
> 
> I have a patch which adds the identification of these streams
> to mpegtables which I will attach....
> 
> 

The old patch doesn't apply to 7244.
Updated patch included.

Stuart

-------------- next part --------------
Index: dsmcc/libs/libmythtv/mpeg/mpegtables.h
===================================================================
--- dsmcc.orig/libs/libmythtv/mpeg/mpegtables.h	2005-09-13 11:05:36.000000000 +0100
+++ dsmcc/libs/libmythtv/mpeg/mpegtables.h	2005-09-13 11:05:58.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,
@@ -471,6 +477,14 @@
         psipdata()[2] = ((length<<8) & 0x0f) | (psipdata()[2] & 0xf0);
         psipdata()[3] = length & 0xff;
     }
+    /// 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));
+    }
 };
 
 /** \class AdaptationFieldControl
Index: dsmcc/libs/libmythtv/mpeg/mpegtables.cpp
===================================================================
--- dsmcc.orig/libs/libmythtv/mpeg/mpegtables.cpp	2005-09-13 11:05:36.000000000 +0100
+++ dsmcc/libs/libmythtv/mpeg/mpegtables.cpp	2005-09-13 11:08:35.000000000 +0100
@@ -323,6 +323,10 @@
     else if (StreamID::PrivData==streamID)
         return "private-data";
 
+    // DSMCC Object Carousel
+    else if (StreamID::IsObjectCarousel(streamID))
+	return "object carousel";
+
     else switch (streamID) {
         case (TableID::STUFFING):
             retval="stuffing"; break; // optionally in any
@@ -345,4 +349,3 @@
 {
     return QString( StreamID::toString(StreamType(i)) );
 }
-


More information about the mythtv-dev mailing list