From 1554db1673db2983566caa830dcc819ca8c1d1cb Mon Sep 17 00:00:00 2001 From: Oliver Woodman Date: Thu, 11 Dec 2014 10:26:50 +0000 Subject: [PATCH] Skip bad PES packets Issue: #200 --- .../google/android/exoplayer/hls/TsExtractor.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/library/src/main/java/com/google/android/exoplayer/hls/TsExtractor.java b/library/src/main/java/com/google/android/exoplayer/hls/TsExtractor.java index ae4430cd5d..52a746ae27 100644 --- a/library/src/main/java/com/google/android/exoplayer/hls/TsExtractor.java +++ b/library/src/main/java/com/google/android/exoplayer/hls/TsExtractor.java @@ -448,12 +448,14 @@ public final class TsExtractor { private void readPacketStart() { int startCodePrefix = pesBuffer.readBits(24); if (startCodePrefix != 0x000001) { - // Error. + Log.e(TAG, "Unexpected start code prefix: " + startCodePrefix); + pesBuffer.reset(); + packetLength = -1; + } else { + // TODO: Read and use stream_id. + pesBuffer.skipBits(8); // Skip stream_id. + packetLength = pesBuffer.readBits(16); } - // TODO: Read and use stream_id. - // Skip stream_id. - pesBuffer.skipBits(8); - packetLength = pesBuffer.readBits(16); } private void readPacketBody() {