diff -r 65a3ef1d5bd0 -r f742655b05bf sipvoipprovider/inc/svpaudioutility.h --- a/sipvoipprovider/inc/svpaudioutility.h Thu Aug 19 09:45:22 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,233 +0,0 @@ -/* -* Copyright (c) 2007 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: Static audio utility functions for SVP. -* -*/ - - -#ifndef SVPAUDIOUTILITY_H -#define SVPAUDIOUTILITY_H - -// INCLUDES -#include - -// FORWARD DECLARATIONS -class CMceAudioStream; -class CSVPSessionBase; -class CSVPEmergencySession; - -/** - * SVPAudioUtility class contains static audio related utility functions. - * - * @lib svp.dll - * @since S60 v3.2 - */ -class SVPAudioUtility - { -public: // new methods - - /** - * Determines if the given audiostream is downlink (in) stream. - * @since S60 v3.2 - * @param aStream Audiostream whose direction to determine. - * @return TBool ETrue if given stream is downlinkstream, EFalse otherwise. - */ - static TBool IsDownlinkStream( CMceAudioStream& aStream ); - - /** - * Sets MMF priorities to streams - * @since S60 3.2 - * @param aAudioInStream Representation of MCE audio stream - * @param aAudioOutStream Representation of MCE audio stream - * @return TBool ETrue if outband DTMF (tel-event) is used in - * audiostreams. - * EFalse if Inband DTMF is used in audiostreams. - */ - static TBool SetPriorityCodecValuesL( CMceAudioStream& aAudioInStream, - CMceAudioStream& aAudioOutStream ); - - /** - * Sets audio priority values to streams. Note that this does not - * return information about DTMF status. If both streams are not type - * KMceAudioStream, this function leaves with KErrArgument. - * @since S60 v3.2 - * @aMediaStream Representation of MCE media stream - * @aBoundStream Representation of MCE media stream, bound to aMediaStream - * @return void - */ - static void SetAudioStreamPrioritiesL( CMceMediaStream& aMediaStream, - CMceMediaStream& aBoundStream ); - - /** - * Enables speaker sink from aSink array if found. - * @since S60 v3.2 - * @param aSink Array of media sinks. - * @return void - */ - static void EnableSpeakerSinkL( - const RPointerArray< CMceMediaSink >& aSink ); - - /** - * Disables speaker sink from aSink array if found. - * @since S60 v3.2 - * @param aSink Array of media sinks. - * @return void - */ - static void DisableSpeakerSinkL( - const RPointerArray< CMceMediaSink >& aSink ); - - /** - * Enables aMicSource if it's type is KMceMicSource. - * @since S60 v3.2 - * @param aMicSource Media source - * @return void - */ - static void EnableMicSourceL( CMceMediaSource& aMicSource ); - - /** - * Disables aMicSource if it's type is KMceMicSource. - * @since S60 v3.2 - * @param aMicSource - * @return void - */ - static void DisableMicSourceL( CMceMediaSource& aMicSource ); - - /** - * Enables speaker sinks from aStreams array if found and types of media - * streams are KMceAudio. - * @since S60 v3.2 - * @param aStreams Array of media streams. - * @return void - */ - static void EnableSpeakerSinksL( - const RPointerArray< CMceMediaStream >& aStreams ); - - /** - * Disables mic from given media stream or from it's bound stream if - * mic source is found from either of the streams. - * @since S60 v3.2 - * @param aStream Media stream - * @return void - */ - static void DisableMicSourceL( CMceMediaStream& aStream ); - - /** - * Finds a codec of name aCodecname from aAudiostream. Returns NULL if not - * found - * @since S60 v3.2 - * @param aAudiostream Audiostream from where to search the codec. - * @param aCodecname Name of the codec to search - * @return CMceAudioCodec Pointer to the found codec or NULL if not found. - */ - static CMceAudioCodec* FindCodec( - CMceAudioStream& aAudiostream, const TDesC8& aCodecname ); - - /** - * Removes a codec of name aCodecname from aAudiostream if found. - * @since S60 v3.2 - * @param aAudiostream Audiostream from where to remove the codec. - * @param aCodecname Name of the codec to remove - * @return void - */ - static void RemoveCodecL( CMceAudioStream& aAudiostream, - const TDesC8& aCodecname ); - - /** - * Checks the media streams if MMF priority update is needed. Function - * assumes that all media streams are of type KMceAudio and will leave - * with KErrArgument if it encounters other types of media streams. - * @since S60 v3.2 - * @param aStreams Streams to check if the priority update is needed. - * @return TBool ETrue if priority update is needed, EFalse otherwise. - */ - static TBool MmfPriorityUpdateNeededL( - const RPointerArray& aStreams ); - - /** - * Checks whether given SVP session is capable to DTMF action - * (send, stop, etc.). This means that session - * a) does not have HoldController. - * b) has HoldController, but is in 'connected' state. - * @since S60 v3.2 - * @param aSession SVP session to check. - * @return ETrue If DTMF action can be performed. - */ - static TBool DtmfActionCapableSession( - const CSVPSessionBase& aSession ); - - /** - * Checks whether given SVP emergency session is capable to DTMF action - * (send, stop, etc.). This means that session - * a) does not have HoldController. - * b) has HoldController, but is in 'connected' state. - * @since S60 v3.2 - * @param aSession SVP emergency session to be check. - * @return ETrue If DTMF action can be performed. - */ - static TBool DtmfActionCapableSession( - const CSVPEmergencySession& aSession ); - - /** - * Checks whether given MCE stream is capable to DTMF action - * (send, stop, etc.). This means that stream: - * a) Is a MCE audio stream. - * b) It has a source. - * c) It's source is enabled. - * MCE server will handle the rest of the checks and actual DTMF - * action will return a error code. - * @since S60 v3.2 - * @param aStream MCE stream to check. - * @return ETrue If DTMF action can be performed. - */ - static TBool DtmfActionCapableStream( const CMceMediaStream& aStream ); - -private: // new methods - - /** - * C++ default constructor. - */ - SVPAudioUtility(); - - /** - * Method for setting DTMF priority for DTMF codec in aAudioStream if - * found from it. - * @since S60 v3.2 - * @param aAudioStream Representation of Mce audio stream. - * @return TBool ETrue if aAudioStream contained DTMF codec. - */ - static TBool SetDtmfPriorityL( CMceAudioStream& aAudioStream ); - - /** - * Method for setting audio priority and preference for audio codecs. - * @since S60 v3.2 - * @param aAudioStream Representation of Mce audio stream. - * @param aAudioPref Audio preference value to be used for the codecs. - * @return void - */ - static void SetAudioCodecPrioritiesL( CMceAudioStream& aAudioStream, - TUint aAudioPref ); - - /** - * Checks a uplink audiostream whether it needs an MMF priority/preference - * update. - * @since S60 v3.2 - * @param aUplinkStream Uplink stream to check if it needs priority or - * preference update. - * @return TBool ETrue if priority update is needed, EFalse otherwise. - */ - static TBool MmfPriorityUpdateNeededL( CMceAudioStream& aUplinkStream ); - - }; - -#endif // SVPAUDIOUTILITY_H \ No newline at end of file