diff options
author | Insun Kang <insun@google.com> | 2012-11-23 19:00:07 +0900 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2013-02-25 09:01:01 -0800 |
commit | 2b56065a51c49a6235ac974c033c5751e8055869 (patch) | |
tree | 9542d497e722bfa9caa041ea6385d5e70ed6a754 | |
parent | 99c2f923f6b04efffe949d1daf9cb7148e3cc201 (diff) | |
download | frameworks_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.cpp | 2 |
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; |