summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2012-05-24 15:05:12 -0700
committerJames Dong <jdong@google.com>2012-05-24 15:12:36 -0700
commit49fcd3cc0c0bf352c5c0516e53805278e94951ca (patch)
tree9c6c223b2487999cb153ef02b44cef4e266c8c18
parentf436fdcf93bd417fd3c9d2a8b19fd221d894b5e3 (diff)
downloadframeworks_av-49fcd3cc0c0bf352c5c0516e53805278e94951ca.zip
frameworks_av-49fcd3cc0c0bf352c5c0516e53805278e94951ca.tar.gz
frameworks_av-49fcd3cc0c0bf352c5c0516e53805278e94951ca.tar.bz2
Fix an error caused by sample size value by order
The sample size was saved in the array in network order, but it was treated as host order when writeInt32() is called. Calling write(void *, int, int) resolves the issue. related-to-bug: 6555366 Change-Id: If7ef99911ad65108c61b533673ac4d4cd580a370
-rwxr-xr-xmedia/libstagefright/MPEG4Writer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/media/libstagefright/MPEG4Writer.cpp b/media/libstagefright/MPEG4Writer.cpp
index 85fbcdf..755b502 100755
--- a/media/libstagefright/MPEG4Writer.cpp
+++ b/media/libstagefright/MPEG4Writer.cpp
@@ -2811,8 +2811,8 @@ void MPEG4Writer::Track::writeStszBox() {
mOwner->beginBox("stsz");
mOwner->writeInt32(0); // version=0, flags=0
if (mSamplesHaveSameSize) {
- List<uint32_t *>::iterator it = mSampleSizes.begin();
- mOwner->writeInt32((*it)[0]); // default sample size
+ CHECK(mCurrentSampleSizeArr != 0);
+ mOwner->write(mCurrentSampleSizeArr, 4, 1); // default sample size
} else {
mOwner->writeInt32(0);
}