List Info

Thread: CR: Failing to parse quicktime video sample description extensions atoms




CR: Failing to parse quicktime video sample description extensions atoms
user name
2007-12-17 16:23:06

    "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.adookkattilnokia.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:


RE: CR: Failing to parse quicktime video sampledescription extensions atoms
country flaguser name
United States
2008-01-02 10:36:16
This change looks good.

=============================================
Eric Hyche (ehychereal.com)
Technical Lead
RealNetworks, Inc.  

> -----Original Message-----
> From: datatype-dev-bounceshelixcommunity.org 
> [mailto:datatype-dev-bounceshelixcommunity.org] On
Behalf Of 
> ext-saleem.adookkattilnokia.com
> Sent: Monday, December 17, 2007 5:23 PM
> To: datatype-devhelixcommunity.org; 
> nokia-private-devhelixcommunity.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.adookkattilnokia.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-devhelixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev

[1-2]

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