--- vdr-plugin-vnsiserver/demuxer.h 2010-06-03 13:53:13.000000000 -0500 +++ vdr-plugin-vnsiserver.working/demuxer.h 2010-09-03 15:07:25.000000000 -0500 @@ -31,6 +31,7 @@ #define PRIVATE_STREAM1 0xBD #define PADDING_STREAM 0xBE #define PRIVATE_STREAM2 0xBF +#define PRIVATE_STREAM3 0xFD #define AUDIO_STREAM_S 0xC0 /* 1100 0000 */ #define AUDIO_STREAM_E 0xDF /* 1101 1111 */ #define VIDEO_STREAM_S 0xE0 /* 1110 0000 */ @@ -69,7 +70,7 @@ inline bool PesIsPS1Packet(const uchar *p) { - return ((p)[3] == PRIVATE_STREAM1); + return ((p)[3] == PRIVATE_STREAM1 || (p)[3] == PRIVATE_STREAM3 ); } inline bool PesIsPaddingPacket(const uchar *p) --- vdr-plugin-vnsiserver/receiver.c 2010-08-07 16:45:04.000000000 -0500 +++ vdr-plugin-vnsiserver.working/receiver.c 2010-09-03 15:20:25.000000000 -0500 @@ -171,6 +171,7 @@ { case 0x01: // ISO/IEC 11172 Video case 0x02: // ISO/IEC 13818-2 Video + case 0x80: // ATSC Video MPEG2 (DigiCypher?) LOGCONSOLE("cStreamdevPatFilter PMT scanner adding PID %d (%s)\n", stream.getPid(), psStreamTypes[stream.getStreamType()]); *type = stMPEG2VIDEO; return stream.getPid(); @@ -272,11 +273,11 @@ break; default: /* This following section handles all the cases where the audio track - * info is stored in PMT user info with stream id >= 0x80 + * info is stored in PMT user info with stream id >= 0x81 * we check the registration format identifier to see if it * holds "AC-3" */ - if (stream.getStreamType() >= 0x80) + if (stream.getStreamType() >= 0x81) { bool found = false; for (SI::Loop::Iterator it; (d = stream.streamDescriptors.getNext(it)); )