From 49fcd3cc0c0bf352c5c0516e53805278e94951ca Mon Sep 17 00:00:00 2001 From: James Dong Date: Thu, 24 May 2012 15:05:12 -0700 Subject: 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 --- media/libstagefright/MPEG4Writer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'media/libstagefright/MPEG4Writer.cpp') 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::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); } -- cgit v1.1