List Info

Thread: CR: EMC Stop handling




CR: EMC Stop handling
user name
2007-10-12 10:21:52

EMC Stop handling

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:  ashish.as.guptanokia.com

Reviewed by:

Date: 11-Oct-2007

Project: SymbianMmf_Rel

TSW: ESBI-77CRLK

Synopsis: EMC Stop handling

When Stop is called by the EMC client on Helix controller, we couldn't call the Stop on Helix engine due to MusicPlayer's Stop and Seek use case.

Stop is required to be called on the Cached source so that it can flush out the data and when playback starts again it would start from the beginning.

Solution is to make Stop from EMC as Stop on Helix. This would result in cached source being flushed out.

Further, when OnPresentationClosed is called due to an error, it supposed to convert this to Stopped event with the error code. It is incorrectly overwriting the error code with KErrEof event when there is an error returned from the core. This has been corrected.

It is possible that BufferFilled is called even after the Stop has been issued to Cached Source. A check is introduced for m_pObserver before using m_pObserver because it was already deleted in the Close() call.

Missing mapping for HXR_CHECK_RIGHTS & HXR_RIGHTS_EXPIRED has been added.

Root Cause of the problem: Architecture, Design & Implementation.

Files Modified:

clientapps/symbianMmf/audiocontroller/hxmmfaudioctrl.cpp
clientapps/symbianMmf/common/hxmmfbasectrl.cpp
common/fileio/platform/symbian/HxMMDataSource.cpp

Image Size and Heap Use impact: minor.
   

Module Release testing (STIF): Yes, all test cases passed. Testing using EMC client is also done. Tested few clips with MusicPlayer as well.

Test case(s) Added: none

Memory leak check performed: Yes, no new leaks introduced.

Platforms and Profiles Build Verified:
    armv5 / helix-client-s60-32-mmf-mdf-arm
    winscw / helix-client-s60-32-mmf-mdf-arm

Platforms and Profiles Functionality verified:
    armv5 / helix-client-s60-32-mmf-mdf-arm

Branch:
    HEAD and hxclient_2_1_0_cayennes

<<hxmmfaudioctrl.cpp.html&gt;> <<clientapps_symbianMmf.txt>> <<common_fileio_diff.txt&gt;>

  
  
  
RE: CR: EMC Stop handling
country flaguser name
United States
2007-10-15 09:33:19
Ashish,

These changes look good.

Eric

=============================================
Eric Hyche (ehychereal.com)
Technical Lead
RealNetworks, Inc.  

> -----Original Message-----
> From: clientapps-dev-bounceshelixcommunity.org 
> [mailto:clientapps-dev-bounceshelixcommunity.org] On
Behalf 
> Of Ashish.As.Guptanokia.com
> Sent: Friday, October 12, 2007 11:22 AM
> To: datatype-devhelixcommunity.org; clientapps-devhelixcommunity.org
> Subject: [Clientapps-dev] CR: EMC Stop handling
> 
> EMC Stop handling 
> 
> 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:  ashish.as.guptanokia.com 
> 
> Reviewed by: 
> 
> Date: 11-Oct-2007 
> 
> Project: SymbianMmf_Rel 
> 
> TSW: ESBI-77CRLK 
> 
> Synopsis: EMC Stop handling 
> 
> When Stop is called by the EMC client on Helix
controller, we 
> couldn't call the Stop on Helix engine due to
MusicPlayer's 
> Stop and Seek use case.
> 
> Stop is required to be called on the Cached source so
that it 
> can flush out the data and when playback starts again
it 
> would start from the beginning.
> 
> Solution is to make Stop from EMC as Stop on Helix.
This 
> would result in cached source being flushed out. 
> 
> Further, when OnPresentationClosed is called due to an
error, 
> it supposed to convert this to Stopped event with the
error 
> code. It is incorrectly overwriting the error code with

> KErrEof event when there is an error returned from the
core. 
> This has been corrected.
> 
> It is possible that BufferFilled is called even after
the 
> Stop has been issued to Cached Source. A check is
introduced 
> for m_pObserver before using m_pObserver because it was

> already deleted in the Close() call.
> 
> Missing mapping for HXR_CHECK_RIGHTS &
HXR_RIGHTS_EXPIRED has 
> been added. 
> 
> Root Cause of the problem: Architecture, Design &
Implementation. 
> 
> Files Modified: 
> 
>
clientapps/symbianMmf/audiocontroller/hxmmfaudioctrl.cpp 
> clientapps/symbianMmf/common/hxmmfbasectrl.cpp 
> common/fileio/platform/symbian/HxMMDataSource.cpp 
> 
> Image Size and Heap Use impact: minor. 
>     
> 
> Module Release testing (STIF): Yes, all test cases
passed. 
> Testing using EMC client is also done. Tested few clips
with 
> MusicPlayer as well.
> 
> Test case(s) Added: none 
> 
> Memory leak check performed: Yes, no new leaks
introduced. 
> 
> Platforms and Profiles Build Verified: 
>     armv5 / helix-client-s60-32-mmf-mdf-arm 
>     winscw / helix-client-s60-32-mmf-mdf-arm 
> 
> Platforms and Profiles Functionality verified: 
>     armv5 / helix-client-s60-32-mmf-mdf-arm 
> 
> Branch: 
>     HEAD and hxclient_2_1_0_cayennes 
> 
> <<hxmmfaudioctrl.cpp.html>>
<<clientapps_symbianMmf.txt>> 
> <<common_fileio_diff.txt>> 
> 
> 


_______________________________________________
Clientapps-dev mailing list
Clientapps-devhelixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/
clientapps-dev

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )