#include <pv_plugin_interfaces.h>
Inheritance diagram for MPVDataSinkBase:
Public Methods | |
MPVDataSinkBase (TUid aType) | |
virtual | ~MPVDataSinkBase () |
virtual void | EmptyBufferL (CMMFBuffer *aBuffer, MPVDataSourceBase *aSupplier, TMediaId)=0 |
virtual void | BufferFilledL (CMMFBuffer *aBuffer)=0 |
virtual TBool | CanCreateSinkBuffer ()=0 |
virtual CMMFBuffer * | CreateSinkBufferL (TMediaId, TBool &) |
virtual TInt | SinkThreadLogon (MAsyncEventHandler &) |
virtual void | SinkThreadLogoff () |
virtual TInt | SinkPrimeL () |
virtual TInt | SinkPlayL () |
virtual TInt | SinkPauseL () |
virtual TInt | SinkStopL () |
Base class for data sinks
|
|
|
|
|
Method called by a data source to pass back an filled buffer to the sink This is a pure virtual function that each derived class must implement. This method is used as the callback when the data sink actively requests a supplier ie a data source to fill a buffer by calling the data sources FillBufferL. When the data sink gets this callback it knows that the buffer has been filled and is ready to be emptied
|
|
Method to indicate whether the data sink can create a buffer. This is a pure virtual function that each derived class must implement.
|
|
Returns a buffer created by the data sink This is a pure virtual function that each derived class must implement.
|
|
Method called by a MDataSource to request the data sink to empty aBuffer of data. This is a pure virtual function that each derived class must implement. This method is used when a data sink is passively waiting for requests from a supplier ie a data source to empty a buffer. The data sink must call the BufferEmptiedL member on aSupplier when it has emptied the buffer of it's data - the data sink can either make this callback synchronously or asynchronously.
|
|
Method to 'pause' the data sink This is a virtual function that a derrived data sink can implement if any data sink specific action is required to 'pause' |
|
Method to 'play' the data sink This is a virtual function that a derrived data sink can implement if any data sink specific action is required prior to 'playing'ie the start of data transfer |
|
Method to 'prime' the data sink This is a virtual function that a derrived data sink can implement if any data sink specific 'priming' is required |
|
Method to 'stop' the data sink This is a virtual function that a derrived data sink can implement if any data sink specific action is required to 'stop' |
|
Method to 'logoff' the data sink from the same thread that sink consumes data in. This method may be required as the thread that the data sink is deleted in may not be the same thread that the data transfer took place in. Therefore any thread specific releasing of resources needs to be performed in the SinkThreadLogoff rather than in the destructor This is a virtual function that a derrived data sink can implement if any thread specific releasing of resources is required. |
|
Method to 'logon' the data sink to the same thread that sink will be consuming data in. This method may be required as the thread that the data sink was created in is not always the same thread that the data transfer will take place in. Therefore any thread specific initialisation needs to be performed in the SinkThreadLogon rather than in the creation of the data sink. This is a virtual function that a derrived data sink can implement if any thread specific initialisation is required and/or the data sink can create any asynchronous events.
|