2 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
18 #ifndef __MMF_COMMON_PANICCODES_H__
19 #define __MMF_COMMON_PANICCODES_H__
21 //Multimedia Framework Panic Codes
27 Panic codes for CMMFAudioInput.
29 enum TMMFAudioInputPanicCode
32 Panic in MMMFAudioInput::NewAudioInputL() if ImplementationUid!=KUidMmfAudioInput.
34 EMMFAudioInputPanicBadUID = 1,
36 MDevSoundObserver::ToneFinished() was called but not implemented.
38 EMMFAudioInputPanicToneFinishedNotSupported,
40 MDevSoundObserver::BufferToBeFilled() was called but not implemented.
42 EMMFAudioInputPanicPlayerDataUsedNotSupported,
44 MDevSoundObserver::PlayError() was called but not implemented.
46 EMMFAudioInputPanicPlayErrorNotSupported,
48 Panic if CMMFAudioInput::DevSound not loaded.
50 EMMFAudioInputDevSoundNotLoaded
57 Panic codes for CMMFAudioOutput
59 enum TMMFAudioOutputPanicCode
61 /** Panic in MMMFAudioOutput::NewAudioInputL() if ImplementationUid!=KUidMmfAudioInput
63 EMMFAudioOutputPanicBadUID = 1,
65 /** MMMFAudioOutput::BufferFilledL() was called but not implemented
67 EMMFAudioOutputPanicBufferFilledLNotSupported,
69 /** MMMFAudioOutput::ToneFinished() was called but not implemented
71 EMMFAudioOutputPanicToneFinishedNotSupported,
73 /** Unimplemented panic code.
75 EMMFAudioOutputPanicRecordDataFilledNotSupported,
77 /** MMMFAudioOutput::RecordError() was called but not implemented
79 EMMFAudioOutputPanicRecordErrorNotSupported,
81 /** Panic if CMMFAudioOutput::iMMFDevSound is NULL
83 EMMFAudioOutputDevSoundNotLoaded,
85 /** Panic if trying to resume when resume is not supported by DevSound
87 EMMFAudioOutputDevSoundResumingWhenNotSupported
94 Panic codes for CMMFDescriptor
96 enum TMMFDescriptorPanicCode
98 /** MDataSource::BufferEmptiedL() was called but not implemented
100 EMMFDescriptorPanicBufferEmptiedLNotSupported = 1,
101 /** MDataSink::BufferFilledL() was called but not implemented
103 EMMFDescriptorPanicBufferFilledLNotSupported
110 Panic codes for CMMFFile
112 enum TMMFFilePanicCode
114 /** MDataSource::BufferEmptiedL() called but not implemented
116 EMMFFilePanicBufferEmptiedLNotSupported = 1,
117 /** MDataSink::BufferFilledL() called but not implemented
119 EMMFFilePanicBufferFilledLNotSupported,
120 /** Panic code raised if the file is already open.
129 Panic codes for CMMFDataPath
131 enum TMMFDataPathPanicCode
134 The iState value is not the expected value (normally EPlaying). For example, when it is asked to initialise
135 the sink or source whilst it is already playing some audio data.
137 EMMFDataPathPanicBadState = 1000000,
140 The code has detected a condition that cannot occur - must be programming error
142 EMMFDataPathPanicProgrammingError = 2000000,
145 A panic in CMMFDataPath::EmptySinkBufferL() if sink status
146 is not EFull or EBeingFilled.
148 EMMFDataPathPanicSinkError = 3000000
155 Panic codes for RMMFSubThread.
157 enum TMMFSubThreadPanicCode
159 /** An attempt to close the subthread using RMMFSubThreadBase::Shutdown() has failed. The shutdown command
160 waits for both the death of the thread and the time-out of a timer to minimise the risk of deadlock.
161 If the timer times-out and the sub-thread is not dead then this thread is panicked in debug mode or,
162 in release mode the sub-thread is killed.
164 EMMFSubThreadPanicTimedOut = 1
171 Panic codes for MMFCodecBaseDefinitions
173 enum TMMFCodecBaseDefinitionsPanicCode
176 Panic code raised when the codec TMMFTableAudioCodec::ConvertFast() method is not supported for this codec.
178 EMMFCodecBaseDefinitionsPanicConvertFastNotSupported = 1
185 Panic codes for CMMFAudioController.
187 enum TMMFAudioControllerPanicCode
190 /** Panic code for a bad Unique Identifier. This is reserved.
192 EMMFAudioControllerPanicBadUID = 1,
194 /** AddDataSourceL() failed to add a data source. This could be caused by an
195 audio source that has been loaded but now does not exist.
197 EMMFAudioControllerPanicDataSourceDoesNotExist,
199 /** AddDataSinkL() failed to add a sink. This could be caused by an audio sink
200 that has been loaded but now does not exist.
202 EMMFAudioControllerPanicDataSinkDoesNotExist
209 Panic codes for MMFDisplay
211 enum TMMFDisplayPanicCode
213 /** Panic code raised when this CMMFDisplay is in the wrong thread.
215 EMMFDisplayPanicWrongThread = 1,
216 /** Panic code raised when the CMMFDisplay has been asked to do something before it is ready.
218 EMMFDisplayPanicNotReady,
219 /** Panic code raised when the CMMFDisplay::CreateSinkBufferL() method is not supported.
221 EMMFDisplayPanicCreateSinkBufferLNotSupported,
222 /** Panic code raised when the CMMFDisplay::BufferFilledL() method is not supported.
224 EMMFDisplayPanicBufferFilledLNotSupported,
225 /** Panic code raised when the calling supplier does not exist.
227 EMMFDisplayPanicCallingSupplierDoesNotExist,
228 /** Panic code raised when the CMMFDisplay method has an internal error.
230 EMMFDisplayPanicRequestStatusError
237 Panic codes for MMFToneController.
239 enum TMMFToneControllerPanicCode
241 /** Panic code raised when the tone controller encounters a bad Unique Identifier.
243 EMMFToneControllerPanicBadUID = 1,
244 /** Panic code raised when the mixin class API encounters an unexpected call, for example
245 when the hardware has full buffer or when playback is stopped due to error or EOF.
247 EMMFToneControllerPanicUnexpectedMixinApiCall,
248 /** Panic code raised when there is an error with the cancel command. Not used at present.
250 EMMFToneControllerPanicBadCancelCustomCommand
258 Panic codes for the audio media client
260 enum TMMFMediaClientPanicCode
262 /** The specified audio device mode is not supported.
264 EMMFMediaClientPanicSetAudioDeviceModeNotSupported = 1,
266 /** An error occurred communicating with the audio device.
268 EMMFMediaClientPanicServerCommunicationProblem,
270 /** The functions CMMFMdaAudioConvertUtility::OpenL() or CMMFMdaAudioRecorderUtility::DoPlay()
271 detected an invalid internal state
273 EMMFMediaClientBadState,
275 /** The audio media client received a bad argument.
277 EMMFMediaClientBadArgument,
279 /** Reserved function should not be called
287 Panic codes for the sw codec wrapper
289 enum TMMFSwCodecWrapperPanicCode
291 /** Codec wrapper did not create an internal datapath
293 EMMFSwCodecWrapperNoDataPath,
295 /** Codec wrapper does not have a device handle
297 EMMFSwCodecWrapperNoDevice,
299 /** Codec wrapper codec returns non existant process result
301 EMMFSwCodecWrapperBadCodec,
303 /** Sound driver returns unexpected buffer
305 EMMFSwCodecWrapperBadBuffer
313 Panic codes for the media client utility
315 enum TMMFMediaClientUtilityPanicCode
317 /** Client utility is in a bad state
319 EMMFMediaClientUtilityBadState = 1,
321 /** Client utility is passed a bad argument
323 EMMFMediaClientUtilityBadArgument