mmsharing/mmshengine/inc/musenglivesession.h
changeset 15 ccd8e69b5392
parent 2 b31261fd4e04
child 20 e8be2c2e049d
child 22 496ad160a278
--- a/mmsharing/mmshengine/inc/musenglivesession.h	Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,415 +0,0 @@
-/*
-* Copyright (c) 2005 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: 
-*
-*/
-
-
-#ifndef MUSHENGLIVESESSION_H
-#define MUSHENGLIVESESSION_H
-
-// USER
-#include "musengmceoutsession.h"
-#include "musunittesting.h"
-
-// SYSTEM
-#include <ecam.h>
-
-// FORWARD DECLARATIONS
-class MMusEngLiveSessionObserver;
-
-class CMusEngLiveSession : public CMusEngMceOutSession
-    {
-    MUS_UNITTEST( UT_CMusEngOutSession )
-    MUS_UNITTEST( UT_CMusEngLiveSession )
-
-    public:
-
-        /**
-        * Creates new MultimediaSharing Live session.
-        *
-        * @param aFileName Media filename
-        * @param aRect UI drawing area. It is allowed handle from engine
-        * @param aSessionObserver Interface for session specific callbacks
-        * @param aOutSessionObserver Interface for outsession specific callbacks
-        * @param aLiveSessionObserver interface for live session specific
-        *        callbacks
-        * @param aSipProfileId SIP profile to be used, 0 is default profile
-        * @return CMusEngLiveSession* New instanse of specified class
-        */
-        IMPORT_C static CMusEngLiveSession* NewL( 
-							const TDesC& aFileName,
-                            const TRect& aRect,
-                            MMusEngSessionObserver& aSessionObserver,
-                            MMusEngOutSessionObserver& aOutSessionObserver,
-                            MMusEngLiveSessionObserver& aLiveSessionObserver,
-                            TUint aSipProfileId = 0);
-                            
-        /**
-        * Creates new MultimediaSharing Live session.
-        *
-        * @param aRect UI drawing area. It is allowed handle from engine
-        * @param aSessionObserver Interface for session specific callbacks
-        * @param aOutSessionObserver Interface for outsession specific callbacks
-        * @param aLiveSessionObserver interface for live session specific
-        *        callbacks
-        * @param aSipProfileId SIP profile to be used, 0 is default profile
-        * @return CMusEngLiveSession* New instanse of specified class
-        */
-        IMPORT_C static CMusEngLiveSession* NewL( 
-                            const TRect& aRect,
-                            MMusEngSessionObserver& aSessionObserver,
-                            MMusEngOutSessionObserver& aOutSessionObserver,
-                            MMusEngLiveSessionObserver& aLiveSessionObserver,
-                            TUint aSipProfileId = 0 );
-
-
-    public:
-
-        /**
-        * Destructor
-        */
-        ~CMusEngLiveSession();
-
-
-
-    public: // NEW LIVE SESSION SPECIFIC API FUNCTIONS
-
-        /**
-        * Gets current zoom factor
-        * 
-        * @pre Session is established
-        * @leave KErrNotReady if precondition not fullfilled
-        */
-        IMPORT_C TInt CurrentZoomL() const;
-        
-        /**
-        * Sets new zoom factor
-        * 
-        * @pre Session is established
-        * @pre MinZoomL <= aNewZoomFactor <= MaxZoomL
-        * @leave KErrNotReady if session is not established
-        */
-        IMPORT_C void SetZoomL( TInt aNewZoomFactor );
-        
-        /**
-        * Gets minimum zoom factor
-        * 
-        * @pre Session is established
-        * @leave KErrNotReady if precondition not fullfilled
-        */
-        IMPORT_C TInt MinZoomL() const;
-
-        /**
-        * Gets maximum zoom factor
-        * 
-        * @pre Session is established
-        * @leave KErrNotReady if precondition not fullfilled
-        */
-        IMPORT_C TInt MaxZoomL() const;
-        
-        /**
-        * Increases zoom factor by one.
-        * 
-        * @pre Session is established
-        * @leave KErrNotReady if precondition not fullfilled
-        */
-        IMPORT_C void ZoomInL();
-
-        /**
-        * Decreases zoom factor by one.
-        * 
-        * @pre Session is established
-        * @leave KErrNotReady if precondition not fullfilled
-        */
-        IMPORT_C void ZoomOutL();
-
-        /**
-        * Sets zoom factor to default.
-        * 
-        * @pre Session is established
-        * @leave KErrNotReady if precondition not fullfilled
-        */
-        IMPORT_C void ZoomDefaultL();
-
-        /**
-        * Sets current brightness
-        * 
-        * @pre Session is established
-        * @leave KErrNotReady if precondition not fullfilled
-        */
-        IMPORT_C void SetBrightnessL( TInt aBrightness ) const;
-
-
-        /**
-        * Gets current brightness
-        * 
-        * @pre Session is established
-        * @leave KErrNotReady if precondition not fullfilled
-        */
-        IMPORT_C TInt CurrentBrightnessL() const;
-
-        /**
-        * Gets maximum brightness
-        * 
-        * @pre Session is established
-        * @leave KErrNotReady if precondition not fullfilled
-        */
-        IMPORT_C TInt MaxBrightnessL() const;
-
-        /**
-        * Gets minimum brightness
-        * 
-        * @pre Session is established
-        * @leave KErrNotReady if precondition not fullfilled
-        */
-        IMPORT_C TInt MinBrightnessL() const;
-
-        /**
-        * Increases brightness by one.
-        * 
-        * @pre Session is established
-        * @leave KErrNotReady if precondition not fullfilled
-        */
-        IMPORT_C void IncreaseBrightnessL();
-
-        /**
-        * Decreases brightness by one.
-        * 
-        * @pre Session is established
-        * @leave KErrNotReady if precondition not fullfilled
-        */
-        IMPORT_C void DecreaseBrightnessL();
-
-        /**
-        * Sets brightness factor to default.
-        * 
-        * @pre Session is established
-        * @leave KErrNotReady if precondition not fullfilled
-        */
-        IMPORT_C void BrightnessDefaultL();
-
-        /**
-        * Sets brightness to automatic.
-        * 
-        * @pre Session is established
-        * @leave KErrNotReady if precondition not fullfilled
-        */
-        IMPORT_C void BrightnessAutoL();
-
-        /**
-        * Starts or pauses recording
-        */
-        IMPORT_C void RecordL( TBool aRecord );
-
-        /**
-        * Tells whether recording is paused or not
-        */
-        IMPORT_C TBool IsRecording();
-        
-        
-    public: // implementation of virtual API from CMusEngMceOutSession
-
-        /**
-        * Resumes previously paused session. 
-        * Continues using viewfinder and enables streaming video.
-        *
-        */
-        IMPORT_C void PlayL();
-
-        /**
-        * Pauses session.
-        * Holds display and disables streaming video to network.
-        *
-        */
-        IMPORT_C void PauseL();
-
-        /**
-        * Tells whether session is paused or not
-        */
-        IMPORT_C TBool IsPlayingL();
-
-
-    protected: // inherited from CMusEngMceOutSession
-
-        /**
-        * @param aLocalBundle All local streams are supposed to be added to
-        *        this bundle
-        */
-		void CompleteSessionStructureL( CMceStreamBundle& aLocalBundle );
-
-
-    private: // overrides ancestor class versions
-    
-        /**
-        * The state of the session has changed
-        * @param aSession, the session that has changed.
-        */
-        virtual void HandleSessionStateChanged( CMceSession& aSession,
-                                                TInt aStatusCode,
-                                                const TDesC8& aReasonPhrase );
-                                                
-        /**
-        * Sets Multimediasharing specific video codec settings like video 
-        * bitrate maxbitrate. This functions gets called for every video codec 
-        * in session. This function overrides function in ancestor classes. 
-        * Function calls also overridden version.
-        */ 
-        virtual void AdjustVideoCodecL( CMceVideoCodec& aVideoCodec );
-        
-        /**
-        * Sets Multimediasharing specific audio codec settings. This functions 
-        * gets called for every audio codec in session. This function overrides 
-        * function in base class. Function calls also overridden version.
-        */ 
-        virtual void AdjustAudioCodecL( CMceAudioCodec& aAudioCodec );     
-        
-        /**
-        * Removes AVC if known that it is not supported
-        */
-        virtual void DoCodecSelectionL( CMceVideoStream& aVideoStream );
-   
-
-    private: // from MMceStreamObserver, 
-             // overrides the function in CMusEngMceSession
-
-        /**
-        * The state of the sink has changed.
-        *
-        * @param aStream, the stream that uses the sink.
-        * @param aSink, the sink that has changed.
-        */
-        void StreamStateChanged( CMceMediaStream& aStream,
-                                 CMceMediaSink& aSink );    
-                                 
-
-    private:
-
-        /**
-        * Constructor
-        */
-        CMusEngLiveSession( MMusEngSessionObserver& aSessionObserver,
-                            MMusEngOutSessionObserver& aOutSessionObserver,
-                            MMusEngLiveSessionObserver& aLiveSessionObserver,
-        					const TRect& aRect,
-        					const TDesC& aRecordedFile = KNullDesC );
-
-        /**
-        * Second-phase constructor
-        */
-        void ConstructL( TUint aSipProfileId );
-
-    
-    private: // Helpers
-    
-        /**
-        * Reads from CenRep and sets encoding device for a codec.
-        */
-        void SetEncodingDeviceL( CMceVideoCodec& aVideoCodec );
-
-        /**
-        * Sets configuration key for a codec
-        */
-        void SetCodecConfigKeyL( CMceVideoCodec& aVideoCodec );
-    
-        /**
-        * Reads proper configuration key for a codec. NULL if not available.
-        * Ownership is transferred.
-        */
-        HBufC8* ReadCodecConfigKeyL( const CMceVideoCodec& aVideoCodec ) const;
-        
-        /**
-        * Constructs and stores to cenrep a concatenation of all AVC config keys.
-        */
-        void StoreEncoderConfigInfoL() const;
-        
-        /**
-        * Returns config key id for the provided codec. Ownership is transferred
-        */
-        const TPtrC8 ConfigKeyIdL( const CMceVideoCodec& aVideoCodec ) const;
-        
-
-        /**
-        *    Calculate the zoom step size based time escaped. 
-        * 
-        * @param aTime, start time. pass iZoomInTime or iZoomOutTime as parameter
-        * @return TInt, return calculate result of the step size  
-        */
-        TInt ZoomStepSize( TInt64& aTime );
-        
-        /**
-         *  Calculates iMinZoomStep and iMaxZoomStep zoom step sizes,
-         *  should be called before first ZoomIn()/ZoomOut() call
-         */
-        void InitializeZoomStepSize();
-        
-        
-    private:
-
-        /**
-        * Reference to live session observer interface.
-        */
-        MMusEngLiveSessionObserver& iLiveSessionObserver;
-
-        /**
-        *
-        */
-        TCameraInfo iCameraInfo;
-
-        /**
-        *
-        */
-        TInt iDefaultZoomFactor;
-
-        /**
-        *
-        */
-        TInt iDefaultBrightness;
-
-        /**
-        * File name for recording. If KNullDesC no recording performed.
-        */
-        TFileName iRecordedFile;
-        
-        /**
-        * If true, configuration key of current AVC codec must be written to
-        * CenRep after session establishment.
-        */
-        TBool iStoreEncoderConfigInfo;
-        
-        /**
-        * latest Zoomin time
-        */
-
-        TInt64 iZoomInTime;
-
-        /**
-        * latest Zoomout time
-        */
-        TInt64 iZoomOutTime;        
-                       
-        /**
-        *
-        */
-        TInt iSmallZoomStep;
-
-        /**
-        *
-        */
-        TInt iBigZoomStep;
-        
-    };
-
-#endif
-