williamr@2: // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // Mda\Common\Audio.h williamr@2: // williamr@2: // williamr@2: williamr@2: #ifndef __MDA_COMMON_AUDIO_H__ williamr@2: #define __MDA_COMMON_AUDIO_H__ williamr@2: williamr@2: // Standard EPOC32 includes williamr@2: #include williamr@2: williamr@2: // Public Media Server includes williamr@2: #include williamr@2: #include williamr@2: //#include williamr@2: #include williamr@2: #include williamr@2: williamr@2: MDA_UID(KUidMdaPrioritySettings) williamr@2: MDA_UID(KUidMdaMediaTypeAudio) // Audio data type Uid williamr@2: MDA_UID(KUidMdaLocalSoundDevice) // Local audio stream location williamr@2: MDA_UID(KUidMdaClipLocationMaxWriteLength) williamr@2: MDA_UID(KUidMdaTelephonySoundDevice) // Telephony audio stream location williamr@2: MDA_UID(KUidMdaClientPCMSoundDevice) // Client PCM audio stream location williamr@2: MDA_UID(KUidMdaToneGeneratorDevice) // Tone Generator Device williamr@2: MDA_UID(KUidMdaClipFormatWav) // Wav Audio Clip Format Uid williamr@2: williamr@2: MDA_UID(KUidMdaAudioOutputStreamDevice) // Output Stream Device williamr@2: williamr@2: MDA_UID(KUidMdaWavCodec) // Wav Codec Type Uid williamr@2: MDA_UID(KUidMdaWavPcmCodec) // Wav Codec Uids williamr@2: MDA_UID(KUidMdaWavAlawCodec) williamr@2: MDA_UID(KUidMdaWavMulawCodec) williamr@2: MDA_UID(KUidMdaWavImaAdpcmCodec) williamr@2: williamr@2: williamr@2: MDA_UID(KUidMdaClipFormatAu) // Sun/Next "Au" Audio Clip format Uid williamr@2: MDA_UID(KUidMdaAuCodec) // Sun/Next "Au" Audio Codec Type Uid williamr@2: MDA_UID(KUidMdaAuMulawCodec) // Sun/Next "Au" Audio Codec Uids williamr@2: MDA_UID(KUidMdaAu8PcmCodec) williamr@2: MDA_UID(KUidMdaAu16PcmCodec) williamr@2: MDA_UID(KUidMdaAuAlawCodec) williamr@2: williamr@2: MDA_UID(KUidMdaClipFormatRawAudio) // Raw Audio Clip format Uid williamr@2: MDA_UID(KUidMdaRawAudioCodec) // Raw Audio Codec Type Uid williamr@2: MDA_UID(KUidMdaRawAudioMulawCodec) williamr@2: MDA_UID(KUidMdaRawAudioAlawCodec) williamr@2: MDA_UID(KUidMdaRawAudioS8PcmCodec) // Signed 8bit williamr@2: MDA_UID(KUidMdaRawAudioU8PcmCodec) // Unsigned 8bit williamr@2: MDA_UID(KUidMdaRawAudioSL16PcmCodec) // Signed little-endian 16bit williamr@2: MDA_UID(KUidMdaRawAudioSB16PcmCodec) // Signed big-endian 16bit williamr@2: MDA_UID(KUidMdaRawAudioUL16PcmCodec) // Unsigned little-endian 16bit williamr@2: MDA_UID(KUidMdaRawAudioUB16PcmCodec) // Unsigned big-endian 16bit williamr@2: williamr@2: MDA_UID(KUidMdaTelephonyStateQuery) // Telephony state query williamr@2: MDA_UID(KUidMdaAudioStreamVolumeRamp) // Audio stream volume ramp williamr@2: williamr@2: MDA_UID(KUidMdaDataTypeSettings) williamr@2: williamr@2: MDA_UID(KUidMdaClipFormatRawAmr) // AMR Audio Clip Format Uid williamr@2: MDA_UID(KUidMdaRawAmrCodec) // AMR Codec Type Uid williamr@2: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: const TInt KMdaClipLocationMaxWriteLengthNone = -1; williamr@2: williamr@2: // Package classes williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: Generic Audio Parameters williamr@2: */ williamr@2: class TMdaPrioritySettings : public TMdaPackage williamr@2: { williamr@2: public: williamr@2: inline TMdaPrioritySettings(); williamr@2: public: williamr@2: /** williamr@2: Absolute priority of a client of the MMF Server. williamr@2: williamr@2: Used by the policy server to determine which client should gain access to the sound device. williamr@2: williamr@2: The priority which should be an integer in the range -100 to +100. williamr@2: */ williamr@2: TInt iPriority; williamr@2: /** williamr@2: The priority preference that expresses the nature of the priority that can be none, williamr@2: time (or speed), quality or both time and quality. williamr@2: williamr@2: If this is set to EMdaPriorityPreferenceTime then the audio data is time sensitive. The playback williamr@2: operation fails if it cannot happen when requested but degraded output such as mixing or muting williamr@2: is allowed. williamr@2: williamr@2: If this is set to EMdaPriorityPreferenceQuality then the audio data must be played at the best possible williamr@2: quality (for example, it must not be degraded by muting or mixing). The playback operation is delayed williamr@2: until the sound device is available for exclusive use. williamr@2: williamr@2: If this is set to EMdaPriorityPreferenceTimeAndQuality then the audio data is both time and quality williamr@2: sensitive. The playback operation fails if it cannot happen immediately at the highest quality. williamr@2: */ williamr@2: TMdaPriorityPreference iPref; williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: Datatype parameters. williamr@2: williamr@2: Base class for specific data type config packages williamr@2: */ williamr@2: class TMdaDatatypeSettings : public TMdaPackage williamr@2: { williamr@2: protected: williamr@2: inline TMdaDatatypeSettings(TUid aUid,TInt aDerivedSize); williamr@2: }; williamr@2: williamr@2: inline TMdaDatatypeSettings::TMdaDatatypeSettings(TUid aUid,TInt aDerivedSize) : williamr@2: TMdaPackage(KUidMdaDataTypeSettings,aUid,aDerivedSize) {} williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The settings for audio data played through the media server. williamr@2: williamr@2: These can be the settings for an audio clip, for streamed audio data, or can be the capabilities williamr@2: of the sound device. The sample rate and number of channels apply to the audio sample, the maximum williamr@2: volume applies to the output device and the volume setting can apply to either, depending on the williamr@2: device. An object of this class is a public data member of class CMdaAudioType and also can be williamr@2: passed to CMdaAudioOutputStream::Open(). williamr@2: williamr@2: williamr@2: @see CMdaAudioType williamr@2: @see CMdaAudioOutputStream::Open() williamr@2: */ williamr@2: class TMdaAudioDataSettings : public TMdaDatatypeSettings williamr@2: { williamr@2: public: williamr@2: /** williamr@2: Audio capabilities, which include the sample rate and number of channels. The iCaps williamr@2: member is a combination of these flags. williamr@2: */ williamr@2: enum TAudioCaps williamr@2: { williamr@2: williamr@2: // Sampled audio capabilities williamr@2: williamr@2: /** If specified, the sample rate iSampleRate is the only one supported. If not williamr@2: specified, multiple sample rates may be supported. williamr@2: */ williamr@2: ESampleRateFixed = 0x00000001, williamr@2: williamr@2: /** If specified, all sample rates between the minimum and the maximum are supported. williamr@2: */ williamr@2: ESampleRateAnyInRange = 0x00000002, williamr@2: williamr@2: /** The audio sample supports a sample rate of 8.000KHz. williamr@2: */ williamr@2: ESampleRate8000Hz = 0x00000010, williamr@2: williamr@2: /** The audio sample supports a sample rate of 11.025KHz. williamr@2: */ williamr@2: ESampleRate11025Hz = 0x00000040, williamr@2: williamr@2: /** The audio sample supports a sample rate of 12.000KHz. williamr@2: */ williamr@2: ESampleRate12000Hz = 0x00000080, williamr@2: williamr@2: /** The audio sample supports a sample rate of 16.000KHz. williamr@2: */ williamr@2: ESampleRate16000Hz = 0x00000100, williamr@2: williamr@2: /** The audio sample supports a sample rate of 22.000KHz. williamr@2: */ williamr@2: ESampleRate22050Hz = 0x00000400, williamr@2: williamr@2: /** The audio sample supports a sample rate of 24.000KHz. williamr@2: */ williamr@2: ESampleRate24000Hz = 0x00000800, williamr@2: williamr@2: /** The audio sample supports a sample rate of 32.000KHz. williamr@2: */ williamr@2: ESampleRate32000Hz = 0x00001000, williamr@2: williamr@2: /** The audio sample supports a sample rate of 44.100KHz. williamr@2: */ williamr@2: ESampleRate44100Hz = 0x00004000, williamr@2: williamr@2: /** The audio sample supports a sample rate of 48.000KHz. williamr@2: */ williamr@2: ESampleRate48000Hz = 0x00010000, williamr@2: williamr@2: /** The audio sample supports a sample rate of 96.000KHz. williamr@2: */ williamr@2: ESampleRate96000Hz = 0x00020000, williamr@2: williamr@2: /** The audio sample supports a sample rate of 64.000KHz. williamr@2: */ williamr@2: ESampleRate64000Hz = 0x00040000, williamr@2: williamr@2: // Channel related - applies to sampled williamr@2: williamr@2: /** The audio sample supports mono. williamr@2: */ williamr@2: EChannelsMono = 0x02000000, williamr@2: williamr@2: /** The audio sample supports stereo. williamr@2: */ williamr@2: EChannelsStereo = 0x04000000, williamr@2: williamr@2: /** Routing related williamr@2: */ williamr@2: ERoutingControl = 0x08000000, williamr@2: williamr@2: /** True if data flow is synchronised with real time (e.g. stream) williamr@2: */ williamr@2: ERealTime = 0x10000000 williamr@2: }; williamr@2: williamr@2: /** Mutually exclusive flags that specify whether audio data is sent to the local device (speakers) williamr@2: or the network (phone line) or both. The iFlags member uses these flags. williamr@2: */ williamr@2: enum TAudioFlags williamr@2: { williamr@2: williamr@2: /** The sound data is only sent to the network. williamr@2: */ williamr@2: ENoLocalRouting = 0x00000001, williamr@2: williamr@2: /** The sound data is only sent to the local device. williamr@2: */ williamr@2: ENoNetworkRouting = 0x00000002 williamr@2: }; williamr@2: public: williamr@2: inline TMdaAudioDataSettings(); williamr@2: inline void Query(); // Call this when you just want to have caps and maxvolume filled williamr@2: public: williamr@2: // Fixed values - must be queried williamr@2: williamr@2: /** williamr@2: Specifies the capabilities of the audio sample. Its value is a combination of the flags williamr@2: contained in the TAudioCaps enum. williamr@2: */ williamr@2: TInt iCaps; williamr@2: williamr@2: /** williamr@2: The maximum volume of the audio device. williamr@2: */ williamr@2: TInt iMaxVolume; // One means fixed volume (zero not valid) williamr@2: williamr@2: // Variables williamr@2: /** williamr@2: The sample rate of the audio sample. williamr@2: */ williamr@2: TInt iSampleRate; williamr@2: williamr@2: /** williamr@2: The number of channels for the audio sample. williamr@2: */ williamr@2: TInt iChannels; williamr@2: williamr@2: /** williamr@2: The volume. Whether this applies to the audio device or to the audio sample is device-dependent. williamr@2: */ williamr@2: TInt iVolume; williamr@2: williamr@2: /** williamr@2: The flags. Its value can be either of the flags contained in the TAudioFlags enum. williamr@2: */ williamr@2: TInt iFlags; williamr@2: }; williamr@2: williamr@2: // Wav Config Packages williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The format for .wav audio clips. williamr@2: williamr@2: An object of this type can be passed to CMdaAudioRecorderUtility::OpenL() or CMdaAudioConvertUtility::OpenL(). williamr@2: */ williamr@2: class TMdaWavClipFormat : public TMdaClipFormat williamr@2: { williamr@2: public: williamr@2: inline TMdaWavClipFormat(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The base class for codecs used by .wav audio files. williamr@2: williamr@2: An object derived from this class can be used to specify the compression algorithm to use when recording or williamr@2: converting a .wav audio clip. When playing back a .wav clip, the codec is not specified: the media server williamr@2: identifies the correct one to use. williamr@2: */ williamr@2: class TMdaWavCodec : public TMdaPackage williamr@2: { williamr@2: public: williamr@2: inline TMdaWavCodec(); // Unknown type williamr@2: protected: williamr@2: inline TMdaWavCodec(TUid aUid,TInt aDerivedSize); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for uncompressed 8 or 16 bit PCM .wav format sound data. williamr@2: williamr@2: This codec copies the data unchanged from source to destination. williamr@2: */ williamr@2: class TMdaPcmWavCodec : public TMdaWavCodec williamr@2: { williamr@2: public: williamr@2: williamr@2: /** williamr@2: Indicates whether the sound is sampled using 8 or 16 bits. williamr@2: */ williamr@2: enum TBits williamr@2: { williamr@2: /** The sound is sampled using 8 bits. williamr@2: */ williamr@2: E8BitPcm=0, williamr@2: williamr@2: /** The sound is sampled using 16 bits. williamr@2: */ williamr@2: E16BitPcm=1 williamr@2: }; williamr@2: public: williamr@2: inline TMdaPcmWavCodec(TBits aBits=E16BitPcm); williamr@2: public: williamr@2: /** williamr@2: Indicates whether the sound is sampled using 8 or 16 bits. williamr@2: */ williamr@2: TBits iBits; williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for .wav audio data compressed using the A-Law algorithm. williamr@2: */ williamr@2: class TMdaAlawWavCodec : public TMdaWavCodec williamr@2: { williamr@2: public: williamr@2: inline TMdaAlawWavCodec(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for .wav audio data compressed using the mu-law algorithm. williamr@2: */ williamr@2: class TMdaMulawWavCodec : public TMdaWavCodec williamr@2: { williamr@2: public: williamr@2: inline TMdaMulawWavCodec(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for .wav audio data compressed using the IMA-ADPCM algorithm. williamr@2: */ williamr@2: class TMdaImaAdpcmWavCodec : public TMdaWavCodec williamr@2: { williamr@2: public: williamr@2: inline TMdaImaAdpcmWavCodec(); williamr@2: }; williamr@2: williamr@2: williamr@2: // Sun/NeXT "Au" Config Packages williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The format for .au audio clips. williamr@2: williamr@2: An object of this type can be passed to CMdaAudioRecorderUtility::OpenL() or CMdaAudioConvertUtility::OpenL(). williamr@2: */ williamr@2: class TMdaAuClipFormat : public TMdaClipFormat williamr@2: { williamr@2: public: williamr@2: inline TMdaAuClipFormat(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The base class for codecs used by .au audio files. williamr@2: williamr@2: An object derived from this class can be used to specify the compression algorithm to use when recording williamr@2: or converting a .au audio clip (whose format is TMdaAuClipFormat). When playing back a .au clip, the williamr@2: codec is not specified: the media server identifies the correct one to use. williamr@2: */ williamr@2: class TMdaAuCodec : public TMdaPackage williamr@2: { williamr@2: public: williamr@2: inline TMdaAuCodec(); // Unknown type williamr@2: protected: williamr@2: inline TMdaAuCodec(TUid aUid,TInt aDerivedSize); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for 8 bit PCM .au audio data. williamr@2: */ williamr@2: class TMdaPcm8BitAuCodec : public TMdaAuCodec williamr@2: { williamr@2: public: williamr@2: inline TMdaPcm8BitAuCodec(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for 16 bit PCM .au audio data. williamr@2: */ williamr@2: class TMdaPcm16BitAuCodec : public TMdaAuCodec williamr@2: { williamr@2: public: williamr@2: inline TMdaPcm16BitAuCodec(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for .au audio data compressed using the A-Law algorithm. williamr@2: */ williamr@2: class TMdaAlawAuCodec : public TMdaAuCodec williamr@2: { williamr@2: public: williamr@2: inline TMdaAlawAuCodec(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for .au audio data compressed using the mu-law algorithm. williamr@2: */ williamr@2: class TMdaMulawAuCodec : public TMdaAuCodec williamr@2: { williamr@2: public: williamr@2: inline TMdaMulawAuCodec(); williamr@2: }; williamr@2: williamr@2: // Raw Audio Config Packages williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: Audio format for raw audio clips. williamr@2: williamr@2: An object of this type can be passed to CMdaAudioRecorderUtility::OpenL() or CMdaAudioConvertUtility::OpenL(). williamr@2: */ williamr@2: class TMdaRawAudioClipFormat : public TMdaClipFormat williamr@2: { williamr@2: public: williamr@2: inline TMdaRawAudioClipFormat(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The base class for raw audio codecs. williamr@2: williamr@2: An object derived from this class can be used to specify the algorithm to use when opening a williamr@2: raw audio clip (whose format is TMdaRawAudioClipFormat). williamr@2: williamr@2: Raw audio clips are have no header information, so that when opening one, the user must supply williamr@2: a codec and a package containing the settings appropriate for the data in the clip. williamr@2: williamr@2: @see TMdaRawAudioClipFormat williamr@2: @see CMdaAudioConvertUtility::OpenL() williamr@2: @see CMdaAudioRecorderUtility::OpenL() williamr@2: */ williamr@2: class TMdaRawAudioCodec : public TMdaPackage williamr@2: { williamr@2: public: williamr@2: inline TMdaRawAudioCodec(); // Unknown type williamr@2: protected: williamr@2: inline TMdaRawAudioCodec(TUid aUid,TInt aDerivedSize); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for raw audio data compressed using the mu-law algorithm. williamr@2: */ williamr@2: class TMdaMulawRawAudioCodec : public TMdaRawAudioCodec williamr@2: { williamr@2: public: williamr@2: inline TMdaMulawRawAudioCodec(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for raw audio data compressed using the A-Law algorithm. williamr@2: */ williamr@2: class TMdaAlawRawAudioCodec : public TMdaRawAudioCodec williamr@2: { williamr@2: public: williamr@2: inline TMdaAlawRawAudioCodec(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for signed 8 bit PCM raw audio data. williamr@2: */ williamr@2: class TMdaS8PcmRawAudioCodec : public TMdaRawAudioCodec williamr@2: { williamr@2: public: williamr@2: inline TMdaS8PcmRawAudioCodec(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for unsigned 8 bit PCM raw audio data. williamr@2: */ williamr@2: class TMdaU8PcmRawAudioCodec : public TMdaRawAudioCodec williamr@2: { williamr@2: public: williamr@2: inline TMdaU8PcmRawAudioCodec(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for signed little-endian 16 bit PCM raw audio data. williamr@2: */ williamr@2: class TMdaSL16RawAudioCodec : public TMdaRawAudioCodec williamr@2: { williamr@2: public: williamr@2: inline TMdaSL16RawAudioCodec(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for signed big-endian 16 bit PCM raw audio data. williamr@2: */ williamr@2: class TMdaSB16RawAudioCodec : public TMdaRawAudioCodec williamr@2: { williamr@2: public: williamr@2: inline TMdaSB16RawAudioCodec(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for unsigned little-endian 16 bit PCM raw audio data. williamr@2: */ williamr@2: class TMdaUL16RawAudioCodec : public TMdaRawAudioCodec williamr@2: { williamr@2: public: williamr@2: inline TMdaUL16RawAudioCodec(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: The codec for unsigned big-endian 16 bit PCM raw audio data. williamr@2: */ williamr@2: class TMdaUB16RawAudioCodec : public TMdaRawAudioCodec williamr@2: { williamr@2: public: williamr@2: inline TMdaUB16RawAudioCodec(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: Local Audio Stream Device williamr@2: Control local microphone/speaker audio stream williamr@2: May not function during telephone call williamr@2: */ williamr@2: class TMdaLocalAudioDevice : public TMdaStreamDevice williamr@2: { williamr@2: public: williamr@2: inline TMdaLocalAudioDevice(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: Telephony Audio Stream Device williamr@2: Control telephony microphone+downlink/speaker+uplink audio stream williamr@2: Only functional during telephone call williamr@2: */ williamr@2: class TMdaTelephonyAudioDevice : public TMdaStreamDevice williamr@2: { williamr@2: public: williamr@2: inline TMdaTelephonyAudioDevice(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: This class is used in a ResourceConfig on a telephony port williamr@2: to determine the current state of telephony williamr@2: */ williamr@2: class TMdaTelephonyStateQuery : public TMdaPackage williamr@2: { williamr@2: public: williamr@2: inline TMdaTelephonyStateQuery(); williamr@2: public: williamr@2: TBool iIsTelephonyActive; williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: Client PCM Audio Stream Device williamr@2: Used to configure a 16bit PCM audio stream to/from client williamr@2: */ williamr@2: class TMdaClientPCMAudioDevice : public TMdaStreamDevice williamr@2: { williamr@2: public: williamr@2: inline TMdaClientPCMAudioDevice(); williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: williamr@2: Volume ramping control on audio stream devices williamr@2: */ williamr@2: class TMdaAudioStreamVolumeRamp : public TMdaPackage williamr@2: { williamr@2: public: williamr@2: inline TMdaAudioStreamVolumeRamp(); williamr@2: public: williamr@2: TTimeIntervalMicroSeconds iDuration; williamr@2: }; williamr@2: williamr@2: williamr@2: // Inlines williamr@2: williamr@2: /** williamr@2: Default constructor. The member data is not initialised. williamr@2: */ williamr@2: inline TMdaAudioDataSettings::TMdaAudioDataSettings() : williamr@2: TMdaDatatypeSettings(KUidMdaMediaTypeAudio,sizeof(TMdaAudioDataSettings)) williamr@2: { williamr@2: Mem::FillZ(&iSampleRate,sizeof(TInt)*4); williamr@2: } williamr@2: williamr@2: /** williamr@2: Sets the number of channels, the sample rate and the volume to KMdaUnknown (–1). Call this function when you williamr@2: only want to have the iCaps and iMaxVolume members filled. williamr@2: */ williamr@2: inline void TMdaAudioDataSettings::Query() williamr@2: { williamr@2: iChannels = KMdaUnknown; williamr@2: iSampleRate = KMdaUnknown; williamr@2: iVolume = KMdaUnknown; williamr@2: }// Call this when you just want to have caps and maxvolume filled williamr@2: williamr@2: /** williamr@2: The default constructor initialises the object so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaWavClipFormat::TMdaWavClipFormat() : williamr@2: TMdaClipFormat(KUidMdaClipFormatWav,sizeof(TMdaWavClipFormat)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the package so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaWavCodec::TMdaWavCodec() : williamr@2: TMdaPackage(KUidMdaWavCodec,KNullUid,sizeof(TMdaWavCodec)) {} williamr@2: williamr@2: inline TMdaWavCodec::TMdaWavCodec(TUid aUid, TInt aDerivedSize) : williamr@2: TMdaPackage(KUidMdaWavCodec,aUid,aDerivedSize) {} williamr@2: williamr@2: /** williamr@2: Constructs the package with a flag that indicates whether the sound is sampled using 8 or 16 bits. williamr@2: williamr@2: @param aBits williamr@2: Indicates whether the sound is sampled using 8 or 16 bits. williamr@2: */ williamr@2: inline TMdaPcmWavCodec::TMdaPcmWavCodec(TBits aBits) : williamr@2: TMdaWavCodec(KUidMdaWavPcmCodec,sizeof(TMdaPcmWavCodec)), iBits(aBits) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the package so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaAlawWavCodec::TMdaAlawWavCodec() : williamr@2: TMdaWavCodec(KUidMdaWavAlawCodec,sizeof(TMdaAlawWavCodec)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the object so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaMulawWavCodec::TMdaMulawWavCodec() : williamr@2: TMdaWavCodec(KUidMdaWavMulawCodec,sizeof(TMdaMulawWavCodec)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the package so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaImaAdpcmWavCodec::TMdaImaAdpcmWavCodec() : williamr@2: TMdaWavCodec(KUidMdaWavImaAdpcmCodec,sizeof(TMdaImaAdpcmWavCodec)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the object so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaAuClipFormat::TMdaAuClipFormat() : williamr@2: TMdaClipFormat(KUidMdaClipFormatAu,sizeof(TMdaAuClipFormat)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the package so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaAuCodec::TMdaAuCodec() : williamr@2: TMdaPackage(KUidMdaAuCodec,KNullUid,sizeof(TMdaAuCodec)) {} williamr@2: williamr@2: inline TMdaAuCodec::TMdaAuCodec(TUid aUid,TInt aDerivedSize) : williamr@2: TMdaPackage(KUidMdaAuCodec,aUid,aDerivedSize) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the package so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaPcm16BitAuCodec::TMdaPcm16BitAuCodec() : williamr@2: TMdaAuCodec(KUidMdaAu16PcmCodec,sizeof(TMdaPcm16BitAuCodec)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the package so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaPcm8BitAuCodec::TMdaPcm8BitAuCodec() : williamr@2: TMdaAuCodec(KUidMdaAu8PcmCodec,sizeof(TMdaPcm8BitAuCodec)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the package so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaAlawAuCodec::TMdaAlawAuCodec() : williamr@2: TMdaAuCodec(KUidMdaAuAlawCodec,sizeof(TMdaAlawAuCodec)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the object so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaMulawAuCodec::TMdaMulawAuCodec() : williamr@2: TMdaAuCodec(KUidMdaAuMulawCodec,sizeof(TMdaMulawAuCodec)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the object so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaRawAudioClipFormat::TMdaRawAudioClipFormat() : williamr@2: TMdaClipFormat(KUidMdaClipFormatRawAudio,sizeof(TMdaRawAudioClipFormat)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the package so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaRawAudioCodec::TMdaRawAudioCodec() : williamr@2: TMdaPackage(KUidMdaRawAudioCodec,KNullUid,sizeof(TMdaRawAudioCodec)) {} williamr@2: williamr@2: inline TMdaRawAudioCodec::TMdaRawAudioCodec(TUid aUid,TInt aDerivedSize) : williamr@2: TMdaPackage(KUidMdaRawAudioCodec,aUid,aDerivedSize) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the object so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaMulawRawAudioCodec::TMdaMulawRawAudioCodec() : williamr@2: TMdaRawAudioCodec(KUidMdaRawAudioMulawCodec,sizeof(TMdaMulawRawAudioCodec)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the package so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaAlawRawAudioCodec::TMdaAlawRawAudioCodec() : williamr@2: TMdaRawAudioCodec(KUidMdaRawAudioAlawCodec,sizeof(TMdaAlawRawAudioCodec)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the package so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaS8PcmRawAudioCodec::TMdaS8PcmRawAudioCodec() : williamr@2: TMdaRawAudioCodec(KUidMdaRawAudioS8PcmCodec,sizeof(TMdaS8PcmRawAudioCodec)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the package so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaU8PcmRawAudioCodec::TMdaU8PcmRawAudioCodec() : williamr@2: TMdaRawAudioCodec(KUidMdaRawAudioU8PcmCodec,sizeof(TMdaU8PcmRawAudioCodec)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the package so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaSL16RawAudioCodec::TMdaSL16RawAudioCodec() : williamr@2: TMdaRawAudioCodec(KUidMdaRawAudioSL16PcmCodec,sizeof(TMdaSL16RawAudioCodec)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the package so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaSB16RawAudioCodec::TMdaSB16RawAudioCodec() : williamr@2: TMdaRawAudioCodec(KUidMdaRawAudioSB16PcmCodec,sizeof(TMdaSB16RawAudioCodec)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the package so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaUL16RawAudioCodec::TMdaUL16RawAudioCodec() : williamr@2: TMdaRawAudioCodec(KUidMdaRawAudioUL16PcmCodec,sizeof(TMdaUL16RawAudioCodec)) {} williamr@2: williamr@2: /** williamr@2: The default constructor initialises the package so that it can be identified by the media server. williamr@2: */ williamr@2: inline TMdaUB16RawAudioCodec::TMdaUB16RawAudioCodec() : williamr@2: TMdaRawAudioCodec(KUidMdaRawAudioUB16PcmCodec,sizeof(TMdaUB16RawAudioCodec)) {} williamr@2: williamr@2: inline TMdaLocalAudioDevice::TMdaLocalAudioDevice() : williamr@2: TMdaStreamDevice(KUidMdaLocalSoundDevice,sizeof(TMdaLocalAudioDevice)) {} williamr@2: williamr@2: inline TMdaTelephonyAudioDevice::TMdaTelephonyAudioDevice() : williamr@2: TMdaStreamDevice(KUidMdaTelephonySoundDevice,sizeof(TMdaTelephonyAudioDevice)) {} williamr@2: williamr@2: inline TMdaClientPCMAudioDevice::TMdaClientPCMAudioDevice() : williamr@2: TMdaStreamDevice(KUidMdaClientPCMSoundDevice,sizeof(TMdaClientPCMAudioDevice)) {} williamr@2: williamr@2: inline TMdaAudioStreamVolumeRamp::TMdaAudioStreamVolumeRamp() : williamr@2: TMdaPackage(KUidMdaAudioStreamVolumeRamp,KUidMdaAudioStreamVolumeRamp,sizeof(TMdaAudioStreamVolumeRamp)) {} williamr@2: williamr@2: inline TMdaTelephonyStateQuery::TMdaTelephonyStateQuery() : williamr@2: TMdaPackage(KUidMdaTelephonySoundDevice,KUidMdaTelephonyStateQuery,sizeof(TMdaTelephonyStateQuery)) {} williamr@2: williamr@2: inline TMdaPrioritySettings::TMdaPrioritySettings() : williamr@2: TMdaPackage(KUidMdaPrioritySettings,KUidMdaPrioritySettings,sizeof(TMdaPrioritySettings)) {} williamr@2: williamr@2: #endif