--- 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;
};