--- a/dvrengine/CommonRecordingEngine/inc/CCRRtpRecordSink.h Fri Jun 11 10:05:41 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,326 +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: Packet sink where no-one gets the streaming*
-*/
-
-
-
-#ifndef CCRRTPRECORDSINK_H
-#define CCRRTPRECORDSINK_H
-
-// INCLUDES
-#include "CCRPacketSinkBase.h"
-#include <ipvideo/MRtpFileWriteObserver.h>
-#include "MCRTimerObserver.h"
-#include <CXPSPktSinkObserver.h>
-
-// CONSTANTS
-// None
-
-// MACROS
-// None
-
-// DATA TYPES
-// None
-
-// FORWARD DECLARATIONS
-class CCRPacketBuffer;
-class CCRStreamingSession;
-class MCRConnectionObserver;
-class CRtpClipHandler;
-class CRtpTsConverter;
-
-// CLASS DECLARATION
-
-/**
-* Packet sink that does not forward packets. Good for testing.
-*
-* @lib CommonRecordingEngine.lib
-* @since Series 60 3.0
-*/
-class CCRRtpRecordSink : public CCRPacketSinkBase,
- public MRtpFileWriteObserver
- {
-
-public: // Constructors and destructors
-
- /**
- * Two-phased constructor.
- * @param aRecordParams a recording parameters.
- * @param aSinkId that this class needs to use when reporting progress back to owner.
- * @param aOwningSession is the streaming session that owns this instance.
- * @param aObserver a pointer to connection observer.
- * @param aClipHandler a reference pointer to .rtp clip handler.
- * @return CCRRtpRecordSink pointer.
- */
- static CCRRtpRecordSink* NewL( const SCRRecordParams& aRecordParams,
- CCRStreamingSession::TCRSinkId aSinkId,
- CCRStreamingSession& aOwningSession,
- MCRConnectionObserver* aObserver,
- CRtpClipHandler*& aClipHandler );
-
- /**
- * Destructor
- */
- virtual ~CCRRtpRecordSink();
-
-protected: // Constructors and destructors
-
- /**
- * By default default constructor is private
- * @param aSinkId that this class needs to use when reporting progress back to owner.
- * @param aObserver a pointer to connection observer.
- * @param aClipHandler a reference pointer to .rtp clip handler.
- * @param aOwningSession is the streaming session that owns this instance.
- */
- CCRRtpRecordSink( CCRStreamingSession::TCRSinkId aSinkId,
- CCRStreamingSession& aOwningSession,
- MCRConnectionObserver* aObserver,
- CRtpClipHandler*& aClipHandler );
-
- /**
- * Second phase of 2-phased construction
- * @param aRecordParams a recording parameters.
- */
- void ConstructL( const SCRRecordParams& aRecordParams );
-
-private: // Methods from base classes
-
- /**
- * From CCRPacketSinkBase.
- * Method for setting the sdp in use.
- * @since Series 60 3.0
- * @param aSdp is the new sdp.
- * @return none.
- */
- void SetSdpL( const TDesC8& aSdp );
-
- /**
- * From CCRPacketSinkBase.
- * Adds packet to the sink.
- * @since Series 60 3.0
- * @return none.
- */
- void NewPacketAvailable();
-
- /**
- * From CCRPacketSinkBase.
- * Buffer reset info for the sink.
- * @since Series 60 3.0
- * @return none.
- */
- void BufferResetDone();
-
- /**
- * From CCRPacketSinkBase.
- * Method for pause action for sink.
- * @since Series 60 3.0
- * @param none.
- * @return a system wide error code.
- */
- TInt Pause();
-
- /**
- * From CCRPacketSinkBase.
- * Method for restore action for sink.
- * @since Series 60 3.0
- * @param none.
- * @return a system wide error code.
- */
- TInt Restore();
-
- /**
- * From CCRPacketSinkBase.
- * Method for stopping action for sink.
- * @since Series 60 3.0
- * @param none.
- * @return none.
- */
- void Stop();
-
- /**
- * From MRtpFileWriteObserver.
- * Group saved indication.
- * @since Series 60 3.0
- * @return none.
- */
- void GroupSaved();
-
- /**
- * From MRtpFileWriteObserver.
- * Clip handler status of recording.
- * @since Series 60 3.0
- * @param aStatus a status of file writing.
- * @return none.
- */
- void WriteStatus( const TInt aStatus );
-
-private: // New methods
-
- /**
- * Adds RTP packet(s) to a group.
- * @since Series 60 3.0
- * @param none.
- * @return none.
- */
- void AddToGroup();
-
- /**
- * Adds one RTP packet to a group.
- * @since Series 60 3.0
- * @param aPacket a packet data.
- * @param aType a packet type.
- * @return none.
- */
- void AddPacketToGroupL( const TDesC8& aPacket,
- const MRtpFileWriteObserver::TRtpType& aType );
-
- /**
- * Saves one RTP packet group to a clip.
- * @since Series 60 3.0
- * @param aAction a saving action.
- * @return none.
- */
- void SaveGroup( MRtpFileWriteObserver::TRtpSaveAction aAction );
-
- /**
- * Saves one RTP packet group to a clip.
- * @since Series 60 3.0
- * @param aAction a saving action.
- * @return none.
- */
- void SaveGroupL( MRtpFileWriteObserver::TRtpSaveAction aAction );
-
- /**
- * Converts stream id to old RTP propriatary format packet type.
- * @since Series 60 3.0
- * @param aType a packet type from a clip.
- * @param aStream a stream id to update.
- * @return true if packet valid, otherwise false.
- */
- TBool StreamToType( const MCRPacketSource::TCRPacketStreamId& aStream,
- MRtpFileWriteObserver::TRtpType& aType );
-
- /**
- * Handles TS delta calculation from audio packets.
- * @since Series 60 3.0
- * @param aPacket a packet data.
- * @return a TS of packet.
- */
- TUint TsFromPacketL( const TDesC8& aPacket );
-
- /**
- * Wrapper for AddPausePacketL().
- * @since Series 60 3.0
- * @param none.
- * @return none.
- */
- void AddPausePacket();
-
- /**
- * Adds pause packet to group buffer.
- * @since Series 60 3.0
- * @param none.
- * @return none.
- */
- void AddPausePacketL();
-
- /**
- * Resets packets group variables.
- * @since Series 60 3.0
- * @param aStatus a reason for recording end.
- * @return none.
- */
- void ForceStopRecording( const TInt& aStatus );
-
- /**
- * Resets packets group variables.
- * @since Series 60 3.0
- * @param none.
- * @return none.
- */
- void ResetGroupVariables();
-
-private: // Data
-
- /**
- * Packets group buffer.
- */
- HBufC8* iGroupBuffer;
-
- /**
- * Connection status observer.
- */
- MCRConnectionObserver* iObserver;
-
- /**
- * Clip handler for RTP clip.
- */
- CRtpClipHandler*& iClipHandler;
-
- /**
- * Packets group pointer.
- */
- TPtr8 iGroupPointer;
-
- /**
- * Current group size in bytes.
- */
- TInt iGroupSize;
-
- /**
- * Current group packets count.
- */
- TInt iPacketsCount;
-
- /**
- * Wanted group size.
- */
- TInt iWantedGroup;
-
- /**
- * TS converter for audio.
- */
- CRtpTsConverter* iAudioConv;
-
- /**
- * Time stamp of oldest audio packet.
- */
- TUint iOldestTs;
-
- /**
- * Latest audio packet.
- */
- TPtrC8 iLatestAudio;
-
- /**
- * Record mode, can be either normal of time shift.
- */
- MRtpFileWriteObserver:: TRtpSaveAction iSaveMode;
-
- /**
- * Next packet(s) mode, can be: normal, pause, end.
- */
- MRtpFileWriteObserver:: TRtpSaveAction iGroupMode;
-
- /**
- * Recording parameters.
- */
- MRtpFileWriteObserver::SRtpRecParams iRecParams;
-
- };
-
-#endif // CCRRTPRECORDSINK_H
-
-// End of File