diff -r 798ee5f1972c -r 826cea16efd9 dvrengine/CommonRecordingEngine/inc/CCRPacketSourceBase.h --- a/dvrengine/CommonRecordingEngine/inc/CCRPacketSourceBase.h Thu Aug 19 10:54:18 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,226 +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 the License "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: Common interface for sources* -*/ - - - -#ifndef MCRPACKETSOURCEBASE_H -#define MCRPACKETSOURCEBASE_H - -// INCLUDES -#include "CCRStreamingSession.h" -#include "MCRPacketSource.h" -#include "MCRConnectionObserver.h" - -// CONSTANTS -// None - -// MACROS -// None - -// DATA TYPES -// None - -// FORWARD DECLARATIONS -// None - -// CLASS DECLARATION -// None - -/** -* Interface to source. -* -* @lib CommonRecordingEngine.lib -* @since Series 60 3.0 -*/ -class CCRPacketSourceBase : public CBase, - public MCRPacketSource - { - -public: // Constructors and destructors - - /** - * Destructor - */ - virtual ~CCRPacketSourceBase(); - -public: // Methods from base classes - - /** - * From MCRPacketSource. - * Method for setting buffers to packet source. - * @since Series 60 3.0 - * @param aBuffer is buffer to be set. - * @return none. - */ - virtual void SetBuffer( CCRPacketBuffer* aBuffer ); - - /** - * From MCRPacketSource. - * Method for acquiring sdp. - * @since Series 60 3.0 - * @param aSdp is string pointer that will be .Set() to contain the sdp. - * If no sdp is available no .Set() will occur. - * @return KErrNotReady if no sdp available. - */ - virtual TInt GetSdp( TPtrC8& aSdp ) = 0; - - /** - * From MCRPacketSource. - * Method for acquiring (almost) up-to-date sequence and ts numbers. - * @since Series 60 3.0 - * @param aAudioSeq is reference to TUint that will be set by this - * method to contain latest available sequence number for - * audio stream being received via this packet source. - * @param aAudioTS rtp timestamp for audio. - * @param aVideoSeq rtp seq for video. If no video, value will not be touched. - * @param aVideoTS rtp ts for video. - * @return KErrNone if data available. - */ - virtual TInt SeqAndTS( TUint& aAudioSeq, - TUint& aAudioTS, - TUint& aVideoSeq, - TUint& aVideoTS ); - - /** - * From MCRPacketSource. - * Method for ordering "play" for packet source. - * @since Series 60 3.0 - * @param aStartPos is start position in seconds. - * @param aEndPos is end position in seconds. - * @return a system wide error code. - */ - virtual TInt Play( const TReal& aStartPos, - const TReal& aEndPos ); - - /** - * From MCRPacketSource. - * Method for pausing play from source. - * @since Series 60 3.0 - * @param none. - * @return a system wide error code. - */ - virtual TInt Pause(); - - /** - * From MCRPacketSource. - * Method for stopping play from source. - * @since Series 60 3.0 - * @param none. - * @return a system wide error code. - */ - virtual TInt Stop(); - - /** - * From MCRPacketSource. - * Setter for current position. - * @since Series 60 3.0 - * @param aPosition a postion of playback. - * @return a system wide error code. - */ - virtual TInt SetPosition( const TInt64 aPosition ); - - /** - * From MCRPacketSource. - * Getter for current position. - * @since Series 60 3.0 - * @param aPosition a postion of playback. - * @param aDuration a duration of playback. - * @return a system wide error code. - */ - virtual TInt GetPosition( TInt64& aPosition, - TInt64& aDuration ); - - /** - * From MCRPacketSource. - * Method for getting range of stream. If no range/duration - * is available this method will set the return values to - * 0.0,-1.0 and that may be quite normal state live streams. - * @since Series 60 3.0 - * @param aLower is where to start from. - If no value available, value of aLower must be set to 0. - * @param aUpper is where to stop. Negative values mean eternity. - * @return none. - */ - virtual void GetRange( TReal& aLower, - TReal& aUpper ); - - /** - * From MCRPacketSource. - * Post action after source initialized. - * @since Series 60 3.0 - * @param none. - * @return none. - */ - virtual void PostActionL(); - - /** - * From MCRPacketSource. - * Method for requesting more packets to buffer. - * @since Series 60 3.0 - * @param none. - * @return none. - */ - virtual void Restore(); - -public: // New methods - - /** - * Method that owner of source may utilitze to distinguish - * between sources - * @since Series 60 3.0 - * @param none. - * @return Id that may have been set. - */ - virtual CCRStreamingSession::TCRSourceId Id( void ) const; - - /** - * Registers connection observer. - * @since Series 60 3.0 - * @param aObserver aObserver. - * @return none. - */ - virtual void RegisterConnectionObs( MCRConnectionObserver* aObserver ); - -protected: // Constructors and destructors - - /** - * Default constructor - */ - CCRPacketSourceBase( CCRStreamingSession& aSession, - CCRStreamingSession::TCRSourceId aSourceId ); - -protected: // Data - - /** - * Pointer to streaming session that owns us. - */ - CCRStreamingSession& iOwningSession; - - /** - * Buffer used by sources. - */ - CCRPacketBuffer* iBuffer; - - /** - * Source id, set by owner - */ - const CCRStreamingSession::TCRSourceId iSourceId; - - }; - -#endif // MCRPACKETSOURCEBASE_H - -// End of File