Revision e3b7216b

View differences:

libavformat/rdt.c
178 178
{
179 179
    int consumed = 10;
180 180

  
181
    if (len > 0 && (buf[0] < 0x40 || buf[0] > 0x42)) {
182
        buf += 9;
183
        len -= 9;
184
        consumed += 9;
181
    /* skip status packets */
182
    while (len >= 5 && buf[1] == 0xFF /* status packet */) {
183
        int pkt_len;
184

  
185
        if (!(buf[0] & 0x80))
186
            return -1; /* not followed by a data packet */
187

  
188
        pkt_len = AV_RB16(buf+3);
189
        buf += pkt_len;
190
        len -= pkt_len;
191
        consumed += pkt_len;
185 192
    }
186 193
    if (len < 10)
187 194
        return -1;

Also available in: Unified diff