diff -r d5f04de580b7 -r b74061f7f3d2 devsound/a3fdevsound/src/devsoundadaptor/cdevaudio.h --- a/devsound/a3fdevsound/src/devsoundadaptor/cdevaudio.h Wed Mar 31 23:56:23 2010 +0300 +++ b/devsound/a3fdevsound/src/devsoundadaptor/cdevaudio.h Wed Apr 14 17:32:53 2010 +0300 @@ -43,6 +43,15 @@ class MAudioStream; class MGlobalProperties; +/** +Panic category and codes that CDevAudio raises on the client +*/ +_LIT(KMMFDevAudioPanicCategory, "CDevAudio"); + +enum TMMFDevAudioPanicCodes + { + EValidStateBeforeCommit =1 + }; enum TDevSoundAdaptorState { @@ -148,6 +157,24 @@ TDevSoundAdaptorState ActiveState() const; /** + * Retrieve the previous DevSound adaptor state + * @return void + */ + TDevSoundAdaptorState PreviousState() const; + + /** + * Set the current DevSound adaptor state + * @return void + */ + void SetActiveState(TDevSoundAdaptorState aAdaptorState); + + /** + * Set the previous DevSound adaptor state + * @return void + */ + void SetPreviousState(TDevSoundAdaptorState aAdaptorState); + + /** * SetVolume for DevSound */ TInt SetDevSoundVolume(TInt aVolume, TBool& aAsyncCompletion); @@ -247,6 +274,9 @@ TBool IsPrioritySet(); + //Panic function + void Panic(TMMFDevAudioPanicCodes aCode); + protected: CDevAudio(MDevSoundAdaptationObserver& aAdaptationObserver); @@ -258,6 +288,9 @@ TInt CreateAudioProcessingUnits(TUid aSource, TUid aSink, TUid aCodec); void DeleteAudioProcessingUnits(); + TInt CommitAudioContext(); + TBool IsMidState(TDevSoundAdaptorState aAdaptorState); + /* * most of member data is protected for DevAudioControl access */ @@ -322,6 +355,11 @@ */ TDevSoundAdaptorState iActiveState; + /** + * Previous DevSound Adaptor state + */ + TDevSoundAdaptorState iPreviousState; + TAudioState iActiveStreamState; TBool iReinitializing;