Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <mmfurl.h>
Link against: mmfstdsourceandsinkplugin.lib
This item is not part of the S60 5th Edition SDK

Class CMMFUrlSink

class CMMFUrlSink : public CBase, public MDataSink;

Description

Concrete implementation of a URL data sink.

This class is used only to pass information regarding the URL and IAP into the controller plugin. IT CANNOT BE USED TO WRITE DATA TO A URL. Each of the MDataSink APIs are implemented as either returning or leaving with KErrNotSupported as appropriate.

The configuration data for this class is an externalized CMMFUrlParams object.

Derivation

Members

Defined in CMMFUrlSink:

Inherited from CBase:

Inherited from MDataSink:


Construction and destruction


~CMMFUrlSink()

virtual ~CMMFUrlSink();

Description

[Top]


Member functions


Url()const

inline const TDesC& Url() const;

Description

Returns the URL string.

For example:

    http://www.symbian.com/clip/mpg

Return value

const TDesC16 &

The URL string.


UseIAPId()const

inline TBool UseIAPId() const;

Description

Indicates whether the IAP ID should be used.

Return value

TBool

A boolean indicating if the supplied IAP ID should be used. ETrue if the supplied ID should be used, EFalse if the default IAP ID should be used.


IAPId()const

inline TInt IAPId() const;

Description

Returns the Internet Access Point ID.

Return value

TInt

The IAP ID.


SinkDataTypeCode(TMediaId)

virtual TFourCC SinkDataTypeCode(TMediaId);

Description

Returns the data type as a fourCC code of the data sink.

This is a pure virtual function that each derrived class must implement.

Parameters

TMediaId

Return value

TFourCC

The fourCC code identifying the sink datatype for the specified aMediaId.


SetSinkDataTypeCode(TFourCC,TMediaId)

virtual TInt SetSinkDataTypeCode(TFourCC, TMediaId);

Description

Sets the data type as a fourCC code for the data sink.

This is a virtual function that each derived class can implement if the data sink supports the ability to have its data type set.

Parameters

TFourCC

TMediaId

Return value

TInt

KErrNone if successful, KErrNotSupported if the sink does not support having it's data type set, otherwise a system wide error code.


EmptyBufferL(CMMFBuffer *,MDataSource *,TMediaId)

virtual void EmptyBufferL(CMMFBuffer *aBuffer, MDataSource *aSupplier, TMediaId);

Description

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.

Parameters

CMMFBuffer *aBuffer

The full buffer that needs emptying of it's data.

MDataSource *aSupplier

The data source that supplied the data. The data sink needs this to make the BufferEmptiedL callback on aSupplier to indicate to the data source that the data sink has finished with the buffer.

TMediaId


BufferFilledL(CMMFBuffer *)

virtual void BufferFilledL(CMMFBuffer *aBuffer);

Description

Function called by a data source to pass back a 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.

Parameters

CMMFBuffer *aBuffer

The buffer that has been filled by a data source and is now available for processing.


CanCreateSinkBuffer()

Interface status: deprecated

virtual TBool CanCreateSinkBuffer();

Description

Function to indicate whether the data sink can create a buffer.

This is a pure virtual function that each derived class must implement.

Return value

TBool

A boolean indicating if the data sink can create a buffer. ETrue if it can otherwise EFalse.


CreateSinkBufferL(TMediaId,TBool &)

virtual CMMFBuffer* CreateSinkBufferL(TMediaId, TBool &aReference);

Description

Returns a buffer created by the data sink.

This is a pure virtual function that each derived class must implement.

Parameters

TMediaId

TBool &aReference

This must be written to by the method to indicate whether the created buffer is a 'reference' buffer. A 'reference' buffer is a buffer that is owned by the sink and should be used in preference to the source buffer provided the source buffer is also not a reference buffer.

Return value

CMMFBuffer *

The created buffer.


SinkThreadLogon(MAsyncEventHandler &)

virtual TInt SinkThreadLogon(MAsyncEventHandler &);

Description

Function 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.

Parameters

MAsyncEventHandler &

Return value

TInt

An error code indicating if the function call was successful. KErrNone on success, otherwise another of the system-wide error codes.


SinkThreadLogoff()

virtual void SinkThreadLogoff();

Description

Function 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.


NegotiateL(MDataSource &)

Interface status: deprecated

virtual void NegotiateL(MDataSource &);

Description

Allows the data sink to negotiate with a data source.

This method is required in cases where the settings of data sink are dependant on those of a data source. This is a virtual function that a derrived data sink can implement.

Parameters

MDataSource &


SinkPrimeL()

virtual void SinkPrimeL();

Description

Function 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.


SinkPlayL()

virtual void SinkPlayL();

Description

Function '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.


SinkPauseL()

virtual void SinkPauseL();

Description

Function 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'.


SinkStopL()

virtual void SinkStopL();

Description

Function 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'


SetSinkPrioritySettings(const TMMFPrioritySettings &)

Capability: MultimediaDD A process requesting or using this method that has MultimediaDD capability will always have precedence over a process that does not have MultimediaDD.

virtual void SetSinkPrioritySettings(const TMMFPrioritySettings &);

Description

Sets the sink priority settings.

This is a virtual function that a derrived data sink can implement if a priority mechanism is required to arbitrate between multiple clients trying to access the same resource.

Parameters

const TMMFPrioritySettings &


SinkCustomCommand(TMMFMessage &)

virtual void SinkCustomCommand(TMMFMessage &aMessage);

Description

Calls a sink specific custom command.

This is a virtual function that a derrived data sink can implement if it implements any custom commands.

Parameters

TMMFMessage &aMessage

The message specifying the custom command.


ConstructSinkL(const TDesC8 &)

private: virtual void ConstructSinkL(const TDesC8 &aInitData);

Description

Performs any sink construction dependant on the sink construction initialisation data aInitData.

This is a pure virtual function that a derrived data sink must implement

Parameters

const TDesC8 &aInitData

The sink specific initialisation data required for sink construction.