[Datatype-cvs] mdf/audio/dsp mdfauddecoder.cpp,1.6.4.4,1.6.4.5
dexter_helix at helixcommunity.org dexter_helix at helixcommunity.orgUpdate of /cvsroot/datatype/mdf/audio/dsp
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv647
Modified Files:
Tag: hxclient_4_2_0_brizo
mdfauddecoder.cpp
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with Real Networks, and I am authorized to contribute this code under said agreement."
Modified by: ext-debashis.2.panigrahi at nokia.com
Reviewed by: Yury.Ramanovich at nokia.com
RC Id: ou1cimx1#548856
Date: 09/13/2010
Project: SymbianMmf_wm
Synopsis: SPPR_REL: Incorrect error propagated to UI when playing 720p multichannel audio video playback.
Overview:
Dolby Digital plus support was recently removed from some of the devices (CR #31104). This causes devsound Initialize to fail with KErrNotSupported as DD+ decoder is not supported (ou1cimx1#546948) but this error code is not being propagated to app (for enabling partial playback), instead silence is being played for the whole playback duration.
Fix:
Moved devsound Open and Initialization from Audio Device -> Open() to Audio decoder -> OpenDecoder(), after configuration of audio format and creation of audio device has been done. This will enable us to propagate the error code to application before initializing the audio renderer, and thus will result in partial playback (video only).
Files modified & changes:
datatype/mdf/audio/dsp/mdfauddecoder.cpp
datatype/mdf/audio/dsp/mdfauddevice.cpp
datatype/mdf/audio/dsp/mdfauddevice.h
Image Size and Heap Use impact: No major impact
Module Release testing (STIF) : Passed
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, 420Brizo and HEAD
Index: mdfauddecoder.cpp
===================================================================
RCS file: /cvsroot/datatype/mdf/audio/dsp/mdfauddecoder.cpp,v
retrieving revision 1.6.4.4
retrieving revision 1.6.4.5
diff -u -d -r1.6.4.4 -r1.6.4.5
--- mdfauddecoder.cpp 9 Aug 2010 04:21:32 -0000 1.6.4.4
+++ mdfauddecoder.cpp 13 Sep 2010 03:54:15 -0000 1.6.4.5
@@ -227,6 +227,15 @@
{
theErr = HXR_FAIL;
}
+ // Go ahead and Open/Initialize the Audio Decoder
+ if (theErr == HXR_OK)
+ {
+ theErr = m_pMDFDevice->LoadAudioDecoder(m_pAudioFormat);
+ if (FAILED(theErr))
+ {
+ m_pMDFDevice->Close(TRUE);
+ }
+ }
}
// for debug