dvrengine/CommonRecordingEngine/inc/CCRXpsSink.h
branchRCL_3
changeset 22 826cea16efd9
parent 21 798ee5f1972c
child 23 13a33d82ad98
--- a/dvrengine/CommonRecordingEngine/inc/CCRXpsSink.h	Thu Aug 19 10:54:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,325 +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 XPS gets the streaming.*
-*/
-
-
-
-#ifndef CCRXPSSINK_H
-#define CCRXPSSINK_H
-
-// INCLUDES
-#include "CCRPacketSinkBase.h"
-#include "MCRTimerObserver.h"
-#include "VideoServiceUtilsConf.hrh"
-#include <CXPSPktSinkObserver.h>
-#include <RtpDef.h>
-#include "videoserviceutilsLogger.h"
-#ifdef VIA_FEA_IPTV_USE_IPDC
-#include <H264Mpeg4GenrToFileFormat.h>
-#endif // VIA_FEA_IPTV_USE_IPDC
-
-// CONSTANTS
-// None
-
-// MACROS
-// None
-
-// DATA TYPES
-// None
-
-// FORWARD DECLARATIONS
-class CCRPacketBuffer;
-class CXPSPacketSink;
-class CCRStreamingSession;
-class CRtpTsConverter;
-class CRtpPacket;
-class CCRTimer;
-
-// CLASS DECLARATION
-
-/**
-*  Packet sink that does not forward packets. Good for testing. 
-*
-*  @lib CommonRecordingEngine.lib
-*  @since Series 60 3.0
-*/
-class CCRXpsSink : public CCRPacketSinkBase,
-                   public MCRTimerObserver,
-                   public MXPSPktSinkObserver
-    {
-
-public: // Constructors and destructors   
-    
-    /**
-    * Two-phased constructor.
-    * @return CCRXpsSink pointer. 
-    */
-    static CCRXpsSink* NewL( CCRStreamingSession::TCRSinkId aSinkId,
-                             CCRStreamingSession& aOwningSession );
-    
-    /**
-    * Destructor 
-    */
-    virtual ~CCRXpsSink();
-    
-protected: // Constructors and destructors
-
-    /**
-    * By default default constructor is private
-    * @param aConnection is the IAP representative that we need to use
-    * @param aSockServer is the socketserver to use when opening socks
-    * @param aSinkId that this class needs to use when reporting progress back to owner
-    * @param aOwningSession is the streaming session that owns this instance
-    */
-    CCRXpsSink( CCRStreamingSession::TCRSinkId aSinkId,
-                CCRStreamingSession& aOwningSession );
-
-    /**
-    * Second phase of 2-phased construction
-    */
-    void ConstructL(); 
-
-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 MCRTimerObserver.
-    * The function to be called when a timeout occurs.
-    * @since Series 60 3.0
-    * @param aTimer a pointer to timer.
-    * @return none.
-    */
-    void TimerExpired( CCRTimer* aTimer );
-
-    /**
-    * From MXPSPktSinkObserver.
-    * API to inform for resumption of packet supply.
-    * @since Series 60 3.0
-    * @param uStreamId a stream id.
-    * @return none.
-    */
-    void RestorePacketSupply( TUint uStreamId );
-
-private: // New methods
-
-    /**
-    * Restores sink for new packets.
-    * @since Series 60 3.0
-    * @param none.
-    * @return none.
-    */
-    void RestoreSink();
-
-    /**
-    * Sends one RTP packet to a player.
-    * @since Series 60 3.0
-    * @param none.
-    * @return ETrue if packet was sent, EFalse if not.
-    */
-    TBool SendPacket();
-
-    /**
-    * Adjust time stamp and enque audio packet to player.
-    * @since Series 60 3.0
-    * @param aPacket a packet payload to send.
-    * @return a system wide error code of sending.
-    */
-    TInt SendAudioPacket( const TDesC8& aPacket );
-
-    /**
-    * Adjust time stamp and enque video packet to player.
-    * @since Series 60 3.0
-    * @param aPacket a packet payload to send.
-    * @return a system wide error code of sending.
-    */
-    TInt SendVideoPacket( const TDesC8& aPacket );
-
-    /**
-    * Adjust time stamp and enque sub title packet to player.
-    * @since Series 60 3.0
-    * @param aPacket a packet payload to send.
-    * @return a system wide error code of sending.
-    */
-    TInt SendTitlePacket( const TDesC8& aPacket );
-
-    /**
-    * Sends packet to the player.
-    * @since Series 60 3.0
-    * @param aStreamId a stream id of packet.
-    * @return a system wide error code of sending.
-    */
-    TInt EnqueuePacket( const TUint aStreamId );
-    
-    /**
-     * Serach if buffer contains control stream packets.
-     * If not, in non continous stream ask more packets to buffer.  
-     * 
-     * @since S60 v3.0
-     * @return none.
-     */
-    void SearchForControlStreamPackets();
-
-    /**
-     * Checks if the buffer contains control stream packets. This is needed
-     * if we receive packets for stream that has not yet received any control
-     * stream packets, so that we do not have to discard the packets. If any
-     * control stream packets are found for a stream that has not been 
-     * initiated, then that control stream packet is used to initiate that
-     * stream.
-     * 
-     * @since S60 v3.0
-     * @return ETrue if a control stream packet was found, EFalse othervise.
-     */
-    TBool CheckBufferForControlStreamPackets();
-
-    /**
-    * Starts flow timer.
-    * @since Series 60 3.0
-    * @param aInterval a timer interval.
-    * @return none.
-    */
-    void StartTimer( const TInt& aInterval );
-    
-    /**
-    * Starts flow timer.
-    * @since Series 60 3.0
-    * @param none.
-    * @return none.
-    */
-    void StopTimer();
-    
-#ifdef VIA_FEA_IPTV_USE_IPDC
-    /**
-    * Serach for fmtp string.
-    * @since Series 60 3.0
-    * @param aSdpData a SDP data.
-    * @return smtp string from SDP.
-    */
-    HBufC8* FindFmtpLC( const TDesC8& aSdpData );
-
-#endif // VIA_FEA_IPTV_USE_IPDC
-
-private: // Data
-
-    /**
-    * XPS packet sink.
-    */
-    CXPSPacketSink* iPacketSink;
-    
-    /**
-    * Status of XPS buffer.
-    */
-    TInt iWaitPlayer;
-    
-    /**
-    * Requested packet after overflow.
-    */
-    TInt iRequested;
-
-    /**
-    * Status for XPS reset.
-    */
-    TBool iXpsResetOk;
-    
-    /**
-    * Status of range.
-    */
-    TBool iRangeKnown;
-
-    /**
-    * Flow control timer.
-    */
-    CCRTimer* iFlowTimer;
-    
-    /**
-    * Audio stream id for XPS.
-    */
-    TInt iAudioStreamId;
-    
-    /**
-    * Audio stream id for XPS.
-    */
-    TInt iVideoStreamId;
-    
-    /**
-    * Sub title stream id for XPS.
-    */
-    TInt iTitleStreamId;
-    
-    /**
-    * TS converter for audio.
-    */
-    CRtpTsConverter* iAudioConv;
-
-    /**
-    * TS converter for video.
-    */
-    CRtpTsConverter* iVideoConv;
-    
-    /**
-    * TS converter for video.
-    */
-    CRtpTsConverter* iTitleConv;
-    
-    /**
-    * RTP packet to enqueue.
-    */
-    CRtpPacket* iRtpPacket;
-    
-#ifdef VIA_FEA_IPTV_USE_IPDC
-    /**
-    * Depacketizer for video stream (ISMACryp).
-    */
-    CH264Mpeg4GenrToFileformat * iVideoDepacketizer;
-
-#endif // VIA_FEA_IPTV_USE_IPDC
-
-#if defined( LIVE_TV_RDEBUG_TRACE ) || defined( LIVE_TV_FILE_TRACE )
-    /**
-    * Debug purposes.
-    */
-    TInt iLogXps;
-
-#endif // LIVE_TV_RDEBUG_TRACE || LIVE_TV_FILE_TRACE
-
-    };
-
-#endif // CCRXPSSINK_H
-
-//  End of File