This change looks good. ======================================= Eric Hyche ([EMAIL PROTECTED]) Senior Technical Lead RealNetworks, Inc.
>-----Original Message----- >From: [EMAIL PROTECTED] [mailto:nokia-private-dev- >[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] >Sent: Tuesday, August 05, 2008 12:18 PM >To: [EMAIL PROTECTED]; [email protected] >Cc: [EMAIL PROTECTED] >Subject: [Nokia-private-dev] CR: EADA-7H2MNG Helix not Handling Errors from >Devsound > > "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: > TSW Id: EADA-7H2MNG > Date: 08/01/2008 > > Project: SymbianMmf_rel > > Synopsis: Helix not handling Error from MDF Devsound > > Overview: > MDF Audio Device returns an unknown Error Code which is > not handled in Helix. So >helix still tries to send more packets to Device whereas device doesn't play >any more packets. This >causes video to appear frozen. > > Fix: > On receiving any unknown errors from Device, abort and > send error code to UI for >displaying appropriate error message. Make similar changes for both MDF and >ARM Audio. > > Files modified & changes: > > /audio/device/platform/symbian/CHXSymbianAudioSession.cpp > /audio/device/platform/symbian/audsymbian.cpp > /datatype/mdf/audio/dsp/mdfdevsound.cpp > /datatype/mdf/audio/dsp/mdfauddevice.cpp > > Image Size and Heap Use impact: None > > Module Release testing (STIF, Audio) : Passed > > Test case(s) Added : No > > Memory leak check performed : Passed, No leaks found > > Platforms and Profiles Build Verified: > helix-client-s60-32-mmf-mdf-dsp > > Platforms and Profiles Functionality verified: armv5 > > Branch: Head, 210CayS, 221Cays > > > Index: CHXSymbianAudioSession.cpp > =================================================================== > RCS file: > /cvsroot/audio/device/platform/symbian/CHXSymbianAudioSession.cpp,v > retrieving revision 1.1 > diff -u -w -r1.1 CHXSymbianAudioSession.cpp > --- CHXSymbianAudioSession.cpp 3 Apr 2007 18:24:49 -0000 1.1 > +++ CHXSymbianAudioSession.cpp 4 Aug 2008 22:52:51 -0000 > @@ -275,6 +275,10 @@ > break; > } > default: > + if(m_pAudDevStatusObserver != NULL) > + { > + m_pAudDevStatusObserver->OnAudDevStatusChange(aError); > + } > break; > } > } // End of if (aError != KErrNone) > > Index: audsymbian.cpp > =================================================================== > RCS file: /cvsroot/audio/device/platform/symbian/audsymbian.cpp,v > retrieving revision 1.35.2.7 > diff -u -w -r1.35.2.7 audsymbian.cpp > --- audsymbian.cpp 3 Apr 2007 18:33:09 -0000 1.35.2.7 > +++ audsymbian.cpp 4 Aug 2008 22:53:10 -0000 > @@ -496,6 +496,11 @@ > HX_ASSERT(m_pErrorMessages != NULL); > m_pErrorMessages->Report(HXLOG_INFO, HXR_AUDIODEVICETAKEN, 0, > NULL, NULL); > } > + else > + { > + HX_ASSERT(m_pErrorMessages != NULL); > + m_pErrorMessages->Report(HXLOG_ERR, HXR_AUDIO_DRIVER, 0, NULL, > NULL); > + } > } > > // > > Index: mdfdevsound.cpp > =================================================================== > RCS file: /cvsroot/datatype/mdf/audio/dsp/mdfdevsound.cpp,v > retrieving revision 1.1.2.17.2.1 > diff -u -w -r1.1.2.17.2.1 mdfdevsound.cpp > --- mdfdevsound.cpp 3 Apr 2008 18:58:00 -0000 1.1.2.17.2.1 > +++ mdfdevsound.cpp 4 Aug 2008 20:28:10 -0000 > @@ -951,6 +951,18 @@ > m_devStatus = DevPlayError; > } > > + if(m_devStatus == DevPlayError) > + { > + //Retry later in case of KErrNotReady(-18) and KErrServerBusy > (-16) > + //for any other errors Bail out > + if((m_lDevError != KErrNotReady) && > + (m_lDevError != KErrServerBusy) && > + m_pDevObserver) > + { > + m_pDevObserver->OnDeviceError(HXR_AUDIO_DRIVER); > + } > + } > HXLOGL4(HXLOG_MDFA, "---devsnd:PlyErr >\n"); > } > > Index: mdfauddevice.cpp > =================================================================== > > RCS file: /cvsroot/datatype/mdf/audio/dsp/mdfauddevice.cpp,v > retrieving revision 1.1.2.10 > diff -u -w -r1.1.2.10 mdfauddevice.cpp > --- mdfauddevice.cpp 3 Nov 2006 21:15:11 -0000 1.1.2.10 > +++ mdfauddevice.cpp 4 Aug 2008 19:47:04 -0000 > @@ -788,8 +788,15 @@ > // Report error to Error Messages > if(m_pErrorMessage) > { > + if(hxr == HXR_AUDIODEVICETAKEN) > + { > m_pErrorMessage->Report(HXLOG_INFO, hxr, 0, NULL, > NULL); > } > + else //All other errors are reported as ERROR > + { > + m_pErrorMessage->Report(HXLOG_ERR, hxr, 0, NULL, > NULL); > + } > + } > > HXLOGL4(HXLOG_MDFA, "mdfdeV:OnDeviceError >"); > } _______________________________________________ Audio-dev mailing list [email protected] http://lists.helixcommunity.org/mailman/listinfo/audio-dev
