vtprotocols/inc/cdatasinkproxy.h
branchRCL_3
changeset 49 8e703580edd3
parent 40 7fb4a99d4b6b
equal deleted inserted replaced
40:7fb4a99d4b6b 49:8e703580edd3
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 #ifndef CDATASINKPROXY_H
    19 #ifndef CDATASINKPROXY_H
    20 #define CDATASINKPROXY_H
    20 #define CDATASINKPROXY_H
    21 
       
    22 class CDisplaySinkProxy;
       
    23 
       
    24 NONSHARABLE_CLASS( CPVDisplaySinkNodeProxy ) : public CBase,
    21 NONSHARABLE_CLASS( CPVDisplaySinkNodeProxy ) : public CBase,
    25                                                public MVTVideoSource
    22                                                public MVTVideoSource
    26     {
    23     {
    27     public: //New
    24     public: //New
    28         /**
    25         /**
    29          * Constructor .
    26          * Constructor .
    30          */
    27          */
    31         CPVDisplaySinkNodeProxy();
    28         CPVDisplaySinkNodeProxy();
    32         
       
    33         /**
       
    34          * destructor .
       
    35          */
       
    36         ~CPVDisplaySinkNodeProxy();//add for memory leak
       
    37         /**
    29         /**
    38          * Set new supplier.
    30          * Set new supplier.
    39          * @param aSupplier
    31          * @param aSupplier
    40          */
    32          */
    41         void SetSupplier(MPVDataSourceBase* aSupplier);
    33         void SetSupplier(MPVDataSourceBase* aSupplier);
    53          */
    45          */
    54         virtual void BufferEmptiedL(CMMFBuffer* aBuffer);
    46         virtual void BufferEmptiedL(CMMFBuffer* aBuffer);
    55     private:
    47     private:
    56         MPVDataSourceBase* iSupplier;
    48         MPVDataSourceBase* iSupplier;
    57     };
    49     };
    58 
       
    59 /**
       
    60 *  CVSVideoOutput
       
    61 *
       
    62 *  Base componentstate definition.
       
    63 *
       
    64 *  @since S60 v5.0
       
    65 */
       
    66 
       
    67 NONSHARABLE_CLASS( CVSVideoOutput ) : public CBase, public MPVVideoOutput
       
    68     {
       
    69 public: // Constructors and destructor
       
    70 
       
    71     /**
       
    72     * C++ default constructor.
       
    73     * @param "aSink" Pointer to CDisplaySink object.
       
    74     */
       
    75     CVSVideoOutput( CDisplaySinkProxy* aSink );
       
    76 
       
    77 public: // Functions from base classes
       
    78 
       
    79     /**
       
    80     * From MPVVideoOutput. See MPVVideoOutput for description.
       
    81     */
       
    82     virtual void SetFormatL( const TDesC8& aFormat );
       
    83 
       
    84     /**
       
    85     * From MPVVideoOutput. See MPVVideoOutput for description.
       
    86     */
       
    87     virtual void SetVideoFrameSizeL( const TSize& aSize );
       
    88 
       
    89     /**
       
    90      * From MPVVideoOutput. See MPVVideoOutput for description.
       
    91       */
       
    92     virtual void GetVideoFrameSizeL( TSize& aSize ) const;
       
    93 
       
    94 private:    // Data
       
    95 
       
    96     // Sink object to which calls are forwarded
       
    97     CDisplaySinkProxy* iSink;
       
    98 };
       
    99 
    50 
   100 NONSHARABLE_CLASS( CDisplaySinkProxy ) : public CBase,
    51 NONSHARABLE_CLASS( CDisplaySinkProxy ) : public CBase,
   101                                          public MPVDataSink,
    52                                          public MPVDataSink,
   102                                          public MPVVideoOutput
    53                                          public MPVVideoOutput
   103     {
    54     {
   286          * Constructor.
   237          * Constructor.
   287          */
   238          */
   288         CDisplaySinkProxy(MVTVideoSink* aDisplaySink);
   239         CDisplaySinkProxy(MVTVideoSink* aDisplaySink);
   289         
   240         
   290         /**
   241         /**
   291          * destructor.
       
   292          */
       
   293         ~CDisplaySinkProxy();
       
   294         
       
   295         /**
       
   296          * ConstructL
   242          * ConstructL
   297          */
   243          */
   298         void ConstructL();
   244         void ConstructL();
   299 
   245 
   300         /**
   246         /**
   307          */
   253          */
   308         MVTVideoSink* DisplaySink() { return iDisplaySink; }
   254         MVTVideoSink* DisplaySink() { return iDisplaySink; }
   309     private:
   255     private:
   310         MVTVideoSink* iDisplaySink;
   256         MVTVideoSink* iDisplaySink;
   311         CPVDisplaySinkNodeProxy* iDSNodeProxy;
   257         CPVDisplaySinkNodeProxy* iDSNodeProxy;
   312         // Extension interface for sink
       
   313         CVSVideoOutput* iVideoOutputInterface;
       
   314         
   258         
   315     };
   259     };
   316 
   260 
   317 NONSHARABLE_CLASS( CAudioSinkProxy ) : public CBase,
   261 NONSHARABLE_CLASS( CAudioSinkProxy ) : public CBase,
   318                                        public MVTAudioSink
   262                                        public MVTAudioSink