diff --git a/src/demux/tsdemuxer.js b/src/demux/tsdemuxer.js index f133f457be5..a236ae7a83f 100644 --- a/src/demux/tsdemuxer.js +++ b/src/demux/tsdemuxer.js @@ -1036,17 +1036,19 @@ class TSDemuxer { // scan for aac samples while (offset < len) { - if (ADTS.isHeader(data, offset) && (offset + 5) < len) { - let frame = ADTS.appendFrame(track, data, offset, pts, frameIndex); - if (frame) { - // logger.log(`${Math.round(frame.sample.pts)} : AAC`); - offset += frame.length; - stamp = frame.sample.pts; - frameIndex++; - } else { - // logger.log('Unable to parse AAC frame'); - break; + if (ADTS.isHeader(data, offset)) { + if ((offset + 5) < len) { + const frame = ADTS.appendFrame(track, data, offset, pts, frameIndex); + if (frame) { + offset += frame.length; + stamp = frame.sample.pts; + frameIndex++; + continue; + } } + // We are at an ADTS header, but do not have enough data for a frame + // Remaining data will be added to aacOverFlow + break; } else { // nothing found, keep looking offset++;