[Datatype-cvs] mdf/video/format/wmv mdfwmvpayloadformat.cpp, 1.1.2.8, 1.1.2.8.2.1

[Datatype-cvs] mdf/video/format/wmv mdfwmvpayloadformat.cpp, 1.1.2.8, 1.1.2.8.2.1

yuryrp at helixcommunity.org yuryrp at helixcommunity.org
Mon May 5 13:25:24 PDT 2008


Update of /cvsroot/datatype/mdf/video/format/wmv
In directory cvs.internal.helixcommunity.org:/tmp/cvs-serv9962

Modified Files:
      Tag: hxclient_2_2_1_cayennes
	mdfwmvpayloadformat.cpp 
Log Message:
Modified by:  yury.ramanovich at nokia.com
 
Reviewed by: vijay.gondi at nokia.com, ehyche at real.com
 
Date: 05/05/2008
 
Project: SymbianMmf_wm
 
ErrorId: ECTN-7CMLEA
 
Synopsis:   phone displayed 'invalid clip' when streaming unsupported wm video and supported wm audio

Overview: currently clip with supported wm audio and unsupported wmv video is not rejected by wm decoder during ConfigureDecoderL call but during actual decoding of a first picture, which causes PlaybackComplete(KErrNotSupported) and "Invalid clip" message displayed to user and audio is Not played. We need to ensure that in this case "Partial playback" message is shown and supported wm audio is played.

Solution: currently only WMV3 fourcc is supported. Get the fourcc code from Bitmap Info Header's Compression ID in Stream Properties Object. Then check the fourcc code of wm video in CWMVPayloadFormatPluginDevice::Init() and if it is not supported, then return HXR_UNSUPPORTED_VIDEO to CMdfVideoAdapter::Init().

Files modified:
/datatype/mdf/video/format/wmv/pub/mdfwmvpayloadformat.h
/datatype/mdf/video/format/wmv/mdfwmvpayloadformat.cpp


Files added:
None


Image Size and Heap Use impact: minor.

Module Release testing (STIF) : Yes, Passed

Test case(s) Added  : No
  
Memory leak check performed : Yes. No new memory leaks introduced.
  
Platforms and Profiles Build Verified: helix-client-s60-50-mmf-mdf-arm

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


Index: mdfwmvpayloadformat.cpp
===================================================================
RCS file: /cvsroot/datatype/mdf/video/format/wmv/mdfwmvpayloadformat.cpp,v
retrieving revision 1.1.2.8
retrieving revision 1.1.2.8.2.1
diff -u -d -r1.1.2.8 -r1.1.2.8.2.1
--- mdfwmvpayloadformat.cpp	30 Jan 2008 17:17:05 -0000	1.1.2.8
+++ mdfwmvpayloadformat.cpp	5 May 2008 20:25:21 -0000	1.1.2.8.2.1
@@ -77,7 +77,8 @@
 const UINT32 RCV_V1_ID      = 0x85000000;
 const UINT32 RCV_v1_FIELD2  = 0x00000004;
 const UINT32 RCV_v1_HDR_LEN = 20;
-const UINT32 RCV_CODECSPEC_DATALEN = 4; 
+const UINT32 RCV_CODECSPEC_DATALEN = 4;
+const UINT32 FOURCC_WMV3 = 0x33564D57;           // 'W' 'M' 'V' '3'
 
 CWMVPayloadFormatPluginDevice::CWMVPayloadFormatPluginDevice()
 : m_pInputAllocator( NULL ),
@@ -141,6 +142,17 @@
 
                 if (SUCCEEDED(retVal))
                 {
+                    // only WMV3 is supported                     
+                    if (m_ulCompression != FOURCC_WMV3)
+                    {
+                         HX_RELEASE(m_pCSDBuffer);
+                         retVal = HXR_UNSUPPORTED_VIDEO;
+                         MDFVIDEOLOG_WRITE_FORMAT2("Unsupported wmv format: m_ulCompression=0x%08x",m_ulCompression );
+                    }
+                }
+                
+                if (SUCCEEDED(retVal))
+                {
                     retVal = CPayloadFormatPluginDevice::Init( pContext, pHeader);
                 }
             }
@@ -199,6 +211,7 @@
                 UINT32 imgHeight= cTSData.m_ulEncodedImageHeight;
                 PackUINT32LEInc(&pBuf,&ulLen,imgHeight);
                 PackUINT32LEInc(&pBuf,&ulLen,imgWidth);
+                m_ulCompression = cTSData.m_BitmapInfoHeader.biCompression;                        
             }
         }
     }




More information about the Datatype-cvs mailing list
 

Site Map   |   Terms of Use   |   Privacy Policy   |   Contact Us

Copyright © 1995-2007 RealNetworks, Inc. All rights reserved. RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.