[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] mdf/video/renderer mdfvideoadapter.cpp, 1.3.2.60,
From:       shy_ward () helixcommunity ! org
Date:       2007-04-27 15:37:29
Message-ID: 200704271538.l3RFc6l5026790 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/datatype/mdf/video/renderer
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv7200

Modified Files:
      Tag: hxclient_2_1_0_cayennes
	mdfvideoadapter.cpp 
Log Message:
"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:  shy.ward@nokia.com
 
Reviewed by: 
 
Date: 4/26/2007
 
Project: SymbianMmf
 
ErrorId:  PNIO-6XCGZW
 
Synopsis: Browser would blit over menu when playing in background. Due to that fact \
that Java never provides the MMF with a valid DisplayRegion code was adopted to \
create a DisplayRegion equal to the ClipRect. This code incorrectly created a valid \
DisplayRegion when none existed for the Browser when it was playing in the \
background. We now check to see if any DisplayRegion has been sent by client, if so \
this value will be used otherwise it will default to creating one equal to the \
ClipRect.

    
Root Cause of the problem: Implementation 
 

Files Modified:
datatype/mdf/video/renderer/mdfvideoadapter.cpp
common/system/platform/symbian/symbianglobalvideoparameters.cpp
common/system/platform/pub/symbian/symbianglobalvideoparameters.h

Files Added: 
 
 
Image Size and Heap Use impact: None

Module Release testing (STIF) : Yes, Local Test Cases

Test case(s) Added  :  N/A 
  
Memory leak check performed : Yes, no new leaks have been introduced
  
Platforms and Profiles Build Verified: helix-client-s60-32-mmf-mdf-arm

Platforms and Profiles Functionality verified: armv5, winscw 
  
Branch: Head & 210CayS


Index: mdfvideoadapter.cpp
===================================================================
RCS file: /cvsroot/datatype/mdf/video/renderer/mdfvideoadapter.cpp,v
retrieving revision 1.3.2.60
retrieving revision 1.3.2.61
diff -u -d -r1.3.2.60 -r1.3.2.61
--- mdfvideoadapter.cpp	2 Apr 2007 21:02:47 -0000	1.3.2.60
+++ mdfvideoadapter.cpp	27 Apr 2007 15:37:26 -0000	1.3.2.61
@@ -202,7 +202,7 @@
     MDFVIDEOLOG_ENTERFN( "~CMdfVideoAdapter" );
 
     Shutdown();
-    
+
     m_ClipRegion.Close();
 
     m_CodecConfigRuleArray.ResetAndDestroy();
@@ -212,7 +212,7 @@
     HX_DELETE( m_pBltQueueMutex );
     HX_DELETE( m_pWriteMutex );
     HX_DELETE( m_pDevVideoInitStateMutex );
-    
+
     HX_DELETE( m_pDevVideoPlay );
 
     MDFVIDEOLOG_LEAVEFN( "~CMdfVideoAdapter" );
