[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