1 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #ifndef __MMF_COMMON_PANICCODES_H__
17 #define __MMF_COMMON_PANICCODES_H__
19 //Multimedia Framework Panic Codes
25 Panic codes for CMMFAudioInput.
27 enum TMMFAudioInputPanicCode
30 Panic in MMMFAudioInput::NewAudioInputL() if ImplementationUid!=KUidMmfAudioInput.
32 EMMFAudioInputPanicBadUID = 1,
34 MDevSoundObserver::ToneFinished() was called but not implemented.
36 EMMFAudioInputPanicToneFinishedNotSupported,
38 MDevSoundObserver::BufferToBeFilled() was called but not implemented.
40 EMMFAudioInputPanicPlayerDataUsedNotSupported,
42 MDevSoundObserver::PlayError() was called but not implemented.
44 EMMFAudioInputPanicPlayErrorNotSupported,
46 Panic if CMMFAudioInput::DevSound not loaded.
48 EMMFAudioInputDevSoundNotLoaded
55 Panic codes for CMMFAudioOutput
57 enum TMMFAudioOutputPanicCode
59 /** Panic in MMMFAudioOutput::NewAudioInputL() if ImplementationUid!=KUidMmfAudioInput
61 EMMFAudioOutputPanicBadUID = 1,
63 /** MMMFAudioOutput::BufferFilledL() was called but not implemented
65 EMMFAudioOutputPanicBufferFilledLNotSupported,
67 /** MMMFAudioOutput::ToneFinished() was called but not implemented
69 EMMFAudioOutputPanicToneFinishedNotSupported,
71 /** Unimplemented panic code.
73 EMMFAudioOutputPanicRecordDataFilledNotSupported,
75 /** MMMFAudioOutput::RecordError() was called but not implemented
77 EMMFAudioOutputPanicRecordErrorNotSupported,
79 /** Panic if CMMFAudioOutput::iMMFDevSound is NULL
81 EMMFAudioOutputDevSoundNotLoaded,
83 /** Panic if trying to resume when resume is not supported by DevSound
85 EMMFAudioOutputDevSoundResumingWhenNotSupported
92 Panic codes for CMMFDescriptor
94 enum TMMFDescriptorPanicCode
96 /** MDataSource::BufferEmptiedL() was called but not implemented
98 EMMFDescriptorPanicBufferEmptiedLNotSupported = 1,
99 /** MDataSink::BufferFilledL() was called but not implemented
101 EMMFDescriptorPanicBufferFilledLNotSupported
108 Panic codes for CMMFFile
110 enum TMMFFilePanicCode
112 /** MDataSource::BufferEmptiedL() called but not implemented
114 EMMFFilePanicBufferEmptiedLNotSupported = 1,
115 /** MDataSink::BufferFilledL() called but not implemented
117 EMMFFilePanicBufferFilledLNotSupported,
118 /** Panic code raised if the file is already open.
127 Panic codes for CMMFDataPath
129 enum TMMFDataPathPanicCode
132 The iState value is not the expected value (normally EPlaying). For example, when it is asked to initialise
133 the sink or source whilst it is already playing some audio data.
135 EMMFDataPathPanicBadState = 1000000,
138 The code has detected a condition that cannot occur - must be programming error
140 EMMFDataPathPanicProgrammingError = 2000000,
143 A panic in CMMFDataPath::EmptySinkBufferL() if sink status
144 is not EFull or EBeingFilled.
146 EMMFDataPathPanicSinkError = 3000000
153 Panic codes for RMMFSubThread.
155 enum TMMFSubThreadPanicCode
157 /** An attempt to close the subthread using RMMFSubThreadBase::Shutdown() has failed. The shutdown command
158 waits for both the death of the thread and the time-out of a timer to minimise the risk of deadlock.
159 If the timer times-out and the sub-thread is not dead then this thread is panicked in debug mode or,
160 in release mode the sub-thread is killed.
162 EMMFSubThreadPanicTimedOut = 1
169 Panic codes for MMFCodecBaseDefinitions
171 enum TMMFCodecBaseDefinitionsPanicCode
174 Panic code raised when the codec TMMFTableAudioCodec::ConvertFast() method is not supported for this codec.
176 EMMFCodecBaseDefinitionsPanicConvertFastNotSupported = 1
183 Panic codes for CMMFAudioController.
185 enum TMMFAudioControllerPanicCode
188 /** Panic code for a bad Unique Identifier. This is reserved.
190 EMMFAudioControllerPanicBadUID = 1,
192 /** AddDataSourceL() failed to add a data source. This could be caused by an
193 audio source that has been loaded but now does not exist.
195 EMMFAudioControllerPanicDataSourceDoesNotExist,
197 /** AddDataSinkL() failed to add a sink. This could be caused by an audio sink
198 that has been loaded but now does not exist.
200 EMMFAudioControllerPanicDataSinkDoesNotExist
207 Panic codes for MMFDisplay
209 enum TMMFDisplayPanicCode
211 /** Panic code raised when this CMMFDisplay is in the wrong thread.
213 EMMFDisplayPanicWrongThread = 1,
214 /** Panic code raised when the CMMFDisplay has been asked to do something before it is ready.
216 EMMFDisplayPanicNotReady,
217 /** Panic code raised when the CMMFDisplay::CreateSinkBufferL() method is not supported.
219 EMMFDisplayPanicCreateSinkBufferLNotSupported,
220 /** Panic code raised when the CMMFDisplay::BufferFilledL() method is not supported.
222 EMMFDisplayPanicBufferFilledLNotSupported,
223 /** Panic code raised when the calling supplier does not exist.
225 EMMFDisplayPanicCallingSupplierDoesNotExist,
226 /** Panic code raised when the CMMFDisplay method has an internal error.
228 EMMFDisplayPanicRequestStatusError
235 Panic codes for MMFToneController.
237 enum TMMFToneControllerPanicCode
239 /** Panic code raised when the tone controller encounters a bad Unique Identifier.
241 EMMFToneControllerPanicBadUID = 1,
242 /** Panic code raised when the mixin class API encounters an unexpected call, for example
243 when the hardware has full buffer or when playback is stopped due to error or EOF.
245 EMMFToneControllerPanicUnexpectedMixinApiCall,
246 /** Panic code raised when there is an error with the cancel command. Not used at present.
248 EMMFToneControllerPanicBadCancelCustomCommand
256 Panic codes for the audio media client
258 enum TMMFMediaClientPanicCode
260 /** The specified audio device mode is not supported.
262 EMMFMediaClientPanicSetAudioDeviceModeNotSupported = 1,
264 /** An error occurred communicating with the audio device.
266 EMMFMediaClientPanicServerCommunicationProblem,
268 /** The functions CMMFMdaAudioConvertUtility::OpenL() or CMMFMdaAudioRecorderUtility::DoPlay()
269 detected an invalid internal state
271 EMMFMediaClientBadState,
273 /** The audio media client received a bad argument.
275 EMMFMediaClientBadArgument,
277 /** Reserved function should not be called
285 Panic codes for the sw codec wrapper
287 enum TMMFSwCodecWrapperPanicCode
289 /** Codec wrapper did not create an internal datapath
291 EMMFSwCodecWrapperNoDataPath,
293 /** Codec wrapper does not have a device handle
295 EMMFSwCodecWrapperNoDevice,
297 /** Codec wrapper codec returns non existant process result
299 EMMFSwCodecWrapperBadCodec,
301 /** Sound driver returns unexpected buffer
303 EMMFSwCodecWrapperBadBuffer
311 Panic codes for the media client utility
313 enum TMMFMediaClientUtilityPanicCode
315 /** Client utility is in a bad state
317 EMMFMediaClientUtilityBadState = 1,
319 /** Client utility is passed a bad argument
321 EMMFMediaClientUtilityBadArgument
324 #ifdef SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT
329 Panic codes for the video player utility
331 enum TMMFVideoPlayerUtilityPanicCode
335 EMMFVideoPlayerUtilityFileNotOpened = 1,
337 /** Subtitle not supported
339 EMMFVideoPlayerUtilitySubtitleNotSupported = 2,
341 /** No display window available
343 EMMFVideoPlayerUtilityNoWindowAdded = 3,
345 /** Subtitle not enabled
347 EMMFVideoPlayerUtilitySubtitleNotEnabled = 4,
349 /** Subtitle language not supported
351 EMMFVideoPlayerUtilitySubtitleLanguageNotSupported = 5
353 #endif //SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT