[Datatype-cvs] tools/dtdriver/engine ffdriver.cpp, 1.25.6.3, 1.25.6.4
salopes at helixcommunity.org salopes at helixcommunity.orgUpdate of /cvsroot/datatype/tools/dtdriver/engine
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv25110
Modified Files:
Tag: hxclient_2_1_0_cayennes
ffdriver.cpp
Log Message:
Ah, I see. This looks good then. Probably RiffReader should be returning better errors, but that is probably a bigger change. :)
On 9/2/2010 1:05 PM, ext-sanket.lopes at nokia.com wrote:
> Hi Jamie,
>
> CRiffReader::ReadDone() gives HXR_FAILED error code with is not enough for the Application to take a appropriate action. This results in "General System Error" message being displayed on the screen. Looks more like a crash. Because the Read has failed we are interpreting it as HXR_READ_ERROR so that application can show "Unable to Play the Clip" message and stop the playback.
>
> BR,
> Sanket
>
> -----Original Message-----
> From: ext Jamie Gordon [mailto:jgordon at real.com]
> Sent: Thursday, September 02, 2010 11:42 AM
> To: Lopes Sanket (EXT-Infovision/Dallas)
> Cc: nokia-private-dev at helixcommunity.org;
> datatype-dev at helixcommunity.org
> Subject: Re: [Nokia-private-dev] CR: Fusion player crash when opening
> AVI clip
>
>
>> + if(FAILED(aError))
>> + {
>> + m_pFFResponse->StreamHeaderReady(HXR_READ_ERROR, NULL);
>> + }
>> + else
>> + {
> You should probably propagate the actual error aError rather than
> masking them all as HXR_READ_ERROR.
>
> Otherwise looks good!
>
> Jamie
>
> On 8/30/2010 9:32 AM, ext-sanket.lopes at nokia.com wrote:
>> "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-sanket.lopes at nokia.com<mailto:ext-sanket.lopes at nokia.com>
>>
>> Reviewed by:
>>
>> Date: 08/30/2010
>>
>> Project: SymbianMmf_wm
>>
>> Error Id: ou1cimx1#495243
>>
>> Synopsis: Fusion player crash when opening AVI clip.
>>
>> Overview: Some Clips including this one were not handled properly. In this case there was JUNK CHUNK in the Header that was not expected. This was not handled and so crash was observed.
>>
>>
>>
>> Solution: Added code in AVI to handle JUNK Chunks. Also fixed error reporting logic from AVI Index to AVI FF and from FF to Core/Metadata engine.
>>
>> Fixed code in MiniFile object which was overriding FF's error reporting with its own. Ported code FFDriver from Brizo which fixes Hang issues for Thumbnails engine.
>>
>> Files added: None
>>
>> Files modified:
>>
>> /cvsroot/datatype/avi/fileformat/aviffpln.cpp
>>
>> /cvsroot/datatype/avi/fileformat/aviindx.cpp
>>
>> /cvsroot/datatype/avi/fileformat/avistrm.cpp
>>
>> /cvsroot/datatype/avi/fileformat/pub/aviffpln.h
>>
>> /cvsroot/datatype/tools/dtdriver/engine/ffdriver.cpp
>>
>> /cvsroot/filesystem/local/mini/minifileobj.cpp
>>
>>
>>
>> Image size and heap use impact: Negligible
>>
>> Module release testing (STIF): Passed. Metadata/Thumbnail Passed.
>>
>> Test case(s) added: No
>>
>> Memory leak check performed: NA
>>
>> Platforms and profiles build verified:
>> helix-client-s60-52-mmf-mdf-dsp
>>
>> Platforms and profiles functionality verified: armv5, winscw
>>
>> Branch: 210CayS
>>
>> DIFF: Attached
>>
>> BR,
>>
>> Sanket
>>
Index: ffdriver.cpp
===================================================================
RCS file: /cvsroot/datatype/tools/dtdriver/engine/ffdriver.cpp,v
retrieving revision 1.25.6.3
retrieving revision 1.25.6.4
diff -u -d -r1.25.6.3 -r1.25.6.4
--- ffdriver.cpp 24 Jan 2008 16:56:14 -0000 1.25.6.3
+++ ffdriver.cpp 2 Sep 2010 20:55:55 -0000 1.25.6.4
@@ -776,6 +776,13 @@
case State_SeekDonePending:
case State_PacketsReadyPending:
case State_CleanUpReadyPending:
+ // If we got a Stop, then go to the cleanup state
+ if ( m_bStop )
+ {
+ m_state = State_CleanUp;
+ break;
+ }
+
if (m_pContext == NULL)
{
m_status = HXR_FAIL;