This change looks good.
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: datatype-dev-bounces helixcommunity.org
> [mailto:datatype-dev-bounces helixcommunity.org] On
Behalf Of
> ext-saleem.adookkattil nokia.com
> Sent: Monday, December 17, 2007 5:23 PM
> To: datatype-dev helixcommunity.org;
> nokia-private-dev helixcommunity.org
> Subject: [datatype-dev] CR: Failing to parse quicktime
video
> sampledescription extensions atoms
>
> "Nokia submits this code under the terms of a
> commercial contribution agreement
> with RealNetworks, and I am authorized to contribute
> this code under said agreement."
>
> Modified by: ext-saleem.adookkattil nokia.com
>
> Reviewed by:
>
> Date: 11-Dec-2007
>
> Project: SymbianMmf_Rel
>
> TSW: PMEO-797BU6
>
> Synopsis: Fix to resolve failure of parsing video
> sample description extensions atoms.
>
> Overview: Files with video sample description
> extensions atoms other than 'esds' causing the failure.
As we
> don't handle those atoms(sample description extensions
atoms
> other than 'esds') added to code skip them and process
only
> the 'esds'.
>
>
> Files Modified:
>
> /cvsroot/datatype/mp4/fileformat/qtatmmgs.cpp
>
> Image Size and Heap Use impact: None
>
> Module Release testing (STIF) : Pass
>
> Test case(s) Added : No
>
> Memory leak check performed : No new leaks introduced.
>
> Platforms and Profiles Build Verified:
> Profile -> helix-client-s60-32-mmf-mdf-arm
> BIF branch -> helix_restricted
> SYSTEM_ID -> symbian-91-armv5
> Target -> symbianMmf_rel
>
> Platforms and Profiles Functionality verified: armv5,
winscw
>
> Branch: 210CayS & head
>
> Index: qtatmmgs.cpp
>
>
============================================================
=======
> RCS file:
/cvsroot/datatype/mp4/fileformat/qtatmmgs.cpp,v
> retrieving revision 1.29.2.4
> diff -u -w -r1.29.2.4 qtatmmgs.cpp
> --- qtatmmgs.cpp 22 Nov 2007 02:39:45 -0000
> 1.29.2.4
> +++ qtatmmgs.cpp 12 Dec 2007 17:09:39 -0000
>  -1952,12 +1952,35 
> m_ulFrameWidth =
> CQTAtom::GetUI16((UINT8*)
>
> (((CQT_stsd_Atom::VideoMP4ArrayEntry*)
>
pSampleDescEntry)->pWidth));
> +
> m_ulFrameHeight =
> CQTAtom::GetUI16((UINT8*)
>
> (((CQT_stsd_Atom::VideoMP4ArrayEntry*)
>
pSampleDescEntry)->pHeight));
>
> + UINT8* pExtnAtomsBuffer =
> ((UINT8*)(((CQT_stsd_Atom::VideoMP4ArrayEntry*)
> + pSampleDescEntry)->pClutID)) + 2;
> +
> + UINT32 ulExtnAtomsSize =
> ulSampleDescEntrySize -
> + (pExtnAtomsBuffer -
> ((UINT8*)pSampleDescEntry));
> +
> + UINT32 ulSize = 0;
> + while(ulExtnAtomsSize >= ulSize +
8)
> + {
> + // 0x65736473 is the 'esds' atom
type.
> + if
> (CQTAtom::GetUL32(pExtnAtomsBuffer + ulSize + 4) ==
0x65736473)
> + {
> m_pOpaqueData =
> ((CQT_stsd_Atom::VideoMP4ArrayEntry*)
> -
pSampleDescEntry)->pESDescriptor;
> +
> pSampleDescEntry)->pESDescriptor + ulSize;
> + break;
> + }
> +
> + // Getting next atom size and
> checking for infinite looping
> + UINT32 ulAtomSize =
> CQTAtom::GetUL32(pExtnAtomsBuffer + ulSize);
> + if ( ulAtomSize == 0 )
> + break;
> +
> + ulSize += ulAtomSize;
> + }
> }
> break;
> case QT_mp4a:
>
>
>
_______________________________________________
Datatype-dev mailing list
Datatype-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
|