[datatype-dev] CR: MPEG4 clip with greater framesize than the configured value is not blocked during streaming

[datatype-dev] CR: MPEG4 clip with greater framesize than the configured value is not blocked during streaming

Carol.i.Chen at nokia.com Carol.i.Chen at nokia.com
Fri Sep 14 23:22:22 PDT 2007


"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:
    carol.i.chen at nokia.com

Reviewed by:

Date: 
    September 14, 2007

Error ID:
    ECTN-76XQL6

Project: 
    SymbianMmf_Rel


Synopsis: 

MPEG4 clips return the frame size in the SDP as "Width" and "Height"
instead of
"FrameWidth" and "FrameHeight". So during check in video renderer for
blocking
clips above a certain size, only "FrameWidth" and "FrameHeight" values
are
checked, and in this case returns 0 and clips of any size are played.

Added check for "Width" and "Height".

Root Cause of the problem: Incomplete implementation


Files Modified:
    datatype/mdf/video/renderer/mdfvidrend.cpp

Image Size and Heap Use impact: 
    none

Module Release testing (STIF):
    ran and passed

Test case(s) Added:
    none

Memory leak check performed:
    Yes, no new leaks introduced.

Platforms and Profiles Build Verified: 
    armv5 / helix-client-s60-32-mmf-mdf-arm
    winscw / helix-client-s60-32-mmf-mdf-arm

Platforms and Profiles Functionality verified: 
    armv5 / helix-client-s60-32-mmf-mdf-arm

Branch: 
    HEAD and hxclient_2_1_0_cayennes




Index: mdfvidrend.cpp
===================================================================
RCS file: /cvsroot/datatype/mdf/video/renderer/mdfvidrend.cpp,v
retrieving revision 1.4.2.20
diff -u -w -r1.4.2.20 mdfvidrend.cpp
--- mdfvidrend.cpp      27 Mar 2007 16:00:48 -0000      1.4.2.20
+++ mdfvidrend.cpp      14 Sep 2007 20:04:04 -0000
@@ -529,18 +529,24 @@
         {
             UINT32 ulFrameWidth = 0;
             UINT32 ulFrameHeight = 0;
+            ULONG32 currentVidArea = 0;

             if( SUCCEEDED(m_pHeader->GetPropertyULONG32( "FrameWidth",
ulFrameWidth ) ) &&
                 SUCCEEDED(m_pHeader->GetPropertyULONG32( "FrameHeight",
ulFrameHeight ) ) )
             {
-                ULONG32 currentVidArea = (ULONG32) ( ulFrameWidth *
ulFrameHeight );
+                currentVidArea = (ULONG32) ( ulFrameWidth *
ulFrameHeight );
+            }
+            else if( SUCCEEDED(m_pHeader->GetPropertyULONG32( "Width",
ulFrameWidth ) ) &&
+                     SUCCEEDED(m_pHeader->GetPropertyULONG32( "Height",
ulFrameHeight ) ) )
+            {
+                currentVidArea = (ULONG32) ( ulFrameWidth *
ulFrameHeight );
+            }

                 if( currentVidArea > ulMaxVidArea )
                 {
                     retVal = HXR_SLOW_MACHINE;
                     MDFVIDEOLOG_INOUTFN2( "HXR_SLOW_MACHINE" );
                 }
-            }

             MDFVIDEOLOG_WRITE_MULTI_FORMAT( "    Frame size is %d x
%d", ulFrameWidth, ulFrameHeight );
         }


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.helixcommunity.org/pipermail/datatype-dev/attachments/20070915/a1664610/attachment.html


More information about the Datatype-dev mailing list
 

Site Map   |   Terms of Use   |   Privacy Policy   |   Contact Us

Copyright © 1995-2007 RealNetworks, Inc. All rights reserved. RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.