List Info

Thread: corrupt mp4 file error handle issue




corrupt mp4 file error handle issue
country flaguser name
India
2008-05-09 01:48:25
Hi Han,
 
Please follow the code review process as mentioned in the following link:
 
Thanks,
Anshuman
----- Original Message -----
Sent: Friday, May 09, 2008 10:57 AM
Subject: RE: [Motorola-private-e680] corrupt mp4 file error handle issue

Filesystem-dev:

 

Please review my red color codes which is in smplfsys.cpp in the below mail.

 

The corrupt mp4 file in the attachment.

 

Many Thanks & Best Regards

================================

HAN zheng-jwdh43(韩征)

LJ Multimedia Media Engine Team

IM:jwdh43motorola.com

Telephone: +86 24 83664908

Blog: http://hantoling.spaces.live.com/

================================


From: Anshuman Singh [mailto:asinghreal.com]
Sent: 2008
59 13:10
To: Lovish Dhawan; Wang JinJian-E12714; rmathewreal.com">rmathewreal.com; Han Zheng-JWDH43
Cc: helixcommunity.org">motorola-private-e680helixcommunity.org
Subject: Re: [Motorola-private-e680] corrupt mp4 file error handle issue

 

Hi Han,

 

This change looks ok to me.

Still please send a CR to helixcommunity.org">filesystem-devhelixcommunity.org so that leads can review this.

 

Thanks,

Anshuman

----- Original Message -----

Sent: Friday, May 09, 2008 9:56 AM

Subject: Fw: [Motorola-private-e680] corrupt mp4 file error handle issue

 

 

 

HI,Lovish,

 

This is an mp4 file which is corrupted file, "mdat" atom size add offset will bigger than file size.

 

Current atlas will not report error and will lead to core dump.

 

From the code, we found at smplfsys.cpp file, there is a function named CheckForCorruptFile(). For this file, this function did not report HXR_CORRUPT_FILE. So we do below changed, please check if the modification is fine.

 

if (bRead)

  {

        UINT32 ulDesiredReadCount = m_ulPendingReadCount;

        // if actual > 0, m_ulPos has alredy been updated to account for partial

        // read, so subtract actual no. of bytes from the m_ulPendingReadCount count.

        if (actual > 0)

        {

 &nbsp; &nbsp; &nbsp; &nbsp;   ; ulDesiredReadCount = actual < m_ulPendingReadCount ? m_ulPendingReadCount-actual : 0;

 &nbsp; &nbsp; &nbsp;  }

 &nbsp; &nbsp;   &nbsp;UINT32 ulCurFileSize = m_pProgDownMon->GetLastFileSize();

 &nbsp; &nbsp; &nbsp;  HXBOOL bIsProgressive = m_pProgDownMon->HasBeenProgressive()&nbsp; &&  ; &nbsp; &nbsp; &nbsp; &nbsp; m_pProgDownMon->IsProgressive();

 &nbsp; &nbsp; &nbsp;  if ((m_ulPos+ulDesiredReadCount <= m_ulSize) || ((m_ulPos > ulCurFileSize) && (!bIsProgressive) ))

 &nbsp; &nbsp; &nbsp;  {

 &nbsp; &nbsp; &nbsp; &nbsp;   ; statusReturned = HXR_CORRUPT_FILE;

 &nbsp; &nbsp; &nbsp; &nbsp;   ; bErrorToBeReported = TRUE;

 &nbsp; &nbsp; &nbsp;  }

 &nbsp;  }

 &nbsp; &nbsp; &nbsp; 

 

 

 

Many Thanks & Best Regards

================================

HAN zheng-jwdh43(韩征)

LJ Multimedia Media Engine Team

IM:jwdh43motorola.com

Telephone: +86 24 83664908

Blog: http://hantoling.spaces.live.com/

================================

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )