]> git.vomp.tv Git - vompclient.git/commitdiff
Bug fix
authorMark Calderbank <mark@vomp.tv>
Sat, 13 May 2006 23:27:54 +0000 (23:27 +0000)
committerMark Calderbank <mark@vomp.tv>
Sat, 13 May 2006 23:27:54 +0000 (23:27 +0000)
demuxervdr.cc

index c65c06d9403268be22ccc5429b3e4bc095c83076..28668c3d4561cb1a8175101f0008bb274ea37fe5 100644 (file)
@@ -164,9 +164,11 @@ int DemuxerVDR::put(UCHAR* buf, int len, ULLONG cur_pos)
       case  0:
       case -1:
         if (*buf == 0x00) state--; else state = 0;
+        buf++; len--; ret++;
         break;
       case -2:
         if (*buf == 0x01) state--; else if (*buf != 0x00) state = 0;
+        buf++; len--; ret++;
         break;
       case -3:
         if ((*buf >= PESTYPE_VID0 && *buf <= PESTYPE_VIDMAX) ||
@@ -175,24 +177,25 @@ int DemuxerVDR::put(UCHAR* buf, int len, ULLONG cur_pos)
         {
           packet.init(*buf);
           state--;
-          break;
         }
         else if (*buf == 0x00)
           state = -1;
         else
           state = 0;
+        buf++; len--; ret++;
         break;
       case -4:
         packetLength = ((UINT)*buf) << 8;
         state--;
+        buf++; len--; ret++;
         break;
       case -5:
         packetLength += *buf;
         state--;
+        buf++; len--; ret++;
         break;
     }
 
-    buf++; len--; ret++;
 #ifdef NEW_DEMUXER
     current_position++;
 #endif