summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorInsun Kang <insun@google.com>2012-11-23 19:00:07 +0900
committerAndreas Huber <andih@google.com>2013-02-25 09:01:01 -0800
commit2b56065a51c49a6235ac974c033c5751e8055869 (patch)
tree9542d497e722bfa9caa041ea6385d5e70ed6a754
parent99c2f923f6b04efffe949d1daf9cb7148e3cc201 (diff)
downloadframeworks_av-2b56065a51c49a6235ac974c033c5751e8055869.zip
frameworks_av-2b56065a51c49a6235ac974c033c5751e8055869.tar.gz
frameworks_av-2b56065a51c49a6235ac974c033c5751e8055869.tar.bz2
Handles duplicated NAL start code to fix crash on HLS streams.
Some youtube live streams are encoded having duplicated NAL start code, for instance, 00 00 01 00 00 00 01 .... In previous code, zero NAL size causes crash by CHECK_GT(nalsize, 0) macro. With this patch, duplicated NAL start code will be just ignored. TESTED=Played problematic Youtube Live streams. Change-Id: I1d76f111a34bd29cb09b037eb1b0626fe5f5b140
-rw-r--r--media/libstagefright/mpeg2ts/ESQueue.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/media/libstagefright/mpeg2ts/ESQueue.cpp b/media/libstagefright/mpeg2ts/ESQueue.cpp
index 82fb637..9499712 100644
--- a/media/libstagefright/mpeg2ts/ESQueue.cpp
+++ b/media/libstagefright/mpeg2ts/ESQueue.cpp
@@ -536,7 +536,7 @@ sp<ABuffer> ElementaryStreamQueue::dequeueAccessUnitH264() {
size_t nalSize;
bool foundSlice = false;
while ((err = getNextNALUnit(&data, &size, &nalStart, &nalSize)) == OK) {
- CHECK_GT(nalSize, 0u);
+ if (nalSize == 0) continue;
unsigned nalType = nalStart[0] & 0x1f;
bool flush = false;