@@ -256,10 +256,10 @@
     if( SUCCEEDED( retVal ) )
     {
         HX_DELETE( m_pPluginPackage );
-        
+
         UINT16 mimetypeLen = strlen( pCurrentMimetype );
         TPtr8 tptr( (unsigned char*) pCurrentMimetype, mimetypeLen, mimetypeLen );
-        
+
         TRAPD( error, m_pPluginPackage = CPluginPackage::NewL( tptr ) );
         if( error == KErrNone )
         {
@@ -554,7 +554,7 @@
 
         HXBOOL bSynchronizeDecoding = \
m_pPayloadFormatPluginDevice->GetSynchronizeDecodingStatus();  TBool  bSynDec( EFalse \
                );
-        
+
         if( bSynchronizeDecoding == TRUE )
         {
             bSynDec = ETrue;
@@ -626,8 +626,8 @@
         m_eDevVideoPlayInitState = EDevVideoInitStart;
         m_pDevVideoPlay->Initialize();
 
-        //InitL() returns HXR_DEVVIDEO_FATAL_ERROR and MdvpoInitComplete() does not \
                propagate 
-        //error to UI if MdvpoInitComplete() has error and completes before InitL() \
ends.  +        //InitL() returns HXR_DEVVIDEO_FATAL_ERROR and MdvpoInitComplete() \
does not propagate +        //error to UI if MdvpoInitComplete() has error and \
                completes before InitL() ends.
         //otherwise InitL() returns HXR_OK and MdvpoInitComplete() needs to \
propagate error.  
         m_pDevVideoInitStateMutex->Lock();
@@ -674,25 +674,25 @@
     if(m_bIsShutdown == FALSE)
     {
         ClearBltQueue();
-        
+
         HX_DELETE( m_pFbsScreenDevice );
         HX_DELETE( m_pFbsBitGc );
-        
+
         if( m_bWsIsConnected == TRUE )
         {
             m_WsSession.Close();
             m_bWsIsConnected = FALSE;
         }
-        
+
         if( m_pBltMediaPacket )
         {
             m_pBltMediaPacket->Clear();
             HX_DELETE( m_pBltMediaPacket );
         }
-        
+
         HX_DELETE( m_pPayloadFormatPluginDevice );
         HX_RELEASE( m_pHeader );
-        
+
         HX_RELEASE( m_pBltrPump );
 
         HX_RELEASE( m_pContext );
@@ -1196,9 +1196,10 @@
         (SymbianGlobalVideoParameters::Instance())->GetDisplayRegion((HXxRegion)&m_ClipRegion);
  
         TInt count = m_ClipRegion.Count();
-        if(count == 0)
+        if((count == 0) && \
((SymbianGlobalVideoParameters::Instance())->IsDisplayRegionValid()) == FALSE)  {
            //we have no region so make a region == to cliprect
+           MDFVIDEOLOG_LEAVEFN2( "SetupWindow - We have no valid DisplayRregion so \
we making one equal to ClipRect" );  m_ClipRegion.Clear();
            m_ClipRegion.AddRect(m_clipRect);
         }
@@ -1993,7 +1994,7 @@
     MDFVIDEOLOG_ENTERFN2( "SetInitScreenNumber" );
     HX_RESULT retVal( HXR_FAIL );
     //if DevVideo does not support desired screen, close it and restart
-    
+
     //checking if the desired screen is the same as the current one.
     TInt currentScreenNumber(-1);
     if( m_pPluginPackage->IsScreenNumberSet( currentScreenNumber ) )
@@ -2004,7 +2005,7 @@
             retVal = HXR_OK;
         }
     }
-    
+
     //checking if the current devvideo supports new screen
     if( FAILED( retVal ) )
     {
@@ -2045,10 +2046,10 @@
 
     VideoEnd();
     HX_DELETE( m_pFbsScreenDevice );
-    
+
     HX_RELEASE( m_pBltrPump );
     HX_DELETE( m_pDevVideoPlay );
-    
+
     TBool valid = EFalse;
     TRAPD( error2, valid = m_pPluginManager->GetIdsByMimeTypeL( *m_pPluginPackage ) \
);  if( valid && error2 == KErrNone )
@@ -2061,7 +2062,7 @@
         MDFVIDEOLOG_INOUTFN2( "PluginManager does not have package for this \
mimetype" );  retVal = HXR_NOTIMPL;
     }
-    
+
     if( SUCCEEDED( retVal ) )
     {
         TRAPD( error, retVal = InitL( *m_pPluginPackage ) );
@@ -2069,7 +2070,7 @@
         {
             m_DevVidInitialized = EInitializedFailed;
             MDFVIDEOLOG_WRITE_FORMAT( "Error in InitL is %d", error );
-            
+
             if( error == KErrNotSupported )
             {
                 retVal = HXR_UNSUPPORTED_VIDEO;
@@ -2080,7 +2081,7 @@
             }
         }
     }
-    
+
     MDFVIDEOLOG_RETURNFN2( "ReStartDevVideoWithNewScreenNumber", retVal );
     return retVal;
 }
@@ -2355,18 +2356,18 @@
     UINT32 ulCurrTime = 0;
     if( (m_pDevVideoPlay != NULL) &&
         (m_DevVidInitialized == EInitializedSuccess) )
-    {   
+    {
         TTimeIntervalMicroSeconds frametime = 0;
         frametime = m_pDevVideoPlay->PlaybackPosition();
-                
+
 #ifdef HELIX_CONFIG_SYMBIAN_PLATFORM_SECURITY
         ulCurrTime = ((TInt) frametime.Int64()/1000);
 #else
         ulCurrTime = (frametime.Int64()/1000).Low();
 #endif
-        
+
     }
-    
+
     return ulCurrTime;
 }
 


_______________________________________________
Datatype-cvs mailing list
Datatype-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/datatype-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic