epoc32/include/mda/common/audio.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) 1997-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 // Mda\Common\Audio.h
    15 // 
    16 //
    17 
    18 #ifndef __MDA_COMMON_AUDIO_H__
    19 #define __MDA_COMMON_AUDIO_H__
    20 
    21 // Standard EPOC32 includes
    22 #include <e32base.h>
    23 
    24 // Public Media Server includes
    25 #include <mda/common/base.h>
    26 #include <mda/common/resource.h>
    27 //#include <mda/common/controller.h>
    28 #include <mda/common/audio.hrh>
    29 #include <mda/common/audiostream.hrh>
    30 
    31 MDA_UID(KUidMdaPrioritySettings)
    32 MDA_UID(KUidMdaMediaTypeAudio) // Audio data type Uid
    33 MDA_UID(KUidMdaLocalSoundDevice) // Local audio stream location
    34 MDA_UID(KUidMdaClipLocationMaxWriteLength)
    35 MDA_UID(KUidMdaTelephonySoundDevice) // Telephony audio stream location
    36 MDA_UID(KUidMdaClientPCMSoundDevice) // Client PCM audio stream location
    37 MDA_UID(KUidMdaToneGeneratorDevice) // Tone Generator Device
    38 MDA_UID(KUidMdaClipFormatWav) // Wav Audio Clip Format Uid
    39 
    40 MDA_UID(KUidMdaAudioOutputStreamDevice) // Output Stream Device
    41 
    42 MDA_UID(KUidMdaWavCodec) // Wav Codec Type Uid
    43 MDA_UID(KUidMdaWavPcmCodec) // Wav Codec Uids
    44 MDA_UID(KUidMdaWavAlawCodec) 
    45 MDA_UID(KUidMdaWavMulawCodec) 
    46 MDA_UID(KUidMdaWavImaAdpcmCodec) 
    47 
    48 
    49 MDA_UID(KUidMdaClipFormatAu) // Sun/Next "Au" Audio Clip format Uid
    50 MDA_UID(KUidMdaAuCodec) // Sun/Next "Au" Audio Codec Type Uid
    51 MDA_UID(KUidMdaAuMulawCodec) // Sun/Next "Au" Audio Codec Uids
    52 MDA_UID(KUidMdaAu8PcmCodec)  
    53 MDA_UID(KUidMdaAu16PcmCodec) 
    54 MDA_UID(KUidMdaAuAlawCodec)
    55 
    56 MDA_UID(KUidMdaClipFormatRawAudio) // Raw Audio Clip format Uid
    57 MDA_UID(KUidMdaRawAudioCodec) // Raw Audio Codec Type Uid
    58 MDA_UID(KUidMdaRawAudioMulawCodec)
    59 MDA_UID(KUidMdaRawAudioAlawCodec) 
    60 MDA_UID(KUidMdaRawAudioS8PcmCodec) // Signed 8bit
    61 MDA_UID(KUidMdaRawAudioU8PcmCodec) // Unsigned 8bit
    62 MDA_UID(KUidMdaRawAudioSL16PcmCodec) // Signed little-endian 16bit
    63 MDA_UID(KUidMdaRawAudioSB16PcmCodec) // Signed big-endian 16bit
    64 MDA_UID(KUidMdaRawAudioUL16PcmCodec) // Unsigned little-endian 16bit
    65 MDA_UID(KUidMdaRawAudioUB16PcmCodec) // Unsigned big-endian 16bit
    66 
    67 MDA_UID(KUidMdaTelephonyStateQuery) // Telephony state query 
    68 MDA_UID(KUidMdaAudioStreamVolumeRamp) // Audio stream volume ramp 
    69 
    70 MDA_UID(KUidMdaDataTypeSettings)
    71 
    72 MDA_UID(KUidMdaClipFormatRawAmr) // AMR Audio Clip Format Uid
    73 MDA_UID(KUidMdaRawAmrCodec) // AMR Codec Type Uid
    74 
    75 /**
    76 @internalComponent
    77 */
    78 const TInt KMdaClipLocationMaxWriteLengthNone = -1;
    79 
    80 // Package classes
    81 
    82 /**
    83 @publishedAll
    84 @released
    85 
    86 Generic Audio Parameters
    87 */
    88 class TMdaPrioritySettings : public TMdaPackage
    89 	{
    90 public:
    91 	inline TMdaPrioritySettings();
    92 public:
    93 	/**
    94 	Absolute priority of a client of the MMF Server.
    95 
    96 	Used by the policy server to determine which client should gain access to the sound device.
    97 
    98 	The priority which should be an integer in the range -100 to +100.
    99 	*/
   100 	TInt iPriority;
   101 	/**
   102     The priority preference that expresses the nature of the priority that can be none, 
   103 	time (or speed), quality or both time and quality.
   104 	
   105 	 Values are known to the adaptation and will be iterpreted accordingly.
   106 
   107 	*/
   108 	TInt iPref;
   109 	};
   110 
   111 /**
   112 @publishedAll
   113 @deprecated
   114 
   115 Datatype parameters.
   116 
   117 Base class for specific data type config packages
   118 */
   119 class TMdaDatatypeSettings : public TMdaPackage
   120 	{
   121 protected:
   122 	inline TMdaDatatypeSettings(TUid aUid,TInt aDerivedSize);
   123 	};
   124 
   125 inline TMdaDatatypeSettings::TMdaDatatypeSettings(TUid aUid,TInt aDerivedSize) :
   126 TMdaPackage(KUidMdaDataTypeSettings,aUid,aDerivedSize) {}
   127 
   128 /**
   129 @publishedAll
   130 @released
   131 
   132 The settings for audio data played through the media server.
   133 
   134 These can be the settings for an audio clip, for streamed audio data, or can be the capabilities
   135 of the sound device. The sample rate and number of channels apply to the audio sample, the maximum
   136 volume applies to the output device and the volume setting can apply to either, depending on the
   137 device. An object of this class is a public data member of class CMdaAudioType and also can be
   138 passed to CMdaAudioOutputStream::Open().
   139 
   140 
   141 @see CMdaAudioType
   142 @see CMdaAudioOutputStream::Open()
   143 */
   144 class TMdaAudioDataSettings : public TMdaDatatypeSettings
   145 	{
   146 public:
   147 	/**
   148 	Audio capabilities, which include the sample rate and number of channels. The iCaps
   149 	member is a combination of these flags.
   150 	*/
   151 	enum TAudioCaps
   152 		{
   153 
   154 		// Sampled audio capabilities
   155 
   156 		/** If specified, the sample rate iSampleRate is the only one supported. If not
   157 		specified, multiple sample rates may be supported.
   158 		*/
   159 		ESampleRateFixed =		0x00000001,
   160 
   161 		/** If specified, all sample rates between the minimum and the maximum are supported.
   162 		*/
   163 		ESampleRateAnyInRange = 0x00000002,
   164 
   165 		/** The audio sample supports a sample rate of 8.000KHz.
   166 		*/
   167 		ESampleRate8000Hz =		0x00000010,
   168 
   169 		/** The audio sample supports a sample rate of 11.025KHz.
   170 		*/
   171 		ESampleRate11025Hz =	0x00000040,
   172 
   173 		/** The audio sample supports a sample rate of 12.000KHz.
   174 		*/
   175 		ESampleRate12000Hz =	0x00000080,
   176 
   177 		/** The audio sample supports a sample rate of 16.000KHz.
   178 		*/
   179 		ESampleRate16000Hz =	0x00000100,
   180 
   181 		/** The audio sample supports a sample rate of 22.000KHz.
   182 		*/
   183 		ESampleRate22050Hz =	0x00000400,
   184 
   185 		/** The audio sample supports a sample rate of 24.000KHz.
   186 		*/
   187 		ESampleRate24000Hz =	0x00000800,
   188 
   189 		/** The audio sample supports a sample rate of 32.000KHz.
   190 		*/
   191 		ESampleRate32000Hz =	0x00001000,
   192 
   193 		/** The audio sample supports a sample rate of 44.100KHz.
   194 		*/
   195 		ESampleRate44100Hz =	0x00004000,
   196 
   197 		/** The audio sample supports a sample rate of 48.000KHz.
   198 		*/
   199 		ESampleRate48000Hz =	0x00010000,
   200 
   201 		/** The audio sample supports a sample rate of 96.000KHz.
   202 		*/
   203 		ESampleRate96000Hz =	0x00020000,
   204 
   205 		/** The audio sample supports a sample rate of 64.000KHz.
   206 		*/
   207 		ESampleRate64000Hz =	0x00040000,
   208 
   209 		// Channel related - applies to sampled
   210 
   211 		/** The audio sample supports mono.
   212 		*/
   213 		EChannelsMono =			0x02000000,
   214 
   215 		/** The audio sample supports stereo.
   216 		*/
   217 		EChannelsStereo =		0x04000000,
   218 
   219 		/** Routing related
   220 		*/
   221 		ERoutingControl =		0x08000000,
   222 
   223 		/** True if data flow is synchronised with real time (e.g. stream)
   224 		*/
   225 		ERealTime =				0x10000000
   226 		};
   227 
   228 	/** Mutually exclusive flags that specify whether audio data is sent to the local device (speakers)
   229 	or the network (phone line) or both. The iFlags member uses these flags.
   230 	*/
   231 	enum TAudioFlags
   232 		{
   233 
   234 		/** The sound data is only sent to the network.
   235 		*/
   236 		ENoLocalRouting =		0x00000001,
   237 
   238 		/** The sound data is only sent to the local device.
   239 		*/
   240 		ENoNetworkRouting =		0x00000002
   241 		};
   242 public:
   243 	inline TMdaAudioDataSettings();
   244 	inline void Query(); // Call this when you just want to have caps and maxvolume filled
   245 public:
   246 	// Fixed values - must be queried
   247 
   248 	/**
   249 	Specifies the capabilities of the audio sample. Its value is a combination of the flags
   250 	contained in the TAudioCaps enum.
   251 	*/
   252 	TInt iCaps;
   253 
   254 	/**
   255 	The maximum volume of the audio device.
   256 	*/
   257 	TInt iMaxVolume; // One means fixed volume (zero not valid)
   258 
   259 	// Variables
   260 	/**
   261 	The sample rate of the audio sample.
   262 	*/
   263 	TInt iSampleRate;
   264 
   265 	/**
   266 	The number of channels for the audio sample.
   267 	*/
   268 	TInt iChannels;
   269 
   270 	/**
   271 	The volume. Whether this applies to the audio device or to the audio sample is device-dependent.
   272 	*/
   273 	TInt iVolume;
   274 
   275 	/**
   276 	The flags. Its value can be either of the flags contained in the TAudioFlags enum.
   277 	*/
   278 	TInt iFlags;
   279 	};
   280 
   281 // Wav Config Packages
   282 
   283 /**
   284 @publishedAll
   285 @deprecated
   286 
   287 The format for .wav audio clips.
   288 
   289 An object of this type can be passed to CMdaAudioRecorderUtility::OpenL() or CMdaAudioConvertUtility::OpenL().
   290 */
   291 class TMdaWavClipFormat : public TMdaClipFormat
   292 	{
   293 public:
   294 	inline TMdaWavClipFormat();
   295 	};
   296 
   297 /**
   298 @publishedAll
   299 @deprecated
   300 
   301 The base class for codecs used by .wav audio files.
   302 
   303 An object derived from this class can be used to specify the compression algorithm to use when recording or 
   304 converting a .wav audio clip. When playing back a .wav clip, the codec is not specified: the media server
   305 identifies the correct one to use.
   306 */
   307 class TMdaWavCodec : public TMdaPackage
   308 	{
   309 public:
   310 	inline TMdaWavCodec(); // Unknown type
   311 protected:
   312 	inline TMdaWavCodec(TUid aUid,TInt aDerivedSize);
   313 	};
   314 
   315 /**
   316 @publishedAll
   317 @deprecated
   318 
   319 The codec for uncompressed 8 or 16 bit PCM .wav format sound data.
   320 
   321 This codec copies the data unchanged from source to destination.
   322 */
   323 class TMdaPcmWavCodec : public TMdaWavCodec
   324 	{
   325 public:
   326 
   327 	/**
   328 	Indicates whether the sound is sampled using 8 or 16 bits.
   329 	*/
   330 	enum TBits
   331 		{
   332    		/** The sound is sampled using 8 bits.
   333 		*/
   334 		E8BitPcm=0,
   335 
   336    		/** The sound is sampled using 16 bits.
   337 		*/
   338 		E16BitPcm=1
   339 		};
   340 public:
   341 	inline TMdaPcmWavCodec(TBits aBits=E16BitPcm);
   342 public:
   343 	/**
   344 	Indicates whether the sound is sampled using 8 or 16 bits.
   345 	*/
   346 	TBits iBits;
   347 	};
   348 
   349 /**
   350 @publishedAll
   351 @deprecated
   352 
   353 The codec for .wav audio data compressed using the A-Law algorithm.
   354 */
   355 class TMdaAlawWavCodec : public TMdaWavCodec
   356 	{
   357 public:
   358 	inline TMdaAlawWavCodec();
   359 	};
   360 
   361 /**
   362 @publishedAll
   363 @deprecated
   364 
   365 The codec for .wav audio data compressed using the mu-law algorithm.
   366 */
   367 class TMdaMulawWavCodec : public TMdaWavCodec
   368 	{
   369 public:
   370 	inline TMdaMulawWavCodec();
   371 	};
   372 
   373 /**
   374 @publishedAll
   375 @deprecated
   376 
   377 The codec for .wav audio data compressed using the IMA-ADPCM algorithm.
   378 */
   379 class TMdaImaAdpcmWavCodec : public TMdaWavCodec
   380 	{
   381 public:
   382 	inline TMdaImaAdpcmWavCodec();
   383 	};
   384 
   385 
   386 // Sun/NeXT "Au" Config Packages
   387 /**
   388 @publishedAll
   389 @deprecated
   390 
   391 The format for .au audio clips.
   392 
   393 An object of this type can be passed to CMdaAudioRecorderUtility::OpenL() or CMdaAudioConvertUtility::OpenL().
   394 */
   395 class TMdaAuClipFormat : public TMdaClipFormat
   396 	{
   397 public:
   398 	inline TMdaAuClipFormat();
   399 	};
   400 
   401 /**
   402 @publishedAll
   403 @deprecated
   404 
   405 The base class for codecs used by .au audio files.
   406 
   407 An object derived from this class can be used to specify the compression algorithm to use when recording
   408 or converting a .au audio clip (whose format is TMdaAuClipFormat). When playing back a .au clip, the
   409 codec is not specified: the media server identifies the correct one to use.
   410 */
   411 class TMdaAuCodec : public TMdaPackage
   412 	{
   413 public:
   414 	inline TMdaAuCodec(); // Unknown type
   415 protected:
   416 	inline TMdaAuCodec(TUid aUid,TInt aDerivedSize);
   417 	};
   418 
   419 /**
   420 @publishedAll
   421 @deprecated
   422 
   423 The codec for 8 bit PCM .au audio data.
   424 */
   425 class TMdaPcm8BitAuCodec : public TMdaAuCodec
   426 	{
   427 public:
   428 	inline TMdaPcm8BitAuCodec();
   429 	};
   430 
   431 /**
   432 @publishedAll
   433 @deprecated
   434 
   435 The codec for 16 bit PCM .au audio data.
   436 */
   437 class TMdaPcm16BitAuCodec : public TMdaAuCodec
   438 	{
   439 public:
   440 	inline TMdaPcm16BitAuCodec();
   441 	};
   442 
   443 /**
   444 @publishedAll
   445 @deprecated
   446 
   447 The codec for .au audio data compressed using the A-Law algorithm.
   448 */
   449 class TMdaAlawAuCodec : public TMdaAuCodec
   450 	{
   451 public:
   452 	inline TMdaAlawAuCodec();
   453 	};
   454 
   455 /**
   456 @publishedAll
   457 @deprecated
   458 
   459 The codec for .au audio data compressed using the mu-law algorithm.
   460 */
   461 class TMdaMulawAuCodec : public TMdaAuCodec
   462 	{
   463 public:
   464 	inline TMdaMulawAuCodec();
   465 	};
   466 
   467 // Raw Audio Config Packages
   468 /**
   469 @publishedAll
   470 @deprecated
   471 
   472 Audio format for raw audio clips.
   473 
   474 An object of this type can be passed to CMdaAudioRecorderUtility::OpenL() or CMdaAudioConvertUtility::OpenL().
   475 */
   476 class TMdaRawAudioClipFormat : public TMdaClipFormat
   477 	{
   478 public:
   479 	inline TMdaRawAudioClipFormat();
   480 	};
   481 
   482 /**
   483 @publishedAll
   484 @deprecated
   485 
   486 The base class for raw audio codecs.
   487 
   488 An object derived from this class can be used to specify the algorithm to use when opening a
   489 raw audio clip (whose format is TMdaRawAudioClipFormat).
   490 
   491 Raw audio clips are have no header information, so that when opening one, the user must supply
   492 a codec and a package containing the settings appropriate for the data in the clip.
   493 
   494 @see TMdaRawAudioClipFormat
   495 @see CMdaAudioConvertUtility::OpenL()
   496 @see CMdaAudioRecorderUtility::OpenL()
   497 */
   498 class TMdaRawAudioCodec : public TMdaPackage
   499 	{
   500 public:
   501 	inline TMdaRawAudioCodec(); // Unknown type
   502 protected:
   503 	inline TMdaRawAudioCodec(TUid aUid,TInt aDerivedSize);
   504 	};
   505 
   506 /**
   507 @publishedAll
   508 @deprecated
   509 
   510 The codec for raw audio data compressed using the mu-law algorithm.
   511 */
   512 class TMdaMulawRawAudioCodec : public TMdaRawAudioCodec
   513 	{
   514 public:
   515 	inline TMdaMulawRawAudioCodec();
   516 	};
   517 
   518 /**
   519 @publishedAll
   520 @deprecated
   521 
   522 The codec for raw audio data compressed using the A-Law algorithm.
   523 */
   524 class TMdaAlawRawAudioCodec : public TMdaRawAudioCodec
   525 	{
   526 public:
   527 	inline TMdaAlawRawAudioCodec();
   528 	};
   529 
   530 /**
   531 @publishedAll
   532 @deprecated
   533 
   534 The codec for signed 8 bit PCM raw audio data.
   535 */
   536 class TMdaS8PcmRawAudioCodec : public TMdaRawAudioCodec
   537 	{
   538 public:
   539 	inline TMdaS8PcmRawAudioCodec();
   540 	};
   541 
   542 /**
   543 @publishedAll
   544 @deprecated
   545 
   546 The codec for unsigned 8 bit PCM raw audio data.
   547 */
   548 class TMdaU8PcmRawAudioCodec : public TMdaRawAudioCodec
   549 	{
   550 public:
   551 	inline TMdaU8PcmRawAudioCodec();
   552 	};
   553 
   554 /**
   555 @publishedAll
   556 @deprecated
   557 
   558 The codec for signed little-endian 16 bit PCM raw audio data.
   559 */
   560 class TMdaSL16RawAudioCodec : public TMdaRawAudioCodec
   561 	{
   562 public:
   563 	inline TMdaSL16RawAudioCodec();
   564 	};
   565 
   566 /**
   567 @publishedAll
   568 @deprecated
   569 
   570 The codec for signed big-endian 16 bit PCM raw audio data.
   571 */
   572 class TMdaSB16RawAudioCodec : public TMdaRawAudioCodec
   573 	{
   574 public:
   575 	inline TMdaSB16RawAudioCodec();
   576 	};
   577 
   578 /**
   579 @publishedAll
   580 @deprecated
   581 
   582 The codec for unsigned little-endian 16 bit PCM raw audio data.
   583 */
   584 class TMdaUL16RawAudioCodec : public TMdaRawAudioCodec
   585 	{
   586 public:
   587 	inline TMdaUL16RawAudioCodec();
   588 	};
   589 
   590 /**
   591 @publishedAll
   592 @deprecated
   593 
   594 The codec for unsigned big-endian 16 bit PCM raw audio data.
   595 */
   596 class TMdaUB16RawAudioCodec : public TMdaRawAudioCodec
   597 	{
   598 public:
   599 	inline TMdaUB16RawAudioCodec();
   600 	};
   601 
   602 /**
   603 @publishedAll
   604 @deprecated
   605 
   606 Local Audio Stream Device
   607 Control local microphone/speaker audio stream
   608 May not function during telephone call
   609 */
   610 class TMdaLocalAudioDevice : public TMdaStreamDevice
   611 	{
   612 public:
   613 	inline TMdaLocalAudioDevice();
   614 	};
   615 
   616 /**
   617 @publishedAll
   618 @deprecated
   619 
   620 Telephony Audio Stream Device
   621 Control telephony microphone+downlink/speaker+uplink audio stream
   622 Only functional during telephone call
   623 */
   624 class TMdaTelephonyAudioDevice : public TMdaStreamDevice
   625 	{
   626 public:
   627 	inline TMdaTelephonyAudioDevice();
   628 	};
   629 
   630 /**
   631 @publishedAll
   632 @deprecated
   633 
   634 This class is used in a ResourceConfig on a telephony port
   635 to determine the current state of telephony
   636 */
   637 class TMdaTelephonyStateQuery : public TMdaPackage
   638 	{
   639 public:
   640 	inline TMdaTelephonyStateQuery();
   641 public:
   642 	TBool iIsTelephonyActive;
   643 	};
   644 
   645 /**
   646 @publishedAll
   647 @deprecated
   648 
   649 Client PCM Audio Stream Device
   650 Used to configure a 16bit PCM audio stream to/from client
   651 */
   652 class TMdaClientPCMAudioDevice : public TMdaStreamDevice
   653 	{
   654 public:
   655 	inline TMdaClientPCMAudioDevice();
   656 	};
   657 
   658 
   659 /**
   660 @publishedAll
   661 @deprecated
   662 
   663 Volume ramping control on audio stream devices
   664 */
   665 class TMdaAudioStreamVolumeRamp : public TMdaPackage
   666 	{
   667 public:
   668 	inline TMdaAudioStreamVolumeRamp();
   669 public:
   670 	TTimeIntervalMicroSeconds iDuration;
   671 	};
   672 
   673 
   674 // Inlines
   675 
   676 /** 
   677 Default constructor. The member data is not initialised.
   678 */
   679 inline TMdaAudioDataSettings::TMdaAudioDataSettings() :
   680 TMdaDatatypeSettings(KUidMdaMediaTypeAudio,sizeof(TMdaAudioDataSettings)) 
   681 	{
   682 	Mem::FillZ(&iSampleRate,sizeof(TInt)*4);
   683 	}
   684 
   685 /**
   686 Sets the number of channels, the sample rate and the volume to KMdaUnknown (–1). Call this function when you 
   687 only want to have the iCaps and iMaxVolume members filled.
   688 */
   689 inline void TMdaAudioDataSettings::Query()
   690 	{
   691 	iChannels = KMdaUnknown;
   692 	iSampleRate = KMdaUnknown;
   693 	iVolume = KMdaUnknown;
   694 	}// Call this when you just want to have caps and maxvolume filled
   695 
   696 /**
   697 The default constructor initialises the object so that it can be identified by the media server.
   698 */
   699 inline TMdaWavClipFormat::TMdaWavClipFormat() :
   700 TMdaClipFormat(KUidMdaClipFormatWav,sizeof(TMdaWavClipFormat)) {}
   701 
   702 /**
   703 The default constructor initialises the package so that it can be identified by the media server.
   704 */
   705 inline TMdaWavCodec::TMdaWavCodec() :
   706 TMdaPackage(KUidMdaWavCodec,KNullUid,sizeof(TMdaWavCodec)) {}
   707 
   708 inline TMdaWavCodec::TMdaWavCodec(TUid aUid, TInt aDerivedSize) :
   709 TMdaPackage(KUidMdaWavCodec,aUid,aDerivedSize) {}
   710 
   711 /**
   712 Constructs the package with a flag that indicates whether the sound is sampled using 8 or 16 bits.
   713 
   714 @param  aBits
   715         Indicates whether the sound is sampled using 8 or 16 bits.
   716 */
   717 inline TMdaPcmWavCodec::TMdaPcmWavCodec(TBits aBits) :
   718 TMdaWavCodec(KUidMdaWavPcmCodec,sizeof(TMdaPcmWavCodec)), iBits(aBits) {}
   719 
   720 /**
   721 The default constructor initialises the package so that it can be identified by the media server.
   722 */
   723 inline TMdaAlawWavCodec::TMdaAlawWavCodec() :
   724 TMdaWavCodec(KUidMdaWavAlawCodec,sizeof(TMdaAlawWavCodec)) {}
   725 
   726 /**
   727 The default constructor initialises the object so that it can be identified by the media server.
   728 */
   729 inline TMdaMulawWavCodec::TMdaMulawWavCodec() :
   730 TMdaWavCodec(KUidMdaWavMulawCodec,sizeof(TMdaMulawWavCodec)) {}
   731 
   732 /**
   733 The default constructor initialises the package so that it can be identified by the media server.
   734 */
   735 inline TMdaImaAdpcmWavCodec::TMdaImaAdpcmWavCodec() :
   736 TMdaWavCodec(KUidMdaWavImaAdpcmCodec,sizeof(TMdaImaAdpcmWavCodec)) {}
   737 
   738 /**
   739 The default constructor initialises the object so that it can be identified by the media server.
   740 */
   741 inline TMdaAuClipFormat::TMdaAuClipFormat() :
   742 TMdaClipFormat(KUidMdaClipFormatAu,sizeof(TMdaAuClipFormat)) {}
   743 
   744 /**
   745 The default constructor initialises the package so that it can be identified by the media server.
   746 */
   747 inline TMdaAuCodec::TMdaAuCodec() :
   748 TMdaPackage(KUidMdaAuCodec,KNullUid,sizeof(TMdaAuCodec)) {}
   749 
   750 inline TMdaAuCodec::TMdaAuCodec(TUid aUid,TInt aDerivedSize) :
   751 TMdaPackage(KUidMdaAuCodec,aUid,aDerivedSize) {}
   752 
   753 /**
   754 The default constructor initialises the package so that it can be identified by the media server.
   755 */
   756 inline TMdaPcm16BitAuCodec::TMdaPcm16BitAuCodec() :
   757 TMdaAuCodec(KUidMdaAu16PcmCodec,sizeof(TMdaPcm16BitAuCodec)) {}
   758 
   759 /**
   760 The default constructor initialises the package so that it can be identified by the media server.
   761 */
   762 inline TMdaPcm8BitAuCodec::TMdaPcm8BitAuCodec() :
   763 TMdaAuCodec(KUidMdaAu8PcmCodec,sizeof(TMdaPcm8BitAuCodec)) {}
   764 
   765 /**
   766 The default constructor initialises the package so that it can be identified by the media server.
   767 */
   768 inline TMdaAlawAuCodec::TMdaAlawAuCodec() :
   769 TMdaAuCodec(KUidMdaAuAlawCodec,sizeof(TMdaAlawAuCodec)) {}
   770 
   771 /**
   772 The default constructor initialises the object so that it can be identified by the media server.
   773 */
   774 inline TMdaMulawAuCodec::TMdaMulawAuCodec() :
   775 TMdaAuCodec(KUidMdaAuMulawCodec,sizeof(TMdaMulawAuCodec)) {}
   776 
   777 /**
   778 The default constructor initialises the object so that it can be identified by the media server.
   779 */
   780 inline TMdaRawAudioClipFormat::TMdaRawAudioClipFormat() :
   781 TMdaClipFormat(KUidMdaClipFormatRawAudio,sizeof(TMdaRawAudioClipFormat)) {}
   782 
   783 /**
   784 The default constructor initialises the package so that it can be identified by the media server.
   785 */
   786 inline TMdaRawAudioCodec::TMdaRawAudioCodec() :
   787 TMdaPackage(KUidMdaRawAudioCodec,KNullUid,sizeof(TMdaRawAudioCodec)) {}
   788 
   789 inline TMdaRawAudioCodec::TMdaRawAudioCodec(TUid aUid,TInt aDerivedSize) :
   790 TMdaPackage(KUidMdaRawAudioCodec,aUid,aDerivedSize) {}
   791 
   792 /**
   793 The default constructor initialises the object so that it can be identified by the media server.
   794 */
   795 inline TMdaMulawRawAudioCodec::TMdaMulawRawAudioCodec() :
   796 TMdaRawAudioCodec(KUidMdaRawAudioMulawCodec,sizeof(TMdaMulawRawAudioCodec)) {}
   797 
   798 /**
   799 The default constructor initialises the package so that it can be identified by the media server.
   800 */
   801 inline TMdaAlawRawAudioCodec::TMdaAlawRawAudioCodec() :
   802 TMdaRawAudioCodec(KUidMdaRawAudioAlawCodec,sizeof(TMdaAlawRawAudioCodec)) {}
   803 
   804 /**
   805 The default constructor initialises the package so that it can be identified by the media server.
   806 */
   807 inline TMdaS8PcmRawAudioCodec::TMdaS8PcmRawAudioCodec() :
   808 TMdaRawAudioCodec(KUidMdaRawAudioS8PcmCodec,sizeof(TMdaS8PcmRawAudioCodec)) {}
   809 
   810 /**
   811 The default constructor initialises the package so that it can be identified by the media server.
   812 */
   813 inline TMdaU8PcmRawAudioCodec::TMdaU8PcmRawAudioCodec() :
   814 TMdaRawAudioCodec(KUidMdaRawAudioU8PcmCodec,sizeof(TMdaU8PcmRawAudioCodec)) {}
   815 
   816 /**
   817 The default constructor initialises the package so that it can be identified by the media server.
   818 */
   819 inline TMdaSL16RawAudioCodec::TMdaSL16RawAudioCodec() :
   820 TMdaRawAudioCodec(KUidMdaRawAudioSL16PcmCodec,sizeof(TMdaSL16RawAudioCodec)) {}
   821 
   822 /**
   823 The default constructor initialises the package so that it can be identified by the media server.
   824 */
   825 inline TMdaSB16RawAudioCodec::TMdaSB16RawAudioCodec() :
   826 TMdaRawAudioCodec(KUidMdaRawAudioSB16PcmCodec,sizeof(TMdaSB16RawAudioCodec)) {}
   827 
   828 /**
   829 The default constructor initialises the package so that it can be identified by the media server.
   830 */
   831 inline TMdaUL16RawAudioCodec::TMdaUL16RawAudioCodec() :
   832 TMdaRawAudioCodec(KUidMdaRawAudioUL16PcmCodec,sizeof(TMdaUL16RawAudioCodec)) {}
   833 
   834 /**
   835 The default constructor initialises the package so that it can be identified by the media server.
   836 */
   837 inline TMdaUB16RawAudioCodec::TMdaUB16RawAudioCodec() :
   838 TMdaRawAudioCodec(KUidMdaRawAudioUB16PcmCodec,sizeof(TMdaUB16RawAudioCodec)) {}
   839 
   840 inline TMdaLocalAudioDevice::TMdaLocalAudioDevice() : 
   841 TMdaStreamDevice(KUidMdaLocalSoundDevice,sizeof(TMdaLocalAudioDevice)) {}
   842 
   843 inline TMdaTelephonyAudioDevice::TMdaTelephonyAudioDevice() : 
   844 TMdaStreamDevice(KUidMdaTelephonySoundDevice,sizeof(TMdaTelephonyAudioDevice)) {}
   845 
   846 inline TMdaClientPCMAudioDevice::TMdaClientPCMAudioDevice() : 
   847 TMdaStreamDevice(KUidMdaClientPCMSoundDevice,sizeof(TMdaClientPCMAudioDevice)) {}
   848 
   849 inline TMdaAudioStreamVolumeRamp::TMdaAudioStreamVolumeRamp() :
   850 TMdaPackage(KUidMdaAudioStreamVolumeRamp,KUidMdaAudioStreamVolumeRamp,sizeof(TMdaAudioStreamVolumeRamp)) {}
   851 
   852 inline TMdaTelephonyStateQuery::TMdaTelephonyStateQuery() :
   853 TMdaPackage(KUidMdaTelephonySoundDevice,KUidMdaTelephonyStateQuery,sizeof(TMdaTelephonyStateQuery)) {}
   854 
   855 inline TMdaPrioritySettings::TMdaPrioritySettings() :
   856 TMdaPackage(KUidMdaPrioritySettings,KUidMdaPrioritySettings,sizeof(TMdaPrioritySettings)) {}
   857 
   858 #endif