multimediacommscontroller/mmccanysourcesink/src/mccanysource.cpp
branchrcs
changeset 49 64c62431ac08
parent 0 1bce908db942
equal deleted inserted replaced
44:fb024d5e35fa 49:64c62431ac08
    22 #include "mccanysource.h"
    22 #include "mccanysource.h"
    23 #include "mmccinterfacedef.h"
    23 #include "mmccinterfacedef.h"
    24 #include "mccanysourcesinklogs.h"
    24 #include "mccanysourcesinklogs.h"
    25 #include "mccinternalevents.h"
    25 #include "mccinternalevents.h"
    26 #include "mccinternaldef.h"
    26 #include "mccinternaldef.h"
       
    27 #include "mccdatareceiver.h"
    27 
    28 
    28 
    29 
    29 // ============================ MEMBER FUNCTIONS ===============================
    30 // ============================ MEMBER FUNCTIONS ===============================
    30 
    31 
    31 // -----------------------------------------------------------------------------
    32 // -----------------------------------------------------------------------------
    46 // -----------------------------------------------------------------------------
    47 // -----------------------------------------------------------------------------
    47 //
    48 //
    48 void CMccAnySource::ConstructSourceL( const TDesC8& /*aInitData*/ )
    49 void CMccAnySource::ConstructSourceL( const TDesC8& /*aInitData*/ )
    49     {    	
    50     {    	
    50     __ANYSOURCESINK_CONTROLL( "CMccAnySource::ConstructSourceL" )
    51     __ANYSOURCESINK_CONTROLL( "CMccAnySource::ConstructSourceL" )
       
    52     iDataReceiver = CMccDataReceiver::NewL( *this );
    51     }
    53     }
    52 	    
    54 	    
    53 // -----------------------------------------------------------------------------
    55 // -----------------------------------------------------------------------------
    54 // Constructor.
    56 // Constructor.
    55 // -----------------------------------------------------------------------------
    57 // -----------------------------------------------------------------------------
    63 // -----------------------------------------------------------------------------
    65 // -----------------------------------------------------------------------------
    64 //
    66 //
    65 CMccAnySource::~CMccAnySource()
    67 CMccAnySource::~CMccAnySource()
    66     {   
    68     {   
    67     __ANYSOURCESINK_CONTROLL( "CMccAnySource::~CMccAnySource" )
    69     __ANYSOURCESINK_CONTROLL( "CMccAnySource::~CMccAnySource" )
       
    70     
       
    71     iBufferToBeFilled = NULL;
       
    72     iConsumer = NULL;
       
    73     
       
    74     delete iDataReceiver;
    68     }
    75     }
    69 
    76 
    70 	
    77 	
    71 // -----------------------------------------------------------------------------
    78 // -----------------------------------------------------------------------------
    72 // CMccAnySource::SourcePrimeL()
    79 // CMccAnySource::SourcePrimeL()
   211 // -----------------------------------------------------------------------------
   218 // -----------------------------------------------------------------------------
   212 // CMccAnySource::FillBufferL()
   219 // CMccAnySource::FillBufferL()
   213 // -----------------------------------------------------------------------------
   220 // -----------------------------------------------------------------------------
   214 //
   221 //
   215 void CMccAnySource::FillBufferL( 
   222 void CMccAnySource::FillBufferL( 
   216 	CMMFBuffer* /*aBuffer*/,
   223 	CMMFBuffer* aBuffer,
   217     MDataSink* /*aConsumer*/,
   224     MDataSink* aConsumer,
   218     TMediaId /*aMediaId*/ )
   225     TMediaId /*aMediaId*/ )
   219 	{
   226 	{
   220 	__ANYSOURCESINK_CONTROLL( "CMccAnySource::FillBufferL" )
   227 	__ANYSOURCESINK_CONTROLL( "CMccAnySource::FillBufferL" )
   221 	User::Leave( KErrNotSupported );
   228 	iBufferToBeFilled = aBuffer;
       
   229 	iConsumer = aConsumer;
   222 	}	
   230 	}	
   223                   
   231                   
   224 // -----------------------------------------------------------------------------
   232 // -----------------------------------------------------------------------------
   225 // CMccAnySource::NegotiateSourceL()
   233 // CMccAnySource::NegotiateSourceL()
   226 // -----------------------------------------------------------------------------
   234 // -----------------------------------------------------------------------------
   257 		                         
   265 		                         
   258 		iAsyncEventHandler->SendEventToClient( internalEvent );
   266 		iAsyncEventHandler->SendEventToClient( internalEvent );
   259 	    }
   267 	    }
   260 	}
   268 	}
   261 
   269 
       
   270 // -----------------------------------------------------------------------------
       
   271 // CMccAnySource::DataReceivedL
       
   272 // -----------------------------------------------------------------------------
       
   273 //	
       
   274 void CMccAnySource::DataReceivedL( const TDesC8& aData )
       
   275     {
       
   276     __ANYSOURCESINK_CONTROLL( "CMccAnySource::DataReceivedL, Entry" )
       
   277             
       
   278     if ( iBufferToBeFilled && iConsumer )
       
   279         {
       
   280         CMMFDataBuffer* buffer = static_cast<CMMFDataBuffer*>(iBufferToBeFilled);
       
   281 
       
   282         if (buffer->Data().MaxLength() >= aData.Length())
       
   283             {            
       
   284             buffer->Data().Copy( aData );
       
   285             iConsumer->BufferFilledL( iBufferToBeFilled );
       
   286         	iBufferToBeFilled = 0;
       
   287         	iConsumer = 0;
       
   288       		}      		
       
   289         }
       
   290     }
       
   291 
   262 // End of file
   292 // End of file
   263 
   293