diff -r 65e91466a14b -r b7e5ed8c1342 audiostubs/devsoundextensions_stubs/inc/WmaDecoderIntfcCI.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/audiostubs/devsoundextensions_stubs/inc/WmaDecoderIntfcCI.h Tue Sep 07 08:19:48 2010 +0300 @@ -0,0 +1,383 @@ +/* +* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Audio Stubs - +* +*/ + + +#ifndef WmaDECODERINTFCCIIMPL_H +#define WmaDECODERINTFCCIIMPL_H + +// INCLUDES +#include +#include + +// CONSTANTS + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS + +// CLASS DECLARATION + +/** +* ?one_line_short_description. +* ?other_description_lines +* +* @lib ?library +* @since Series ?XX ?SeriesXX_version +*/ +class CWmaDecoderIntfcCI : public CWmaDecoderIntfc + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + IMPORT_C static CWmaDecoderIntfcCI* NewL(); + + /** + * Destructor. + */ + IMPORT_C virtual ~CWmaDecoderIntfcCI(); + + public: // New functions + + public: // Functions from base classes + + public: // Functions from base classes + + // From CWmaDecoderIntfc + + /** + * Identifies the compressed audio format + * @since S60 3.2 + * @param aFormat - the audio format. + * @return void + */ + IMPORT_C virtual void SetFormat(TFormat aFormat) ; + + /** + * Specifies the number of bits per sample + * @since S60 3.2 + * @param aFormat - the audio format. + * @return void + */ + IMPORT_C virtual void SetBitsPerSampleIn(TUint aBitsPerSample) ; + + /** + * Specifies the number of audio channels + * @since S60 3.2 + * @param aNumOfChannels: The number of audio channels. + * @return void + */ + IMPORT_C virtual void SetNumChannelsIn (TUint aNumChannelsIn) ; + + /** + * Specifies the sampling rate + * @since S60 3.2 + * @param aSamplesPerSec: Sample rate value in Hertz. + * @return void + */ + IMPORT_C virtual void SetSamplesPerSec (TUint aSamplesPerSec) ; + + /** + * Specifies the average number of bytes per second + * @since S60 3.2 + * @param aAvgBytesPerSec: Average bytes per second. + * @return void + */ + IMPORT_C virtual void SetAvgBytesPerSec (TUint aAvgBytesPerSec) ; + + /** + * Specifies the block size in bytes + * @since S60 3.2 + * @param aBlockAlign: Block size in bytes + * @return void + */ + IMPORT_C virtual void SetBlockAlign (TUint aBlockAlign) ; + + /** + * Configuration information specific to the WMA decoder + * @since S60 3.2 + * @param aEncodeOptions: The encode options + * @return void + */ + IMPORT_C virtual void SetEncodeOptions (TUint aEncodeOptions) ; + + /** + * Returns the configuration state of the advanced encode options. + * @since S60 3.2 + * @return aAdvEncodeOpts: The encode options + */ + IMPORT_C virtual TInt GetEncodeOptions1 (TUint& aEncodeOpts1); + + /** + * Returns the configuration state of the advanced encode options. + * @since S60 3.2 + * @return aAdvEncodeOpts: The encode options + */ + IMPORT_C virtual TInt GetEncodeOptions2 (TUint& aEncodeOpts2); + + /** + * Configures the decoder for the channel data arrangement + * @since S60 3.2 + * @param aChannelMask: Channel mask + * @return void + */ + IMPORT_C virtual void SetChannelMaskIn (TUint aChannelMask) ; + + /** + * Commits configuration settings to the decoder. + * @since S60 3.2 + * @return TInt - Status + */ + IMPORT_C virtual TInt ApplyConfig() ; + + /** + * Returns the configuration state of audio format. + * @since S60 3.2 + * @return aFormat: The audio format + */ + IMPORT_C virtual TInt GetFormat (TFormat& aFormat) ; + + /** + * Returns the configuration state of number of bits per sample. + * @since S60 3.2 + * @return aBitsPerSample: Number of bits per sample + */ + IMPORT_C virtual TInt GetBitsPerSampleIn(TUint& aBitsPerSample) ; + + /** + * Returns the configuration state of the number of channels. + * @since S60 3.2 + * @return aNumOfChannels: Number of channels + */ + IMPORT_C virtual TInt GetNumOfChannelsIn (TUint& aNumOfChannels) ; + + /** + * Returns the configuration state of the sample rate. + * @since S60 3.2 + * @return aSamplesPerSec: Sample rate value in Hertz + */ + IMPORT_C virtual TInt GetSamplesPerSec (TUint& aSamplesPerSec) ; + + /** + * Returns the configuration state of average bytes per second. + * @since S60 3.2 + * @return aAvgBytesPerSec: Average bytes per second + */ + IMPORT_C virtual TInt GetAvgBytesPerSec (TUint& aAvgBytesPerSec) ; + + /** + * Returns the configuration state of block alignment. + * @since S60 3.2 + * @return aBlockAlign: Block size in bytes + */ + IMPORT_C virtual TInt GetBlockAlign (TUint& aBlockAlign) ; + + /** + * Returns the configuration state of the encode options. + * @since S60 3.2 + * @return aEncodeOpts: The encode options. + */ + IMPORT_C virtual TInt GetEncodeOptions (TUint& aEncodeOpts) ; + + + /** + * Returns the configuration state of the input channel mask. + * @since S60 3.2 + * @return aChannelMask: Channel mask. + */ + IMPORT_C virtual TInt GetChannelMaskIn (TUint& aChannelMask) ; + + /** + * Gets a list of formats supported by the decoder. + * @since S60 3.2 + * @return aSupportedFormats: An array of the formats, as defined in TFormat + */ + IMPORT_C virtual TInt GetSupportedFormats(RArray& aSupportedFormats) ; + + /** + * Gets a list of tools supported by the decoder. + * @since S60 3.2 + * @return aSupportedTools: An array of the tools supported by the decoder + */ + IMPORT_C virtual TInt GetSupportedTools(RArray& aSupportedTools) ; + + /** + * Get the maximum number of input channels supported by the decoder. + * @since S60 3.2 + * @return aSupportedMaxChannelsIn: number of channels. + */ + IMPORT_C virtual TInt GetSupportedMaxChannelsIn(TUint& aSupportedMaxChannelsIn) ; + + /** + * Get the maximum bitrate supported by the decoder. + * @since S60 3.2 + * @return aSupportedMaxBitrate: maximum bitrate + */ + IMPORT_C virtual TInt GetSupportedMaxBitrate(TUint& aSupportedMaxBitrate) ; + + /** + * Get the maximum sample rate supported by the decoder. + * @since S60 3.2 + * @return aSupportedMaxSampleRate: maximum sample rate + */ + IMPORT_C virtual TInt GetSupportedMaxSampleRate(TUint& aSupportedMaxSampleRate) ; + + /** + * Gets a list of the tools that are controllable through this interface. + * @since S60 3.2 + * @return aControllableTools: An array of the tools that are controllable through this interface. + */ + IMPORT_C virtual TInt GetControllableTools(RArray& aControllableTools) ; + + /** + * Enables the tool specified. + * @since S60 3.2 + * @return aTool: Specifies the tool to enable. + */ + IMPORT_C virtual void EnableTool(TTool aTool) ; + + /** + * Disables the tool specified. + * @since S60 3.2 + * @return aTool: Specifies the tool to disable. + */ + IMPORT_C virtual void DisableTool(TTool aTool) ; + + /** + * Returns the state of the specified tool + * @since S60 3.2 + * @return aTool: Specifies the tool for which the state is requested + * @ aEnabled : Indicates the state of the tool specified in aTool + */ + IMPORT_C virtual TInt GetTool(TTool aTool, TBool& aEnabled) ; + + /** + * Configuration information specific to the WMA decoder + * @since S60 3.2 + * @param aEncodeOptions: The encode options + * @return void + */ + IMPORT_C virtual void SetEncodeOptions1 (TUint aEncodeOptions1); + + /** + * Configuration information specific to the WMA decoder + * @since S60 3.2 + * @param aEncodeOptions: The encode options + * @return void + */ + IMPORT_C virtual void SetEncodeOptions2 (TUint aEncodeOptions2); + + /** + * Configures the decoder for the channel data arrangement + * @since S60 3.2 + * @param aChannelMask: Channel mask + * @return void + */ + + + protected: // New functions + + protected: // Functions from base classes + + private: + + /** + * C++ default constructor. + */ + CWmaDecoderIntfcCI(); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + public: // Data + protected: // Data + private: // Data + // Working config before ApplyConfig() + TFormat iFormat; + TUint iBitsPerSample; + TUint iNumChannelsIn; + TUint iSamplesPerSec; + TUint iAvgBytesPerSec; + TUint iBlockAlign; + TUint iEncodeOptions; + TUint iEncodeOptions1; + TUint iEncodeOptions2; + + TUint iChannelMask; + RArray iSupportedFormats; + RArray iSupportedTools; + RArray iControllableTools; + TUint iSupportedMaxSampleRate; + TUint iSupportedMaxChannelsIn; + TUint iSupportedMaxBitrate; + TTool iEnable; + TTool iDisable; + + + TBool iToolOutPut32Bit; + TBool iToolDownMixToStereo; + TBool iToolLostDataConcealment; + + + TFormat iCurrentFormat; + TUint iCurrentBitsPerSample; + TUint iCurrentNumChannelsIn; + TUint iCurrentSamplesPerSec; + TUint iCurrentAvgBytesPerSec; + TUint iCurrentBlockAlign; + TUint iCurrentEncodeOptions; + TUint iCurrentEncodeOptions1; + TUint iCurrentEncodeOptions2; + + TUint iCurrentChannelMask; + RArrayiCurrentSupportedFormats; + RArray iCurrentSupportedTools; + RArray iCurrentControllableTools; + TUint iCurrentSupportedMaxSampleRate; + TUint iCurrentSupportedMaxChannelsIn; + TUint iCurrentSupportedMaxBitrate; + + TBool iCurrentToolOutPut32Bit; + TBool iCurrentToolDownMixToStereo; + TBool iCurrentToolLostDataConcealment; + + TTool iCurrentEnable; + TTool iCurrentDisable; + + // Flag indicating readiness of the data to be applied + TBool iHasBeenApplied; + // returned status of function ApplyConfigL + TInt iApplyConfStatus; + + + public: // Friend classes + protected: // Friend classes + private: // Friend classes + + + }; + +#endif // WMADECODERINTFCCIIMPL_H + +// End of File