diff options
Diffstat (limited to 'command/demux.cpp')
-rw-r--r-- | command/demux.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/command/demux.cpp b/command/demux.cpp index a5b4ed7..6f58dde 100644 --- a/command/demux.cpp +++ b/command/demux.cpp @@ -183,6 +183,13 @@ int cMarkAdDemux::GetMinNeeded(MarkAdPid Pid, uchar *Data, int Count, bool *Offc } } +void cMarkAdDemux::VDRTSAddPATPMT2Offset(MarkAdPid Pid, uchar *Data, int Count, bool *Offcnt) +{ + if (Pid.Num<0) return; + if (Count<2) return; + if ((Data[0]==0x47) && (Data[1]==0x40) && ((Data[2]==0) || (Data[2]==0x84))) *Offcnt=false; +} + int cMarkAdDemux::Process(MarkAdPid Pid, uchar *Data, int Count, MarkAdPacket *Pkt) { if ((!Data) && (!Count) && (!Pkt)) return -1; @@ -274,5 +281,6 @@ int cMarkAdDemux::Process(MarkAdPid Pid, uchar *Data, int Count, MarkAdPacket *P } Pkt->Offcnt=true; + VDRTSAddPATPMT2Offset(Pid, in, inlen, &Pkt->Offcnt); return retval; } |