summaryrefslogtreecommitdiff
path: root/command/ts2pkt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'command/ts2pkt.cpp')
-rw-r--r--command/ts2pkt.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/command/ts2pkt.cpp b/command/ts2pkt.cpp
index 8667fd6..3fbfa75 100644
--- a/command/ts2pkt.cpp
+++ b/command/ts2pkt.cpp
@@ -136,7 +136,10 @@ bool cMarkAdTS2Pkt::Process(MarkAdPid Pid, uchar *TSData, int TSSize, MarkAdPack
}
counter=tshdr->Counter;
- if (tshdr->PayloadStart) sync=true;
+ if (tshdr->PayloadStart)
+ {
+ sync=true;
+ }
if (!sync)
{
return false; // not synced
@@ -188,6 +191,21 @@ bool cMarkAdTS2Pkt::Process(MarkAdPid Pid, uchar *TSData, int TSSize, MarkAdPack
return false;
}
+ if (tshdr->PayloadStart)
+ {
+ if ((buf[0]!=0) && (buf[1]!=0))
+ {
+ sync=false;
+ if (buflen<7) return false;
+ // add a pseudo padding stream
+ buf[0]=0;
+ buf[1]=0;
+ buf[2]=1;
+ buf[3]=0xbe;
+ buf[4]=buflen-6;
+ buf[5]=0;
+ }
+ }
queue->Put(buf,buflen);
}
if (!ret) return ret;