diff -r 798ee5f1972c -r 826cea16efd9 dvrengine/CommonRecordingEngine/DvrRtpClipHandler/inc/CRtpFromFile.h --- a/dvrengine/CommonRecordingEngine/DvrRtpClipHandler/inc/CRtpFromFile.h Thu Aug 19 10:54:18 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,329 +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: RTP file read format for Common Recording Engine.* -*/ - - - - - -#ifndef __CRTPFROMFILE_H -#define __CRTPFROMFILE_H - -// INCLUDES -#include -#include -#include "MRtpTimerObserver.h" - -// CONSTANTS -// None - -// MACROS -// None - -// DATA TYPES -// None - -// FORWARD DECLARATIONS -class CRtpToFile; -class CRtpTimer; - -// CLASS DECLARATION - -/** -* RTP format read functionalities for RTP Clip Handler. -* -* @lib RtpClipHandler.lib -* @since Series 60 3.0 -*/ -class CRtpFromFile : public CRtpFileBase, - public MRtpTimerObserver - { - -public: // Constructors and destructor - - /** - * Two-phased constructor. - * @param aReadObs a reference to file read observer. - * @param aToFile a pointer to RTP save object. - * @return pointer to CRtpFromFile class. - */ - static CRtpFromFile* NewL( MRtpFileReadObserver& aReadObs, - CRtpToFile* aToFile ); - - /** - * Destructor. - */ - virtual ~CRtpFromFile(); - -public: // New functions - - /** - * Initiates RTP packet reading. - * @since Series 60 3.0 - * @param aClipPath a full path of the clip. - * @param aVersion a version of the clip. - * @param aTimeShift a mode selection. - * @return none. - */ - void InitRtpReadL( const TDesC& aClipPath, - TInt8& aVersion, - const TBool aTimeShift ); - - /** - * Initiates RTP packet reading. - * @since Series 60 3.0 - * @param aRtpHandle a open file handle for RTP file. - * @param aVersion a version of the clip. - * @param aTimeShift a mode selection. - * @return none. - */ - void InitRtpReadL( const RFile& aFileHandle, - TInt8& aVersion ); - - /** - * Swaps new clip for RTP packet reading. - * @since Series 60 3.0 - * @param aClipPath a full path of clip. - * @return a version of the clip. - */ - TInt8 SwapClipL( const TDesC& aClipPath ); - - /** - * Getter for SDP data from the clip. - * @since Series 60 3.0 - * @param none. - * @return a buffer keeping SDD data. - */ - HBufC8* GetClipSdpL(); - - /** - * Reads next RTP packets group from a clip. - * @since Series 60 3.0 - * @param aGroupPoint a group to read. - * @return KErrInUse if reading already active, - KErrEof if too close to live point, - KErrNone otherwise. - */ - TInt ReadNextGroupL( const TInt aGroupPoint ); - - /** - * Reads skipped RTP packet from a clip. - * @since Series 60 3.0 - * @param none. - * @return none. - */ - void ReadSkippedGroup(); - - /** - * Setter for last seek addres. - * @since Series 60 3.0 - * @param none. - * @return none. - */ - void UpdateLastSeekAddr(); - - /** - * Sets Seek point of the clip. - * @since Series 60 3.0 - * @param aTime a time where to seek. - * @return none. - */ - void SetSeekPointL( const TUint aTime ); - - /** - * Stops RTP packet reading. - * @since Series 60 3.0 - * @param aStatus a stopping status. - * @param aPlayerBuf a buffer length in player. - * @return none. - */ - void StopRtpRead( const TInt aStatus, - const TUint aPlayerBuf ); - - /** - * Getter for duration of the clip. - * @since Series 60 3.0 - * @param none. - * @return a duration of the clip. - */ - inline TUint Duration(); - - /** - * Getter for time shift mode. - * @since Series 60 3.0 - * @param none. - * @return true if time shift ongoing, otherwise false. - */ - inline TBool IsTimeShift(); - - /** - * Getter for currently active group point. - * @since Series 60 3.0 - * @param none. - * @return a group point of current read. - */ - inline TInt ThisGroup(); - -private: // Constructors and destructor - - /** - * C++ default constructor. - * @param aObs a RTP save observer. - * @param aToFile a pointer to RTP save object. - */ - CRtpFromFile( MRtpFileReadObserver& aReadObs, - CRtpToFile* aToFile ); - - /** - * Symbian 2nd phase constructor can leave and is private by default. - */ - void ConstructL(); - -private: // Functions from base classes - - /** - * From CRtpFileBase. - * Called when request completion event occurs. - * @since Series 60 3.0 - * @return none. - */ - void RunL(); - - /** - * From CRtpFileBase. - * Handles a leave occurring in the request completion event handler RunL(). - * @since Series 60 3.0 - * @param aError the leave code. - * @return status of run error handling. - */ - TInt RunError( TInt aError ); - - /** - * From CRtpFileBase. - * Called when request completion event cancelled. - * @since Series 60 3.0 - * @return none. - */ - void DoCancel(); - - /** - * From MRmTimerObserver : Called when timer completion event occurs. - * @since Series 60 3.0 - * @return none - */ - void TimerEventL(); - - /** - * From MRtpTimerObserver. - * Handles a leave occurring in the request completion event handler RunL(). - * @since Series 60 3.0 - * @param aError the leave code. - * @return none. - */ - void TimerError( const TInt aError ); - -private: // New functions - - /** - * Reads clip header from a clip. - * @since Series 60 3.0 - * @param aVersion a version of clip. - * @return none. - */ - void ReadClipHeaderL( TInt8& aVersion ); - - /** - * Reads meta header from a clip. - * @since Series 60 3.0 - * @param aSeekHeaderPoint a seek header point in clip. - * @param aSeekArrayPoint a seek array point in clip. - * @return Version of clip. - */ - TInt8 ReadMetaHeaderL( TInt& aSeekHeaderPoint, - TInt& aSeekArrayPoint ); - - /** - * Reads RTP payload from a clip. - * @since Series 60 3.0 - * @param none. - * @return none. - */ - void ReadNextGroupFromFileL(); - - /** - * Finds group base on seek time. - * @since Series 60 3.0 - * @param aTime a time to use for search. - * @param aArray a array to use for search. - * @return point to group where time with TS exist. - */ - TInt FindSeekGroup( const TUint aTime, - CArrayFix* aArray ); - - /** - * Updates playback count and spot attributes. - * @since Series 60 3.0 - * @param none. - * @return none. - */ - void UpdatePlayAttL(); - - /** - * Getter for last seek addres. - * @since Series 60 3.0 - * @param none. - * @return a last seek address. - */ - TInt LastSeekAddr(); - -private: // Data - - /** - * RTP read observer. - */ - MRtpFileReadObserver& iReadObs; - - /** - * Pointer to RTP save object. - */ - CRtpToFile* iToFile; - - /** - * File data buffer. - */ - HBufC8* iFileData; - - /** - * Request skipped. - */ - TBool iSkippedRead; - - /** - * Duration of the clip. - */ - TInt iDuration; - - /** - * Group read timer. - */ - CRtpTimer* iTimer; - - }; - -#include "CRtpFromFile.inl" - -#endif //__CRTPFROMFILE_H - -// End of File