|
"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: saleem.adookkattil nokia.com
Reviewed by:
Date: 27-March-2008
Project: SymbianMmf_Rel
TSW: EMKD-7CWKEC
Synopsis: Fix to correct MMF controller failure to handle resource lost/restored events in closed state.
Overview: Upon completion of the play back MMF controller set the state to close. If the player uses DSP decoder to decode the video content MMF controller may get a resource lost/restored event from the video adapter at any state. MMF controller doesn't handle these events in closed state and forward it to higher level to handle it after changing the MM state to error state. As the state is closed there is no need to report it to higher level or change the state of controller to error state. Fix made as given in the diff file.
Files Modified:
/cvsroot/clientapps/symbianMmf/hxmmfstateclosed.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, 221CayS& head
Index: hxmmfstateclosed.cpp
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/hxmmfstateclosed.cpp,v
retrieving revision 1.3.2.7
diff -u -w -r1.3.2.7 hxmmfstateclosed.cpp
--- hxmmfstateclosed.cpp 21 Jun 2007 16:50:30 -0000 1.3.2.7
+++ hxmmfstateclosed.cpp 27 Mar 2008 20:05:43 -0000
 -176,10 +176,12 
HXLOGL2(HXLOG_SMMF, "HXMMFStateClosed::ErrorOccurred");
//
- // Partial Playback error is consumed here so return KErrNone.
+ // Consume errors those are not an error at close state here and return KErrNone.
// Otherwise, pass error up since we are in the closed state
//
- if (ulHXCode == HXR_PARTIALPLAYBACK)
+ if (ulHXCode == HXR_PARTIALPLAYBACK ||
+ ulHXCode == HXR_DEVVIDEO_RESOURCE_RESTORED ||
+ ulHXCode == HXR_DEVVIDEO_RESOURCE_LOST)
{
return KErrNone;
}
|