[Clientapps-cvs] symbianMmf hxmmfctrlimpl.cpp, 1.30, 1.31 hxmmfctrlimpl.h, 1.11, 1.12
shy_ward at helixcommunity.org shy_ward at helixcommunity.orgUpdate of /cvsroot/clientapps/symbianMmf
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv20868
Modified Files:
hxmmfctrlimpl.cpp hxmmfctrlimpl.h
Log Message:
CR: Fix for Scaling Percentages, Redrawing Last Frame, Play Again in Full Screen, and Clip Region with No Rectangles
"Nokia submits this code under the terms of a commercial contribution agreement with Real Networks, and I am authorized to contribute this code under said agreement."
Modified by:
shy.ward at nokia.com
Reviewed by:
Date:
3-27-2006
Project:
Helix plug-in for Symbian
Error ID:
EVOL-6GVTAH
ECCN-6MYMQG
EVOL-6F4TP7
SWAD-6N7QA9
Synopsis:
When the scaling percentages were retrieved from the MMF the percentages were the wrong value.
They reflect the current percentage instead of size. Redrawing of the last frame was added
to StartDSA so a black screen is not shown when you switch out of the player and back in. You now see
the last good frame. To fix the play again in full screen problem I had the MMF send down any stored
rotation value to the MDF. Finally the DSA is not started when there are no rectangles in the clip region.
This caused the video adapter to hold on to the DSA when switching out of the player.
Files Modified:
datatype/mdf/video/renderer/mdfvideoadapter.cpp
datatype/mdf/video/renderer/pub/mdfvideoadapter.h
clientapps/symbianMmf/hxmmfctrlimpl.cpp
clientapps/symbianMmf/hxmmfctrlimpl.h
Files Added:
none
Index: hxmmfctrlimpl.h
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/hxmmfctrlimpl.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- hxmmfctrlimpl.h 13 Mar 2006 21:52:07 -0000 1.11
+++ hxmmfctrlimpl.h 28 Mar 2006 15:25:59 -0000 1.12
@@ -262,6 +262,7 @@
#if defined(HELIX_FEATURE_MMF_SITE_CONTROL)
IHXDSAControl* m_pDSAControl;
IHXSurfaceControl* m_pSurfaceControl;
+ TVideoRotation m_aRotation;
#endif
};
Index: hxmmfctrlimpl.cpp
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/hxmmfctrlimpl.cpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- hxmmfctrlimpl.cpp 28 Mar 2006 00:31:17 -0000 1.30
+++ hxmmfctrlimpl.cpp 28 Mar 2006 15:25:59 -0000 1.31
@@ -248,6 +248,7 @@
#ifdef HELIX_FEATURE_MMF_SITE_CONTROL
,m_pDSAControl(NULL)
,m_pSurfaceControl(NULL)
+ ,m_aRotation(EVideoRotationNone)
#endif
{
}
@@ -1489,6 +1490,7 @@
{
HXLOGL1(HXLOG_SMMF, "HXMMFCtrlImpl::MvpcSetRotationL()");
#if defined(HELIX_FEATURE_MMF_SITE_CONTROL)
+ m_aRotation = aRotation;
m_pSurfaceControl->SetRotation(aRotation);
#endif
}
@@ -1862,6 +1864,14 @@
/* Initialization. */
m_pSurfaceControl->SetFrameRect(CHXxRect(0, 0, width, height));
+
+ //The Site nor the MDF will have knowledge of any roatation value
+ //so we send them again
+ if(m_aRotation != EVideoRotationNone)
+ {
+ m_pSurfaceControl->SetRotation(m_aRotation);
+ }
+
#endif
}