os/mm/mm_plat/speech_encoder_config_api/inc/SpeechEncoderConfig.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 /*
     2 * Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). 
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description:  Used to configure the speech encoders.
    15 *
    16 */
    17 
    18 
    19 #ifndef CSPEECHENCODERCONFIG_H
    20 #define CSPEECHENCODERCONFIG_H
    21 
    22 // INCLUDES
    23 #include <e32base.h>
    24 
    25 // CONSTANTS
    26 const TUid KUidSpeechEncoderConfig = {0x10207AB2};
    27 
    28 // MACROS
    29 
    30 // DATA TYPES
    31 
    32 // FUNCTION PROTOTYPES
    33 
    34 // FORWARD DECLARATIONS
    35 class CMMFDevSound;
    36 class CMdaAudioInputStream;
    37 
    38 // CLASS DECLARATION
    39 
    40 /**
    41 *  Interface for configuring speech encoders.
    42 *  Used to configure the speech encoders operting modes.
    43 *  This abstract class just provides the static NewL function for the creation
    44 *  of the proxy, and also defines the custom interface to be implemented by the
    45 *  proxy and the real custom interface implementation.
    46 *
    47 *  @lib SpeechEncoderConfig.lib
    48 *  @since S60 3.0
    49 */
    50 class CSpeechEncoderConfig : public CBase
    51 	{
    52     public:  // Constructors and destructor
    53         
    54         /**
    55         * Creates the interface.
    56         */
    57 		IMPORT_C static CSpeechEncoderConfig* 
    58 		                NewL(CMMFDevSound& aDevSound);
    59 
    60         /**
    61         * Creates the interface.
    62         */
    63 		IMPORT_C static CSpeechEncoderConfig* 
    64 		                NewL(CMdaAudioInputStream& aUtility);
    65         
    66     public: // New functions
    67         /**
    68         * Retrieves the bitrates supported by the encoder.
    69         * @since S60 3.0
    70         * @param aSupportedBitrates array returning the supported bitrates.
    71         * @return status
    72         */
    73 		IMPORT_C virtual TInt GetSupportedBitrates(
    74 		                      RArray<TUint>& aSupportedBitrates) = 0;
    75 
    76         /**
    77         * Sets the bitrate for encoding.
    78         * @since S60 3.0
    79         * @param aBitrate requested encoding bitrate.
    80         * @return status
    81         */
    82 		IMPORT_C virtual TInt SetBitrate(TUint aBitrate) = 0;
    83 
    84         /**
    85         * Retrieves the current encode bitrate.
    86         * @since S60 3.0
    87         * @param aBitrate returns current encode bitrate.
    88         * @return status
    89         */
    90 		IMPORT_C virtual TInt GetBitrate(TUint& aBitrate) = 0;
    91 
    92         /**
    93         * Enables and disables the voice activity (VAD) mode.
    94         * @since S60 3.0
    95         * @param aVadMode requested VAD mode.
    96         * @return status
    97         */
    98 		IMPORT_C virtual TInt SetVadMode(TBool aVadMode) = 0;
    99 
   100         /**
   101         * Retrieves the current state of VAD mode.
   102         * @since S60 3.0
   103         * @param aVadMode returns current VAD mode.
   104         * @return status
   105         */
   106 		IMPORT_C virtual TInt GetVadMode(TBool& aVadMode) = 0;
   107         
   108     public: // Functions from base classes
   109     protected:  // New functions
   110     protected:  // Functions from base classes
   111     private:
   112 
   113     public:     // Data
   114     protected:  // Data
   115     private:    // Data
   116     public:     // Friend classes
   117     protected:  // Friend classes
   118     private:    // Friend classes
   119 
   120 	};
   121 
   122 #endif      // CSPEECHENCODERCONFIG_H
   123             
   124 // End of File