Looks good.
fxd
[email protected] 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: [email protected]
Reviewed by: Rathinasamy Rajesh; Amick Patrick;
TSW Id: ESLM-83PVBW
Date: 05/05/2010
Project: SymbianMmf_wm
Synopsis: Music player is crash when refreshing and playing a high bitrate wma song
Overview: The wma file is WMA9 lossless(format tag 0x163). This format is not supported by decoder. However a crash is seen during initialization. This crash is seen only in DSP codec. Devsound initialization is asynchronous call. In MDFDevSound::Open(), asynchronous request for devsound initialization is made and then hardware configuration is set via LoadCustomInterfaces() by calling HXMDFDevConfWMA::SetHwDevCIs(). SetHwDevCIs configuration fails because CWmaDecoderIntfc::ApplyConfig() returns error as KErrArgument (-6). This error is neglected in the MDFDevSound::Open(). After sometime devsound initialization completes and when tried to set config crash occurs. Since SetHwDevCIs() has failed, request for devsound initialization should be cancelled.
Fix: 1. Pending Devsound initialization can be cancelled by calling
CMMFDevSound::CancelInitialize(). Added this API in CHXMMFDevSound.
2. With first change another crash is seen in
HXClientPropWatch::PropWatchResponse::DeletedProp(). This is because property
"MMF.SecureOutput" added in CHXMDFAudioDevice::Open() was not cleared when
devsound initialization had failed. Added code to clear this property when devsound is
not initialized.
Files modified & changes:
/audio/device/pub/platform/symbian/CHXMMFDevSound.h
/audio/device/platform/symbian/common/CHXMMFDevSound.cpp
/datatype/mdf/audio/dsp/mdfdevsound.cpp
/datatype/mdf/audio/dsp/mdfauddevice.cpp
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
Attached diff.
_______________________________________________
Audio-dev mailing list
[email protected]
http://lists.helixcommunity.org/mailman/listinfo/audio-dev