epoc32/include/mmf/common/mmfpaniccodes.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     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 	};
   122 
   123 /** 
   124 @publishedAll
   125 @deprecated
   126 
   127 Panic codes for CMMFDataPath
   128 */
   129 enum TMMFDataPathPanicCode
   130 	{
   131 	/**
   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.
   134 	*/
   135 	EMMFDataPathPanicBadState = 1000000,
   136 
   137 	/**
   138 	The code has detected a condition that cannot occur - must be programming error
   139 	*/
   140 	EMMFDataPathPanicProgrammingError = 2000000,
   141 
   142 	/**
   143 	A panic in CMMFDataPath::EmptySinkBufferL() if sink status
   144 	is not EFull or EBeingFilled.
   145 	*/
   146 	EMMFDataPathPanicSinkError = 3000000
   147 	};
   148 
   149 /**
   150 @publishedAll
   151 @released
   152 
   153 Panic codes for RMMFSubThread.
   154 */
   155 enum TMMFSubThreadPanicCode
   156 	{
   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.
   161 	*/
   162 	EMMFSubThreadPanicTimedOut = 1
   163 	};
   164 
   165 /**
   166 @publishedAll
   167 @released
   168 
   169 Panic codes for MMFCodecBaseDefinitions
   170 */
   171 enum TMMFCodecBaseDefinitionsPanicCode
   172 	{
   173 	/**
   174 	Panic code raised when the codec TMMFTableAudioCodec::ConvertFast() method is not supported for this codec.
   175 	*/
   176 	EMMFCodecBaseDefinitionsPanicConvertFastNotSupported = 1	
   177 	};
   178 
   179 /**
   180 @publishedAll
   181 @released
   182 
   183 Panic codes for CMMFAudioController.
   184 */
   185 enum TMMFAudioControllerPanicCode
   186 	{
   187 
   188 	/** Panic code for a bad Unique Identifier. This is reserved.
   189 	*/
   190 	EMMFAudioControllerPanicBadUID = 1,
   191 
   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.
   194 	*/
   195 	EMMFAudioControllerPanicDataSourceDoesNotExist,
   196 
   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.
   199 	*/
   200 	EMMFAudioControllerPanicDataSinkDoesNotExist
   201 	};
   202 
   203 /**
   204 @publishedAll
   205 @deprecated
   206 
   207 Panic codes for MMFDisplay
   208 */
   209 enum TMMFDisplayPanicCode
   210 	{
   211   	/** Panic code raised when this CMMFDisplay is in the wrong thread.
   212 	*/
   213 	EMMFDisplayPanicWrongThread = 1,
   214   	/** Panic code raised when the CMMFDisplay has been asked to do something before it is ready.
   215 	*/
   216 	EMMFDisplayPanicNotReady,
   217   	/** Panic code raised when the CMMFDisplay::CreateSinkBufferL() method is not supported.
   218 	*/
   219 	EMMFDisplayPanicCreateSinkBufferLNotSupported,
   220   	/** Panic code raised when the CMMFDisplay::BufferFilledL() method is not supported.
   221 	*/
   222 	EMMFDisplayPanicBufferFilledLNotSupported,
   223   	/** Panic code raised when the calling supplier does not exist.
   224 	*/
   225 	EMMFDisplayPanicCallingSupplierDoesNotExist,
   226   	/** Panic code raised when the CMMFDisplay method has an internal error.
   227 	*/
   228 	EMMFDisplayPanicRequestStatusError
   229 	};
   230 
   231 /**
   232 @publishedAll
   233 @deprecated
   234 
   235 Panic codes for MMFToneController.
   236 */
   237 enum TMMFToneControllerPanicCode 
   238 	{
   239 	/** Panic code raised when the tone controller encounters a bad Unique Identifier.
   240 	*/
   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.
   244 	*/
   245 	EMMFToneControllerPanicUnexpectedMixinApiCall,
   246 	/** Panic code raised when there is an error with the cancel command. Not used at present.
   247 	*/
   248 	EMMFToneControllerPanicBadCancelCustomCommand
   249 	};
   250 
   251 
   252 /**
   253 @publishedAll
   254 @released
   255 
   256 Panic codes for the audio media client
   257 */
   258 enum TMMFMediaClientPanicCode
   259 	{
   260   	/** The specified audio device mode is not supported.
   261 	*/
   262 	EMMFMediaClientPanicSetAudioDeviceModeNotSupported = 1,
   263 
   264 	/** An error occurred communicating with the audio device.
   265 	*/
   266 	EMMFMediaClientPanicServerCommunicationProblem,
   267 
   268 	/** The functions CMMFMdaAudioConvertUtility::OpenL() or CMMFMdaAudioRecorderUtility::DoPlay()
   269 	detected an invalid internal state
   270 	*/
   271 	EMMFMediaClientBadState,
   272 
   273 	/** The audio media client received a bad argument.
   274 	*/
   275 	EMMFMediaClientBadArgument,
   276 
   277 	/** Reserved function should not be called
   278 	*/
   279 	EMMFReservedCall
   280 	};
   281 
   282 /**
   283 @publishedAll
   284 
   285 Panic codes for the sw codec wrapper
   286 */
   287 enum TMMFSwCodecWrapperPanicCode
   288 	{
   289 	/** Codec wrapper did not create an internal datapath
   290 	*/
   291 	EMMFSwCodecWrapperNoDataPath,
   292 
   293 	/** Codec wrapper does not have a device handle
   294 	*/
   295 	EMMFSwCodecWrapperNoDevice,
   296 
   297 	/** Codec wrapper codec returns non existant process result
   298 	*/
   299 	EMMFSwCodecWrapperBadCodec,
   300 
   301 	/** Sound driver returns unexpected buffer
   302 	*/
   303 	EMMFSwCodecWrapperBadBuffer
   304 	};
   305 
   306 
   307 /**
   308 @publishedAll
   309 @released
   310 
   311 Panic codes for the media client utility
   312 */
   313 enum TMMFMediaClientUtilityPanicCode 
   314 	{
   315 	/** Client utility is in a bad state
   316 	*/
   317 	EMMFMediaClientUtilityBadState = 1,
   318 	
   319 	/** Client utility is passed a bad argument
   320 	*/
   321 	EMMFMediaClientUtilityBadArgument
   322 	};
   323 
   324 #ifdef SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT
   325 /**
   326 @publishedAll
   327 @released
   328 
   329 Panic codes for the video player utility
   330 */
   331 enum TMMFVideoPlayerUtilityPanicCode 
   332 	{
   333 	/** File not opened
   334 	*/
   335 	EMMFVideoPlayerUtilityFileNotOpened = 1,
   336 
   337 	/** Subtitle not supported
   338 	*/
   339 	EMMFVideoPlayerUtilitySubtitleNotSupported = 2,
   340 
   341 	/** No display window available
   342 	*/
   343 	EMMFVideoPlayerUtilityNoWindowAdded = 3,
   344 
   345 	/** Subtitle not enabled
   346 	*/
   347 	EMMFVideoPlayerUtilitySubtitleNotEnabled = 4,
   348 
   349 	/** Subtitle language not supported
   350 	*/
   351 	EMMFVideoPlayerUtilitySubtitleLanguageNotSupported = 5
   352 	};
   353 #endif //SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT
   354 
   355 #endif