diff -r fb024d5e35fa -r 64c62431ac08 multimediacommscontroller/mmccanysourcesink/src/mccanysink.cpp --- a/multimediacommscontroller/mmccanysourcesink/src/mccanysink.cpp Mon Aug 23 17:50:26 2010 +0300 +++ b/multimediacommscontroller/mmccanysourcesink/src/mccanysink.cpp Mon Sep 06 17:32:13 2010 +0530 @@ -24,6 +24,7 @@ #include "mccanysourcesinklogs.h" #include "mccinternalevents.h" #include "mccinternaldef.h" +#include "mccdatasender.h" // CONSTANTS @@ -49,6 +50,7 @@ void CMccAnySink::ConstructSinkL( const TDesC8& /*aInitData*/ ) { __ANYSOURCESINK_CONTROLL( "CMccAnySink::ConstructSinkL" ) + iDataSender = CMccDataSender::NewL(); } // ----------------------------------------------------------------------------- @@ -66,6 +68,7 @@ CMccAnySink::~CMccAnySink() { __ANYSOURCESINK_CONTROLL( "CMccAnySink::~CMccAnySink" ) + delete iDataSender; } // ----------------------------------------------------------------------------- @@ -216,13 +219,18 @@ // CMccAnySink::EmptyBufferL // ----------------------------------------------------------------------------- // -void CMccAnySink::EmptyBufferL( CMMFBuffer* /*aBuffer*/, - MDataSource* /*aProvider*/, +void CMccAnySink::EmptyBufferL( CMMFBuffer* aBuffer, + MDataSource* aProvider, TMediaId /*aMediaId*/ ) { __ANYSOURCESINK_CONTROLL( "CMccAnySink::EmptyBufferL" ) + __ASSERT_ALWAYS( aBuffer, User::Leave( KErrArgument ) ); + __ASSERT_ALWAYS( aProvider, User::Leave( KErrArgument ) ); - User::Leave( KErrNotSupported ); + CMMFDataBuffer* dataBuffer = static_cast( aBuffer ); + const TDesC8& data = dataBuffer->Data(); + iDataSender->Send( data ); + aProvider->BufferEmptiedL( aBuffer ); } // -----------------------------------------------------------------------------