diff -r 000000000000 -r bb31fbe78861 mp4sp_enc/arimp4spencwrapper/export_hdr/arimp4spencwrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mp4sp_enc/arimp4spencwrapper/export_hdr/arimp4spencwrapper.h Fri Jul 23 16:58:44 2010 +0100 @@ -0,0 +1,130 @@ +/* +* Copyright (c) 2009 Aricent 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: +* Aricent - initial contribution. +* +* Contributors: +* +* Description: +* Export header file for wrapper APIs.Interface class for +* Mpeg4SP/H263 encoder wrapper.The member functions are pure virtual functions +* which are to be implemented by the derived class. +* +*/ + + +#ifndef ARIMP4SPENCWRAPPER_H +#define ARIMP4SPENCWRAPPER_H + +// INCLUDES +#include +#include +#include +#include "aribasecodec.h" + + +// FORWARD DECLARATIONS +class MBaseCodecObserver; +class TMpeg4H263HWDeviceInitParams; +class TMpeg4H263EncoderInitParams; + + +class CAriMp4spencWrapper: public CBase, public MBaseCodec + { + + public:// Constructor and Destructor + + /** + * Two-phased constructor. + * @param aEncoderParams + * Encoder params used to create the encoder. + * @return pointer to an instance of CAriMp4spencWrapper + */ + IMPORT_C static CAriMp4spencWrapper* NewL(TMpeg4H263EncoderInitParams &aParams); + + /**> Destructor */ + virtual ~CAriMp4spencWrapper(); + + + public:// MBaseCodec functions + + /** + * From MBaseCodec + * Encodes an input buffer + * @param aInpBuf + * Coded input data passed by Engine. + * @param aOutBuf + * Encoded output data + * @leave "The method will leave if an error occurs". + * @return one of the TCodecState + */ + virtual TInt DoProcessL( TAny *aInpBuf, TAny* aOutBuf) = 0; + + /** + * From MBaseCodec + * Encodes an input buffer + * @param aCommand + * The command passed - indicates encoder parameter to be set. + * @param aOutBuf + * The value used to set the parameter. + * @leave "The method will leave if an error occurs". + * @return one of the TCodecState + */ + + virtual TInt SetParam( TInt aCommand, TAny* aCmdData ) = 0; + + /** + * Used to get codec parameteres + * @param aCommand + * Indicates the encoder parameter to get + * @param aCmdData + * The value of the encoder parameter (OUT) + * @return symbian wide error code + */ + virtual TInt GetParam (TInt aCommand, TAny* aCmdData) = 0; + + + /** + * Cancels all processing of the commands + * @return None + */ + virtual void Reset () = 0; + + + /** + * Sets the clocksource. + * @param aClockSource + * The clocksource which will be used by wrapper. + * @param aProcessingTime + * Not used currently. + * @return TInt KErrArgument if clocksource is NULL + * else returns KErrNone + */ + virtual TInt SetSyncOptions( TAny* aClockSource, + TInt aProcessingTime = 0 ) = 0; + + /** + * Sets the reference time to be used by wrapper. + * @param aReferenceTime + * The reference time passed by the plugin + * @return None + */ + + virtual void SetUpdatedRefernceTime( TInt64 &aReferenceTime ) = 0; + + /** + * Indicates whether current picture has been encoded or not. + * @return TBool ETrue if ppicture is skipped. + */ + + virtual TBool IsCurrentPictureSkipped() = 0; + + }; + +#endif //ARIMP4SPENCWRAPPER_H