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

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] wm/fileformat/pub asf_file_format_file.h, 1.3.4.9,
From:       shashikm () helixcommunity ! org
Date:       2010-06-25 16:21:14
Message-ID: 201006251621.o5PGL4t6002302 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/datatype/wm/fileformat/pub
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv4755

Modified Files:
      Tag: hxclient_2_1_0_cayennes
	asf_file_format_file.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: ext-anugrah.2.kashari@nokia.com

Reviewed by: Shy.Ward@nokia.com; girish.shetty@nokia.com, qluo@real.com

TSW Id: ESLM-869LV3

Date: 06/23/2010

Project: SymbianMmf_wm

Synopsis: Memory full error when seeking forward on a long corrupted wmv file

Overview: For this content, when user seeks after playback has begun, "Memory Full" \
error message in shown and playback closes.  Attached video file does not have index \
object so seek is not possible. Current implementation of ASF file format is that if \
index object is not available then seek to first packet and start sending packets \
from there (see the else case for m_ulState == \
kStateSeekIndexObjectHeaderReadDonePending in CASFFileFormatFile::ReadDone() ). So \
after seek ASF FF starts sending packet from very first payload and HXFileSource \
keeps appending them to the event list. But helix core does not process these events \
(or packets) as they are too old, and event-list keeps growing and helix finally runs \
out of memory.  

Fix: ASF FF looks for index object and load index object during first seek. If index \
object is not present then seek is not possible. This information need to be passed \
in stream header. So changes code to look for index object during header parsing and \
set "NonSeekable" flag accordingly. 

Files modified & changes:
/datatype/wm/fileformat/asf_file_format_file.cpp
/datatype/wm/fileformat/pub/asf_file_format_file.h

Image Size and Heap Use impact: No major impact

Module Release testing (STIF) : Done

Test case(s) Added  : No

Memory leak check performed : Passed, No additional leaks introduced.

Platforms and Profiles Build Verified: helix-client-s60-52-mmf-mdf-dsp

Platforms and Profiles Functionality verified: armv5

Branch: 210CayS, 420Bizo and HEAD

Diff: Attached.


Index: asf_file_format_file.h
===================================================================
RCS file: /cvsroot/datatype/wm/fileformat/pub/asf_file_format_file.h,v
retrieving revision 1.3.4.9
retrieving revision 1.3.4.10
diff -u -d -r1.3.4.9 -r1.3.4.10
--- asf_file_format_file.h	1 Jun 2010 04:01:52 -0000	1.3.4.9
+++ asf_file_format_file.h	25 Jun 2010 16:21:11 -0000	1.3.4.10
@@ -147,6 +147,9 @@
         kStateGFHSeekDonePending,
         kStateGFHASFObjectHeaderReadDonePending,
         kStateGFHASFObjectBodyReadDonePending,
+        kStateGFHASFIndexObjectHeaderReadDonePending,
+        kStateGFHASFIndexObjectFinalSeekDonePending,
+        kStateGFHASFIndexObjectSeekDonePending,
         kStateGPReadDonePending,
         kStateSendingPackets,
         kStateSeekFinalSeekDonePending,
@@ -203,6 +206,9 @@
     CHXMapLongToObj*                        m_pWM2StreamPropertiesMap;
     CHXMapLongToObj*                        m_pWM2ExtStreamPropertiesMap;
     UINT32                                  m_ulLastPacketSentTS;
+    
+    HXBOOL                                  m_bIsContentSeekable;
+    HXBOOL                                  m_bReadyToSentHeader;
 
     HX_RESULT                    AddASFObjectToList(CHXASFObject* pObj);
     void                         ClearASFObjectList();


_______________________________________________
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