--- epg.c	2006/08/05 10:04:17	1.79
+++ epg.c	2006/10/07 13:34:32
@@ -87,7 +87,8 @@
 tComponent *cComponents::GetComponent(int Index, uchar Stream, uchar Type)
 {
   for (int i = 0; i < numComponents; i++) {
-      if (components[i].stream == Stream && components[i].type == Type) {
+      // The 'type' check actually just distinguishes between "normal" and "Dolby Digital":
+      if (components[i].stream == Stream && (components[i].type < 5) == (Type < 5)) {
          if (!Index--)
             return &components[i];
          }
