Index: dvbcut/src/mpegmuxer.cpp
===================================================================
RCS file: /var/cvs/sys/qt3/dvbcut/src/mpegmuxer.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- dvbcut/src/mpegmuxer.cpp	5 Jul 2006 21:07:45 -0000	1.2
+++ dvbcut/src/mpegmuxer.cpp	25 Aug 2006 18:07:49 -0000	1.3
@@ -478,6 +478,16 @@
     //       }
 
 
+    int pes_padding = 0;
+    if (packsize) {
+      int maxpayload = pack::maxpayload(packsize);
+      assert(len <= maxpayload);
+      if (maxpayload - len < 8)
+        pes_padding = maxpayload - len;
+      headerlen += pes_padding;
+      len += pes_padding;
+      }
+
     pack * const p=new pack(packsize,len,muxrate,a->getdts());
     s->packlist.push_back(p);
     ++s->packet;
@@ -547,6 +557,14 @@
         headerext=false;
         headerlen-=3;
         }
+      if (pes_padding > 0) {
+        memset(data, 0xff, pes_padding);
+        data += pes_padding;
+        headerlen -= pes_padding;
+        plen -= pes_padding;
+        len -= pes_padding;
+        pes_padding = 0;
+        }
       if (isprivatestream) {
         *(data++)=s->id & 0xff;
         --plen;

