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

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] mdf/video/format/h264 mdfh264payloadformat.cpp,
From:       jwei () helixcommunity ! org
Date:       2007-06-28 21:55:22
Message-ID: 200706282155.l5SLtfCZ005163 () mailer ! progressive-comp ! com
[Download RAW message or body]

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

Modified Files:
      Tag: hxclient_2_1_0_cayennes
	mdfh264payloadformat.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:  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: mdfh264payloadformat.cpp
===================================================================
RCS file: /cvsroot/datatype/mdf/video/format/h264/mdfh264payloadformat.cpp,v
retrieving revision 1.1.2.11
retrieving revision 1.1.2.12
diff -u -d -r1.1.2.11 -r1.1.2.12
--- mdfh264payloadformat.cpp	7 Apr 2007 22:22:35 -0000	1.1.2.11
+++ mdfh264payloadformat.cpp	28 Jun 2007 21:55:20 -0000	1.1.2.12
@@ -398,17 +398,13 @@
     MDFVIDEOLOG_ENTERFN( "SetVideoMimetypes" );
     _LIT8( KVideoMimeTypeH264, "video/H264" );
     _LIT8( KVideoMimeTypeAVC1, "video/X-HX-AVC1" );
-
     _LIT8( KVideoMimeTypeKeywordH264, "h264"); 
-    _LIT8( KVideoMimeTypeKeywordAVC1,  "avc"); 
     aPayloadFormatInfo.Reset();
 
 #ifdef SYMBIAN_MDF_API_V2
     MDFVIDEOLOG_INOUTFN( "SYMBIAN_MDF_API_V2 is true" );
-    aPayloadFormatInfo.AppendMimeType( KVideoMimeTypeH264 );
-    aPayloadFormatInfo.AppendMimeType( KVideoMimeTypeAVC1 );
-    aPayloadFormatInfo.AppendMimeTypeKeyword( KVideoMimeTypeKeywordH264 );
-    aPayloadFormatInfo.AppendMimeTypeKeyword( KVideoMimeTypeKeywordAVC1 );
+    aPayloadFormatInfo.AppendMimeType( KVideoMimeTypeH264, KVideoMimeTypeKeywordH264 \
); +    aPayloadFormatInfo.AppendMimeType( KVideoMimeTypeAVC1, \
                KVideoMimeTypeKeywordH264 );
     aPayloadFormatInfo.SetPayloadFormatId( KUidH264PayloadFormatPluginDevice );
 #endif
 


_______________________________________________
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