sl@0: // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #ifndef __MMF_COMMON_PANICCODES_H__ sl@0: #define __MMF_COMMON_PANICCODES_H__ sl@0: sl@0: //Multimedia Framework Panic Codes sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Panic codes for CMMFAudioInput. sl@0: */ sl@0: enum TMMFAudioInputPanicCode sl@0: { sl@0: /** sl@0: Panic in MMMFAudioInput::NewAudioInputL() if ImplementationUid!=KUidMmfAudioInput. sl@0: */ sl@0: EMMFAudioInputPanicBadUID = 1, sl@0: /** sl@0: MDevSoundObserver::ToneFinished() was called but not implemented. sl@0: */ sl@0: EMMFAudioInputPanicToneFinishedNotSupported, sl@0: /** sl@0: MDevSoundObserver::BufferToBeFilled() was called but not implemented. sl@0: */ sl@0: EMMFAudioInputPanicPlayerDataUsedNotSupported, sl@0: /** sl@0: MDevSoundObserver::PlayError() was called but not implemented. sl@0: */ sl@0: EMMFAudioInputPanicPlayErrorNotSupported, sl@0: /** sl@0: Panic if CMMFAudioInput::DevSound not loaded. sl@0: */ sl@0: EMMFAudioInputDevSoundNotLoaded sl@0: }; sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Panic codes for CMMFAudioOutput sl@0: */ sl@0: enum TMMFAudioOutputPanicCode sl@0: { sl@0: /** Panic in MMMFAudioOutput::NewAudioInputL() if ImplementationUid!=KUidMmfAudioInput sl@0: */ sl@0: EMMFAudioOutputPanicBadUID = 1, sl@0: sl@0: /** MMMFAudioOutput::BufferFilledL() was called but not implemented sl@0: */ sl@0: EMMFAudioOutputPanicBufferFilledLNotSupported, sl@0: sl@0: /** MMMFAudioOutput::ToneFinished() was called but not implemented sl@0: */ sl@0: EMMFAudioOutputPanicToneFinishedNotSupported, sl@0: sl@0: /** Unimplemented panic code. sl@0: */ sl@0: EMMFAudioOutputPanicRecordDataFilledNotSupported, sl@0: sl@0: /** MMMFAudioOutput::RecordError() was called but not implemented sl@0: */ sl@0: EMMFAudioOutputPanicRecordErrorNotSupported, sl@0: sl@0: /** Panic if CMMFAudioOutput::iMMFDevSound is NULL sl@0: */ sl@0: EMMFAudioOutputDevSoundNotLoaded, sl@0: sl@0: /** Panic if trying to resume when resume is not supported by DevSound sl@0: */ sl@0: EMMFAudioOutputDevSoundResumingWhenNotSupported sl@0: }; sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Panic codes for CMMFDescriptor sl@0: */ sl@0: enum TMMFDescriptorPanicCode sl@0: { sl@0: /** MDataSource::BufferEmptiedL() was called but not implemented sl@0: */ sl@0: EMMFDescriptorPanicBufferEmptiedLNotSupported = 1, sl@0: /** MDataSink::BufferFilledL() was called but not implemented sl@0: */ sl@0: EMMFDescriptorPanicBufferFilledLNotSupported sl@0: }; sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Panic codes for CMMFFile sl@0: */ sl@0: enum TMMFFilePanicCode sl@0: { sl@0: /** MDataSource::BufferEmptiedL() called but not implemented sl@0: */ sl@0: EMMFFilePanicBufferEmptiedLNotSupported = 1, sl@0: /** MDataSink::BufferFilledL() called but not implemented sl@0: */ sl@0: EMMFFilePanicBufferFilledLNotSupported, sl@0: /** Panic code raised if the file is already open. sl@0: */ sl@0: EMMFFileAlreadyOpen, sl@0: /** Panic code raised if the file Handle is NULL. sl@0: */ sl@0: EMMFFileHandleNULL sl@0: }; sl@0: sl@0: /** sl@0: @publishedAll sl@0: @deprecated sl@0: sl@0: Panic codes for CMMFDataPath sl@0: */ sl@0: enum TMMFDataPathPanicCode sl@0: { sl@0: /** sl@0: The iState value is not the expected value (normally EPlaying). For example, when it is asked to initialise sl@0: the sink or source whilst it is already playing some audio data. sl@0: */ sl@0: EMMFDataPathPanicBadState = 1000000, sl@0: sl@0: /** sl@0: The code has detected a condition that cannot occur - must be programming error sl@0: */ sl@0: EMMFDataPathPanicProgrammingError = 2000000, sl@0: sl@0: /** sl@0: A panic in CMMFDataPath::EmptySinkBufferL() if sink status sl@0: is not EFull or EBeingFilled. sl@0: */ sl@0: EMMFDataPathPanicSinkError = 3000000 sl@0: }; sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Panic codes for RMMFSubThread. sl@0: */ sl@0: enum TMMFSubThreadPanicCode sl@0: { sl@0: /** An attempt to close the subthread using RMMFSubThreadBase::Shutdown() has failed. The shutdown command sl@0: waits for both the death of the thread and the time-out of a timer to minimise the risk of deadlock. sl@0: If the timer times-out and the sub-thread is not dead then this thread is panicked in debug mode or, sl@0: in release mode the sub-thread is killed. sl@0: */ sl@0: EMMFSubThreadPanicTimedOut = 1 sl@0: }; sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Panic codes for MMFCodecBaseDefinitions sl@0: */ sl@0: enum TMMFCodecBaseDefinitionsPanicCode sl@0: { sl@0: /** sl@0: Panic code raised when the codec TMMFTableAudioCodec::ConvertFast() method is not supported for this codec. sl@0: */ sl@0: EMMFCodecBaseDefinitionsPanicConvertFastNotSupported = 1 sl@0: }; sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Panic codes for CMMFAudioController. sl@0: */ sl@0: enum TMMFAudioControllerPanicCode sl@0: { sl@0: sl@0: /** Panic code for a bad Unique Identifier. This is reserved. sl@0: */ sl@0: EMMFAudioControllerPanicBadUID = 1, sl@0: sl@0: /** AddDataSourceL() failed to add a data source. This could be caused by an sl@0: audio source that has been loaded but now does not exist. sl@0: */ sl@0: EMMFAudioControllerPanicDataSourceDoesNotExist, sl@0: sl@0: /** AddDataSinkL() failed to add a sink. This could be caused by an audio sink sl@0: that has been loaded but now does not exist. sl@0: */ sl@0: EMMFAudioControllerPanicDataSinkDoesNotExist sl@0: }; sl@0: sl@0: /** sl@0: @publishedAll sl@0: @deprecated sl@0: sl@0: Panic codes for MMFDisplay sl@0: */ sl@0: enum TMMFDisplayPanicCode sl@0: { sl@0: /** Panic code raised when this CMMFDisplay is in the wrong thread. sl@0: */ sl@0: EMMFDisplayPanicWrongThread = 1, sl@0: /** Panic code raised when the CMMFDisplay has been asked to do something before it is ready. sl@0: */ sl@0: EMMFDisplayPanicNotReady, sl@0: /** Panic code raised when the CMMFDisplay::CreateSinkBufferL() method is not supported. sl@0: */ sl@0: EMMFDisplayPanicCreateSinkBufferLNotSupported, sl@0: /** Panic code raised when the CMMFDisplay::BufferFilledL() method is not supported. sl@0: */ sl@0: EMMFDisplayPanicBufferFilledLNotSupported, sl@0: /** Panic code raised when the calling supplier does not exist. sl@0: */ sl@0: EMMFDisplayPanicCallingSupplierDoesNotExist, sl@0: /** Panic code raised when the CMMFDisplay method has an internal error. sl@0: */ sl@0: EMMFDisplayPanicRequestStatusError sl@0: }; sl@0: sl@0: /** sl@0: @publishedAll sl@0: @deprecated sl@0: sl@0: Panic codes for MMFToneController. sl@0: */ sl@0: enum TMMFToneControllerPanicCode sl@0: { sl@0: /** Panic code raised when the tone controller encounters a bad Unique Identifier. sl@0: */ sl@0: EMMFToneControllerPanicBadUID = 1, sl@0: /** Panic code raised when the mixin class API encounters an unexpected call, for example sl@0: when the hardware has full buffer or when playback is stopped due to error or EOF. sl@0: */ sl@0: EMMFToneControllerPanicUnexpectedMixinApiCall, sl@0: /** Panic code raised when there is an error with the cancel command. Not used at present. sl@0: */ sl@0: EMMFToneControllerPanicBadCancelCustomCommand sl@0: }; sl@0: sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Panic codes for the audio media client sl@0: */ sl@0: enum TMMFMediaClientPanicCode sl@0: { sl@0: /** The specified audio device mode is not supported. sl@0: */ sl@0: EMMFMediaClientPanicSetAudioDeviceModeNotSupported = 1, sl@0: sl@0: /** An error occurred communicating with the audio device. sl@0: */ sl@0: EMMFMediaClientPanicServerCommunicationProblem, sl@0: sl@0: /** The functions CMMFMdaAudioConvertUtility::OpenL() or CMMFMdaAudioRecorderUtility::DoPlay() sl@0: detected an invalid internal state sl@0: */ sl@0: EMMFMediaClientBadState, sl@0: sl@0: /** The audio media client received a bad argument. sl@0: */ sl@0: EMMFMediaClientBadArgument, sl@0: sl@0: /** Reserved function should not be called sl@0: */ sl@0: EMMFReservedCall sl@0: }; sl@0: sl@0: /** sl@0: @publishedAll sl@0: sl@0: Panic codes for the sw codec wrapper sl@0: */ sl@0: enum TMMFSwCodecWrapperPanicCode sl@0: { sl@0: /** Codec wrapper did not create an internal datapath sl@0: */ sl@0: EMMFSwCodecWrapperNoDataPath, sl@0: sl@0: /** Codec wrapper does not have a device handle sl@0: */ sl@0: EMMFSwCodecWrapperNoDevice, sl@0: sl@0: /** Codec wrapper codec returns non existant process result sl@0: */ sl@0: EMMFSwCodecWrapperBadCodec, sl@0: sl@0: /** Sound driver returns unexpected buffer sl@0: */ sl@0: EMMFSwCodecWrapperBadBuffer sl@0: }; sl@0: sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Panic codes for the media client utility sl@0: */ sl@0: enum TMMFMediaClientUtilityPanicCode sl@0: { sl@0: /** Client utility is in a bad state sl@0: */ sl@0: EMMFMediaClientUtilityBadState = 1, sl@0: sl@0: /** Client utility is passed a bad argument sl@0: */ sl@0: EMMFMediaClientUtilityBadArgument sl@0: }; sl@0: sl@0: #ifdef SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Panic codes for the video player utility sl@0: */ sl@0: enum TMMFVideoPlayerUtilityPanicCode sl@0: { sl@0: /** File not opened sl@0: */ sl@0: EMMFVideoPlayerUtilityFileNotOpened = 1, sl@0: sl@0: /** Subtitle not supported sl@0: */ sl@0: EMMFVideoPlayerUtilitySubtitleNotSupported = 2, sl@0: sl@0: /** No display window available sl@0: */ sl@0: EMMFVideoPlayerUtilityNoWindowAdded = 3, sl@0: sl@0: /** Subtitle not enabled sl@0: */ sl@0: EMMFVideoPlayerUtilitySubtitleNotEnabled = 4, sl@0: sl@0: /** Subtitle language not supported sl@0: */ sl@0: EMMFVideoPlayerUtilitySubtitleLanguageNotSupported = 5 sl@0: }; sl@0: #endif //SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT sl@0: sl@0: #endif