diff -r 590f6f022902 -r 7fb4a99d4b6b vtprotocols/inc/cdatasinkproxy.h --- a/vtprotocols/inc/cdatasinkproxy.h Tue Sep 14 21:23:32 2010 +0300 +++ b/vtprotocols/inc/cdatasinkproxy.h Wed Sep 15 12:15:42 2010 +0300 @@ -18,6 +18,9 @@ #ifndef CDATASINKPROXY_H #define CDATASINKPROXY_H + +class CDisplaySinkProxy; + NONSHARABLE_CLASS( CPVDisplaySinkNodeProxy ) : public CBase, public MVTVideoSource { @@ -26,6 +29,11 @@ * Constructor . */ CPVDisplaySinkNodeProxy(); + + /** + * destructor . + */ + ~CPVDisplaySinkNodeProxy();//add for memory leak /** * Set new supplier. * @param aSupplier @@ -48,6 +56,47 @@ MPVDataSourceBase* iSupplier; }; +/** +* CVSVideoOutput +* +* Base componentstate definition. +* +* @since S60 v5.0 +*/ + +NONSHARABLE_CLASS( CVSVideoOutput ) : public CBase, public MPVVideoOutput + { +public: // Constructors and destructor + + /** + * C++ default constructor. + * @param "aSink" Pointer to CDisplaySink object. + */ + CVSVideoOutput( CDisplaySinkProxy* aSink ); + +public: // Functions from base classes + + /** + * From MPVVideoOutput. See MPVVideoOutput for description. + */ + virtual void SetFormatL( const TDesC8& aFormat ); + + /** + * From MPVVideoOutput. See MPVVideoOutput for description. + */ + virtual void SetVideoFrameSizeL( const TSize& aSize ); + + /** + * From MPVVideoOutput. See MPVVideoOutput for description. + */ + virtual void GetVideoFrameSizeL( TSize& aSize ) const; + +private: // Data + + // Sink object to which calls are forwarded + CDisplaySinkProxy* iSink; +}; + NONSHARABLE_CLASS( CDisplaySinkProxy ) : public CBase, public MPVDataSink, public MPVVideoOutput @@ -239,6 +288,11 @@ CDisplaySinkProxy(MVTVideoSink* aDisplaySink); /** + * destructor. + */ + ~CDisplaySinkProxy(); + + /** * ConstructL */ void ConstructL(); @@ -255,6 +309,8 @@ private: MVTVideoSink* iDisplaySink; CPVDisplaySinkNodeProxy* iDSNodeProxy; + // Extension interface for sink + CVSVideoOutput* iVideoOutputInterface; };