First public contribution.
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.
121 /** Panic code raised if the file Handle is NULL.
130 Panic codes for CMMFDataPath
132 enum TMMFDataPathPanicCode
135 The iState value is not the expected value (normally EPlaying). For example, when it is asked to initialise
136 the sink or source whilst it is already playing some audio data.
138 EMMFDataPathPanicBadState = 1000000,
141 The code has detected a condition that cannot occur - must be programming error
143 EMMFDataPathPanicProgrammingError = 2000000,
146 A panic in CMMFDataPath::EmptySinkBufferL() if sink status
147 is not EFull or EBeingFilled.
149 EMMFDataPathPanicSinkError = 3000000
156 Panic codes for RMMFSubThread.
158 enum TMMFSubThreadPanicCode
160 /** An attempt to close the subthread using RMMFSubThreadBase::Shutdown() has failed. The shutdown command
161 waits for both the death of the thread and the time-out of a timer to minimise the risk of deadlock.
162 If the timer times-out and the sub-thread is not dead then this thread is panicked in debug mode or,
163 in release mode the sub-thread is killed.
165 EMMFSubThreadPanicTimedOut = 1
172 Panic codes for MMFCodecBaseDefinitions
174 enum TMMFCodecBaseDefinitionsPanicCode
177 Panic code raised when the codec TMMFTableAudioCodec::ConvertFast() method is not supported for this codec.
179 EMMFCodecBaseDefinitionsPanicConvertFastNotSupported = 1
186 Panic codes for CMMFAudioController.
188 enum TMMFAudioControllerPanicCode
191 /** Panic code for a bad Unique Identifier. This is reserved.
193 EMMFAudioControllerPanicBadUID = 1,
195 /** AddDataSourceL() failed to add a data source. This could be caused by an
196 audio source that has been loaded but now does not exist.
198 EMMFAudioControllerPanicDataSourceDoesNotExist,
200 /** AddDataSinkL() failed to add a sink. This could be caused by an audio sink
201 that has been loaded but now does not exist.
203 EMMFAudioControllerPanicDataSinkDoesNotExist
210 Panic codes for MMFDisplay
212 enum TMMFDisplayPanicCode
214 /** Panic code raised when this CMMFDisplay is in the wrong thread.
216 EMMFDisplayPanicWrongThread = 1,
217 /** Panic code raised when the CMMFDisplay has been asked to do something before it is ready.
219 EMMFDisplayPanicNotReady,
220 /** Panic code raised when the CMMFDisplay::CreateSinkBufferL() method is not supported.
222 EMMFDisplayPanicCreateSinkBufferLNotSupported,
223 /** Panic code raised when the CMMFDisplay::BufferFilledL() method is not supported.
225 EMMFDisplayPanicBufferFilledLNotSupported,
226 /** Panic code raised when the calling supplier does not exist.
228 EMMFDisplayPanicCallingSupplierDoesNotExist,
229 /** Panic code raised when the CMMFDisplay method has an internal error.
231 EMMFDisplayPanicRequestStatusError
238 Panic codes for MMFToneController.
240 enum TMMFToneControllerPanicCode
242 /** Panic code raised when the tone controller encounters a bad Unique Identifier.
244 EMMFToneControllerPanicBadUID = 1,
245 /** Panic code raised when the mixin class API encounters an unexpected call, for example
246 when the hardware has full buffer or when playback is stopped due to error or EOF.
248 EMMFToneControllerPanicUnexpectedMixinApiCall,
249 /** Panic code raised when there is an error with the cancel command. Not used at present.
251 EMMFToneControllerPanicBadCancelCustomCommand
259 Panic codes for the audio media client
261 enum TMMFMediaClientPanicCode
263 /** The specified audio device mode is not supported.
265 EMMFMediaClientPanicSetAudioDeviceModeNotSupported = 1,
267 /** An error occurred communicating with the audio device.
269 EMMFMediaClientPanicServerCommunicationProblem,
271 /** The functions CMMFMdaAudioConvertUtility::OpenL() or CMMFMdaAudioRecorderUtility::DoPlay()
272 detected an invalid internal state
274 EMMFMediaClientBadState,
276 /** The audio media client received a bad argument.
278 EMMFMediaClientBadArgument,
280 /** Reserved function should not be called
288 Panic codes for the sw codec wrapper
290 enum TMMFSwCodecWrapperPanicCode
292 /** Codec wrapper did not create an internal datapath
294 EMMFSwCodecWrapperNoDataPath,
296 /** Codec wrapper does not have a device handle
298 EMMFSwCodecWrapperNoDevice,
300 /** Codec wrapper codec returns non existant process result
302 EMMFSwCodecWrapperBadCodec,
304 /** Sound driver returns unexpected buffer
306 EMMFSwCodecWrapperBadBuffer
314 Panic codes for the media client utility
316 enum TMMFMediaClientUtilityPanicCode
318 /** Client utility is in a bad state
320 EMMFMediaClientUtilityBadState = 1,
322 /** Client utility is passed a bad argument
324 EMMFMediaClientUtilityBadArgument
327 #ifdef SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT
332 Panic codes for the video player utility
334 enum TMMFVideoPlayerUtilityPanicCode
338 EMMFVideoPlayerUtilityFileNotOpened = 1,
340 /** Subtitle not supported
342 EMMFVideoPlayerUtilitySubtitleNotSupported = 2,
344 /** No display window available
346 EMMFVideoPlayerUtilityNoWindowAdded = 3,
348 /** Subtitle not enabled
350 EMMFVideoPlayerUtilitySubtitleNotEnabled = 4,
352 /** Subtitle language not supported
354 EMMFVideoPlayerUtilitySubtitleLanguageNotSupported = 5
356 #endif //SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT