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

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] mdf/video/renderer/pub mdfpluginmanager.h, 1.2.2.7,
From:       jwei () helixcommunity ! org
Date:       2007-06-28 21:55:23
Message-ID: 200706282155.l5SLtg4B010745 () mailer ! progressive-comp ! com
[Download RAW message or body]

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

Modified Files:
      Tag: hxclient_2_1_0_cayennes
	mdfpluginmanager.h mdfpluginpackage.h 
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:  john.wei@nokia.com

Reviewed by:

Date: 18-June-2007

Project: SymbianMmf_Rel

TSW: TBD

Synopsis: MDF Video Renderer - fix decoder and postprocessor mismatch

In the file \datatype\mdf\video\format\common\mdfpayloadformat.cpp,

Before 4/7/07, following method was declared as 

==================================================
XBOOL CMdfPluginManager::IsDecoderSupportMimeTypeL( const CVideoDecoderInfo* \
pDecoderInfo, const TDesC8& aMimeType, const CCompressedVideoFormat*& \
pCCompressedVideoFormat ) const ==================================================


After 4/7/07, it is modified as following to accommodate WM:

==================================================
HXBOOL CMdfPluginManager::IsDecoderSupportMimeTypeL( const CVideoDecoderInfo* \
pDecoderInfo, const CPayloadFormatInfo* aPayloadInfo , const CCompressedVideoFormat*& \
pCCompressedVideoFormat ) const ==================================================

This method is used in the way as follows:

==================================================

for( TInt m = 0; m < payloadformatCount; m++ ) 

{ 

if( payloadformatinfo->SupportMimeType( aMimeType ) ) 

{

for( TInt j = 0; j < decoderCount; j++ ) 

{

if( IsDecoderSupportMimeTypeL( decoderInfo, *convertedMimeType, format ) ) //before \
4/7/07 

if( IsDecoderSupportMimeTypeL( decoderInfo, payloadformatinfo, format ) )  //after \
4/7/07 

{ 

==================================================

IsDecoderSupportMimeTypeL() is meant to check if decoder supports a particular \
mimetype. However modified version is made to check if decoder and payloadformat have \
common mimetype, instead of this particular mimetype. This causes decoders could be \
paired wrongly with postprocessors, which resulting in video not played at all for \
affected mimetypes.

This CR proposes to fix the bug stated above.

Files Modified:

/cvsroot/datatype/mdf/video/format/common/mdfpayloadformat.cpp
/cvsroot/datatype/mdf/video/format/common/pub/mdfpayloadformat.h
/cvsroot/datatype/mdf/video/format/h263/mdfh263payloadformat.cpp
/cvsroot/datatype/mdf/video/format/h264/mdfh264payloadformat.cpp
/cvsroot/datatype/mdf/video/format/mp4/mdfmp4payloadformat.cpp
/cvsroot/datatype/mdf/video/format/rm/mdfrvxpayloadformat.cpp
/cvsroot/datatype/mdf/video/format/wmv/mdfwmvpayloadformat.cpp
/cvsroot/datatype/mdf/video/renderer/mdfpluginmanager.cpp
/cvsroot/datatype/mdf/video/renderer/pub/mdfpluginmanager.h
/cvsroot/datatype/mdf/video/renderer/mdfpluginarchive.cpp
/cvsroot/datatype/mdf/video/renderer/pub/mdfpluginpackage.h
/cvsroot/datatype/mdf/video/renderer/mdfpluginpackage.cpp
/cvsroot/datatype/mdf/video/renderer/mdfvideoadapter.cpp

======================================================
Image Size and Heap Use impact: minor

Module Release testing (STIF) :  Passed

Test case(s) Added  :  None

Memory leak check performed : Yes.  No new leaks introduced.  

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

Platforms and Profiles Functionality verified: armv5, winscw 

Branch: Head & 210CayS


Index: mdfpluginpackage.h
===================================================================
RCS file: /cvsroot/datatype/mdf/video/renderer/pub/mdfpluginpackage.h,v
retrieving revision 1.1.2.4
retrieving revision 1.1.2.5
diff -u -d -r1.1.2.4 -r1.1.2.5
--- mdfpluginpackage.h	27 Mar 2007 16:00:49 -0000	1.1.2.4
+++ mdfpluginpackage.h	28 Jun 2007 21:55:21 -0000	1.1.2.5
@@ -72,6 +72,7 @@
     
     const  TDesC8& GetHelixMimeType() const;
     const  TDesC8& GetVideoHwMimeType() const;
+    const  TDesC8& GetMimeTypeKey() const;
     TUid   GetHwDecoderId() const;
     TUid   GetHwPostProcessorId() const;
     const  TUncompressedVideoFormat& GetHwUncompressedVideoFormat() const;
@@ -79,6 +80,7 @@
     TUid   Uid() const;
     void   SetHelixMimeTypeL( const TDesC8& aMimeType );
     void   SetVideoHwMimeTypeL( const TDesC8& aMimeType );
+    void   SetMimeTypeKeyL( const TDesC8& aMimeType );
     void   SetVideoDataUnitType( TVideoDataUnitType aVideoDataUnitType );
     void   SetVideoDataUnitEncapsulation( TVideoDataUnitEncapsulation \
aVideoDataUnitEncapsulation );  TVideoDataUnitType           GetVideoDataUnitType() \
const; @@ -108,6 +110,7 @@
 private:
     HBufC8* m_pMimeTypeHelix;
     HBufC8* m_pMimeTypeVidHw;
+    HBufC8* m_pMimeTypeKey;
     TUid    m_HwDecoderId;
     TUid    m_HwPostProcessorId;
     TUncompressedVideoFormat m_UncompressedVideoFormat;

Index: mdfpluginmanager.h
===================================================================
RCS file: /cvsroot/datatype/mdf/video/renderer/pub/mdfpluginmanager.h,v
retrieving revision 1.2.2.7
retrieving revision 1.2.2.8
diff -u -d -r1.2.2.7 -r1.2.2.8
--- mdfpluginmanager.h	7 Apr 2007 22:09:23 -0000	1.2.2.7
+++ mdfpluginmanager.h	28 Jun 2007 21:55:21 -0000	1.2.2.8
@@ -119,7 +119,7 @@
     virtual void MdvppStreamEnd(){}
     
 private:
-    HXBOOL IsDecoderSupportMimeTypeL( const CVideoDecoderInfo* pDecoderInfo,  const \
CPayloadFormatInfo* aPayloadInfo , const CCompressedVideoFormat*& \
pCCompressedVideoFormat ) const; +    HXBOOL IsDecoderSupportMimeTypeL( const \
CVideoDecoderInfo* pDecoderInfo,  const TDesC8& aMimeType, const \
CCompressedVideoFormat*& pCCompressedVideoFormat ) const;  HXBOOL \
                ImplementRulesIfMet( CPluginPackage& pluginPackage ) const;
     void   GetPackagesByMimeTypeL( const TDesC8& aMimeType, \
RPointerArray<CPluginPackage>& packageList );  


_______________________________________________
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