dvrengine/CommonRecordingEngine/inc/CCRRtpRecordSink.h
changeset 41 d88d70d98bbc
parent 34 814ba97beeb9
child 46 3bc36dbd63c2
--- 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