os/mm/mmlibs/mmfw/inc/mmf/common/MmfPanicCodes.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
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".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 #ifndef __MMF_COMMON_PANICCODES_H__
    17 #define __MMF_COMMON_PANICCODES_H__
    18 
    19 //Multimedia Framework Panic Codes
    20 
    21 /**
    22 @publishedAll
    23 @released
    24 
    25 Panic codes for CMMFAudioInput.
    26 */
    27 enum TMMFAudioInputPanicCode
    28 	{
    29 	/**
    30 	Panic in MMMFAudioInput::NewAudioInputL() if ImplementationUid!=KUidMmfAudioInput.
    31 	*/
    32 	EMMFAudioInputPanicBadUID = 1,
    33 	/**
    34 	MDevSoundObserver::ToneFinished() was called but not implemented.
    35 	*/
    36 	EMMFAudioInputPanicToneFinishedNotSupported,
    37 	/**
    38 	MDevSoundObserver::BufferToBeFilled() was called but not implemented.
    39 	*/
    40 	EMMFAudioInputPanicPlayerDataUsedNotSupported,
    41 	/**
    42 	MDevSoundObserver::PlayError() was called but not implemented.
    43 	*/
    44 	EMMFAudioInputPanicPlayErrorNotSupported,
    45 	/**
    46 	Panic if CMMFAudioInput::DevSound not loaded.
    47 	*/
    48 	EMMFAudioInputDevSoundNotLoaded
    49 	};
    50 
    51 /**
    52 @publishedAll
    53 @released
    54 
    55 Panic codes for CMMFAudioOutput
    56 */
    57 enum TMMFAudioOutputPanicCode
    58 	{
    59 	/**	Panic in MMMFAudioOutput::NewAudioInputL() if ImplementationUid!=KUidMmfAudioInput
    60 	*/
    61 	EMMFAudioOutputPanicBadUID = 1,
    62 
    63 	/**	MMMFAudioOutput::BufferFilledL() was called but not implemented
    64 	*/
    65 	EMMFAudioOutputPanicBufferFilledLNotSupported,
    66 
    67 	/**	MMMFAudioOutput::ToneFinished() was called but not implemented
    68 	*/
    69 	EMMFAudioOutputPanicToneFinishedNotSupported,
    70 
    71 	/** Unimplemented panic code.
    72 	*/
    73 	EMMFAudioOutputPanicRecordDataFilledNotSupported,
    74 
    75 	/**	MMMFAudioOutput::RecordError() was called but not implemented
    76 	*/
    77 	EMMFAudioOutputPanicRecordErrorNotSupported,
    78 
    79 	/**	Panic if CMMFAudioOutput::iMMFDevSound is NULL
    80 	*/
    81 	EMMFAudioOutputDevSoundNotLoaded, 
    82 
    83 	/**	Panic if trying to resume when resume is not supported by DevSound
    84 	*/
    85 	EMMFAudioOutputDevSoundResumingWhenNotSupported
    86 	};
    87 
    88 /**
    89 @publishedAll
    90 @released
    91 
    92 Panic codes for CMMFDescriptor
    93 */
    94 enum TMMFDescriptorPanicCode
    95 	{
    96 	/** MDataSource::BufferEmptiedL() was called but not implemented
    97 	*/
    98 	EMMFDescriptorPanicBufferEmptiedLNotSupported = 1,
    99 	/** MDataSink::BufferFilledL() was called but not implemented
   100 	*/
   101 	EMMFDescriptorPanicBufferFilledLNotSupported
   102 	};
   103 
   104 /**
   105 @publishedAll
   106 @released
   107 
   108 Panic codes for CMMFFile
   109 */
   110 enum TMMFFilePanicCode
   111 	{
   112 	/** MDataSource::BufferEmptiedL() called but not implemented
   113 	*/
   114 	EMMFFilePanicBufferEmptiedLNotSupported = 1,
   115 	/** MDataSink::BufferFilledL() called but not implemented
   116 	*/
   117 	EMMFFilePanicBufferFilledLNotSupported,
   118 	/** Panic code raised if the file is already open.
   119 	*/
   120 	EMMFFileAlreadyOpen,
   121     /** Panic code raised if the file Handle is NULL.
   122     */  
   123   EMMFFileHandleNULL
   124 	};
   125 
   126 /** 
   127 @publishedAll
   128 @deprecated
   129 
   130 Panic codes for CMMFDataPath
   131 */
   132 enum TMMFDataPathPanicCode
   133 	{
   134 	/**
   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.
   137 	*/
   138 	EMMFDataPathPanicBadState = 1000000,
   139 
   140 	/**
   141 	The code has detected a condition that cannot occur - must be programming error
   142 	*/
   143 	EMMFDataPathPanicProgrammingError = 2000000,
   144 
   145 	/**
   146 	A panic in CMMFDataPath::EmptySinkBufferL() if sink status
   147 	is not EFull or EBeingFilled.
   148 	*/
   149 	EMMFDataPathPanicSinkError = 3000000
   150 	};
   151 
   152 /**
   153 @publishedAll
   154 @released
   155 
   156 Panic codes for RMMFSubThread.
   157 */
   158 enum TMMFSubThreadPanicCode
   159 	{
   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.
   164 	*/
   165 	EMMFSubThreadPanicTimedOut = 1
   166 	};
   167 
   168 /**
   169 @publishedAll
   170 @released
   171 
   172 Panic codes for MMFCodecBaseDefinitions
   173 */
   174 enum TMMFCodecBaseDefinitionsPanicCode
   175 	{
   176 	/**
   177 	Panic code raised when the codec TMMFTableAudioCodec::ConvertFast() method is not supported for this codec.
   178 	*/
   179 	EMMFCodecBaseDefinitionsPanicConvertFastNotSupported = 1	
   180 	};
   181 
   182 /**
   183 @publishedAll
   184 @released
   185 
   186 Panic codes for CMMFAudioController.
   187 */
   188 enum TMMFAudioControllerPanicCode
   189 	{
   190 
   191 	/** Panic code for a bad Unique Identifier. This is reserved.
   192 	*/
   193 	EMMFAudioControllerPanicBadUID = 1,
   194 
   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.
   197 	*/
   198 	EMMFAudioControllerPanicDataSourceDoesNotExist,
   199 
   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.
   202 	*/
   203 	EMMFAudioControllerPanicDataSinkDoesNotExist
   204 	};
   205 
   206 /**
   207 @publishedAll
   208 @deprecated
   209 
   210 Panic codes for MMFDisplay
   211 */
   212 enum TMMFDisplayPanicCode
   213 	{
   214   	/** Panic code raised when this CMMFDisplay is in the wrong thread.
   215 	*/
   216 	EMMFDisplayPanicWrongThread = 1,
   217   	/** Panic code raised when the CMMFDisplay has been asked to do something before it is ready.
   218 	*/
   219 	EMMFDisplayPanicNotReady,
   220   	/** Panic code raised when the CMMFDisplay::CreateSinkBufferL() method is not supported.
   221 	*/
   222 	EMMFDisplayPanicCreateSinkBufferLNotSupported,
   223   	/** Panic code raised when the CMMFDisplay::BufferFilledL() method is not supported.
   224 	*/
   225 	EMMFDisplayPanicBufferFilledLNotSupported,
   226   	/** Panic code raised when the calling supplier does not exist.
   227 	*/
   228 	EMMFDisplayPanicCallingSupplierDoesNotExist,
   229   	/** Panic code raised when the CMMFDisplay method has an internal error.
   230 	*/
   231 	EMMFDisplayPanicRequestStatusError
   232 	};
   233 
   234 /**
   235 @publishedAll
   236 @deprecated
   237 
   238 Panic codes for MMFToneController.
   239 */
   240 enum TMMFToneControllerPanicCode 
   241 	{
   242 	/** Panic code raised when the tone controller encounters a bad Unique Identifier.
   243 	*/
   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.
   247 	*/
   248 	EMMFToneControllerPanicUnexpectedMixinApiCall,
   249 	/** Panic code raised when there is an error with the cancel command. Not used at present.
   250 	*/
   251 	EMMFToneControllerPanicBadCancelCustomCommand
   252 	};
   253 
   254 
   255 /**
   256 @publishedAll
   257 @released
   258 
   259 Panic codes for the audio media client
   260 */
   261 enum TMMFMediaClientPanicCode
   262 	{
   263   	/** The specified audio device mode is not supported.
   264 	*/
   265 	EMMFMediaClientPanicSetAudioDeviceModeNotSupported = 1,
   266 
   267 	/** An error occurred communicating with the audio device.
   268 	*/
   269 	EMMFMediaClientPanicServerCommunicationProblem,
   270 
   271 	/** The functions CMMFMdaAudioConvertUtility::OpenL() or CMMFMdaAudioRecorderUtility::DoPlay()
   272 	detected an invalid internal state
   273 	*/
   274 	EMMFMediaClientBadState,
   275 
   276 	/** The audio media client received a bad argument.
   277 	*/
   278 	EMMFMediaClientBadArgument,
   279 
   280 	/** Reserved function should not be called
   281 	*/
   282 	EMMFReservedCall
   283 	};
   284 
   285 /**
   286 @publishedAll
   287 
   288 Panic codes for the sw codec wrapper
   289 */
   290 enum TMMFSwCodecWrapperPanicCode
   291 	{
   292 	/** Codec wrapper did not create an internal datapath
   293 	*/
   294 	EMMFSwCodecWrapperNoDataPath,
   295 
   296 	/** Codec wrapper does not have a device handle
   297 	*/
   298 	EMMFSwCodecWrapperNoDevice,
   299 
   300 	/** Codec wrapper codec returns non existant process result
   301 	*/
   302 	EMMFSwCodecWrapperBadCodec,
   303 
   304 	/** Sound driver returns unexpected buffer
   305 	*/
   306 	EMMFSwCodecWrapperBadBuffer
   307 	};
   308 
   309 
   310 /**
   311 @publishedAll
   312 @released
   313 
   314 Panic codes for the media client utility
   315 */
   316 enum TMMFMediaClientUtilityPanicCode 
   317 	{
   318 	/** Client utility is in a bad state
   319 	*/
   320 	EMMFMediaClientUtilityBadState = 1,
   321 	
   322 	/** Client utility is passed a bad argument
   323 	*/
   324 	EMMFMediaClientUtilityBadArgument
   325 	};
   326 
   327 #ifdef SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT
   328 /**
   329 @publishedAll
   330 @released
   331 
   332 Panic codes for the video player utility
   333 */
   334 enum TMMFVideoPlayerUtilityPanicCode 
   335 	{
   336 	/** File not opened
   337 	*/
   338 	EMMFVideoPlayerUtilityFileNotOpened = 1,
   339 
   340 	/** Subtitle not supported
   341 	*/
   342 	EMMFVideoPlayerUtilitySubtitleNotSupported = 2,
   343 
   344 	/** No display window available
   345 	*/
   346 	EMMFVideoPlayerUtilityNoWindowAdded = 3,
   347 
   348 	/** Subtitle not enabled
   349 	*/
   350 	EMMFVideoPlayerUtilitySubtitleNotEnabled = 4,
   351 
   352 	/** Subtitle language not supported
   353 	*/
   354 	EMMFVideoPlayerUtilitySubtitleLanguageNotSupported = 5
   355 	};
   356 #endif //SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT
   357 
   358 #endif