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