[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"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