class CMMFFormatEncode : public CBase |
Base class from which sink formats can be derived from.
The intended usage is for controllers that can support more than one type of format. The class is an MDataSink as far as the data path is concerned but is an MDataSource to the clip that is the sink of the actual data. All CMMFFormatEncode plugin DLLs must include interface_uid = KMmfUidPluginInterfaceFormatEncode in their .rss files.
Protected Member Functions | |
---|---|
CMMFFormatEncode() | |
void | ConstructSinkL(const TDesC8 &) |
void | ConstructSourceL(const TDesC8 &) |
CMMFFormatEncode * | CreateFormatL(TUid, MDataSink *) |
Protected Attributes | |
---|---|
MDataSink * | iClip |
MDataSource * | iDataPath |
Private Attributes | |
---|---|
TUid | iDtor_ID_Key |
TUid | iImplementationUid |
void | AddMetaDataEntryL | ( | const CMMFMetaDataEntry & | aNewEntry | ) | [inline, virtual] |
Adds the specified meta data entry to the clip.
The default implementation leaves with KErrNotSupported.
const CMMFMetaDataEntry & aNewEntry | The meta data entry to add. |
TUint | BitRate | ( | ) | [inline, virtual] |
Returns the bit rate.
The default returns 0.
The bit rate.
void | BufferEmptiedL | ( | CMMFBuffer * | aBuffer | ) | [inline, virtual] |
Called by the clip when it has added the data to the file.
CMMFBuffer * aBuffer | The emptied buffer. |
void | BufferFilledL | ( | CMMFBuffer * | aBuffer | ) | [inline, virtual] |
Called by the CMMFDataPath's MDataSource when it has filled the buffer.
CMMFBuffer * aBuffer | The buffer that has been filled. |
TInt64 | BytesPerSecond | ( | ) | [inline, virtual] |
Returns the bytes per second.
The default returns 0.
The bytes per second.
TBool | CanCreateSinkBuffer | ( | ) | [inline, virtual] |
Tests whether a sink buffer can be created.
Format would normally pass its own buffer onto the CMMFClip, so this may not be required. The default returns ETrue.
A boolean indicating if the buffer can be created. ETrue if buffer can be created, EFalse otherwise.
TBool | CanCreateSourceBuffer | ( | ) | [inline, virtual] |
Tests whether a source buffer can be created.
The default implementation returns EFalse.
A boolean indicating if the buffer can be created. ETrue if buffer can be created, EFalse otherwise.
void | ConstructSinkL | ( | const TDesC8 & | ) | [protected, inline, virtual] |
const TDesC8 & |
void | ConstructSourceL | ( | const TDesC8 & | ) | [protected, inline, virtual] |
const TDesC8 & |
CMMFFormatEncode * | CreateFormatL | ( | TUid | aImplementationUid, |
MDataSink * | aSink | |||
) | [protected, static] |
CMMFBuffer * | CreateSinkBufferL | ( | TMediaId | aMediaId, |
TBool & | aReference | |||
) | [pure virtual] |
Creates a sink buffer for the specified media ID.
This is a virtual function that each derived class must implement.
A pointer to the CMMFBuffer sink buffer.
CMMFBuffer * | CreateSourceBufferL | ( | TMediaId | aMediaId, |
TBool & | aReference | |||
) | [inline, virtual] |
Creates a source buffer. The default returns NULL.
Source buffer.
void | CropL | ( | TTimeIntervalMicroSeconds | aPosition, |
TBool | aToEnd = ETrue | |||
) | [inline, virtual] |
This function is used to truncate the sink ie. a CMMFClip,
If aToEnd = ETrue the sink is cropped from the aPosition to the end of the clip. If aToEnd = EFalse then the sink is cropped from the start of the clip to aPosition.
This function would be called by the CMMFController. The default implementation leaves with KErrNotSupported.
TTimeIntervalMicroSeconds aPosition | The position within the clip. |
TBool aToEnd = ETrue | Flag to determine which part of the clip to delete. |
TTimeIntervalMicroSeconds | Duration | ( | TMediaId | aMediaType | ) | const [pure virtual] |
Returns the duration of the sink clip for the specified media type.
This is a virtual function that each derived class must implement.
The duration of the sink clip.
TMediaId aMediaType | The media type ID. |
void | EmptyBufferL | ( | CMMFBuffer * | aBuffer, |
MDataSource * | aSupplier, | |||
TMediaId | aMediaId | |||
) | [pure virtual] |
Adds a buffer to a clip.
Called by CMMFDataPath. (from MDataSink - CMMFFormatEncode is a MDataSink to a CMMFDataPath)
This is a virtual function that each derived class must implement.
CMMFBuffer * aBuffer | The buffer to which the clip is added. |
MDataSource * aSupplier | The data source. |
TMediaId aMediaId | The media type ID. |
void | FillBufferL | ( | CMMFBuffer * | aBuffer, |
MDataSink * | aConsumer, | |||
TMediaId | aMediaId | |||
) | [inline, virtual] |
Request from CMMFDataPath to fill the specified buffer.
CMMFBuffer * aBuffer | The buffer to fill. |
MDataSink * aConsumer | The consumer. |
TMediaId aMediaId | The media ID. |
TTimeIntervalMicroSeconds | FrameTimeInterval | ( | TMediaId | aMediaType | ) | const [pure virtual] |
Returns the time interval for one frame for the specified media type.
This is a virtual function that each derived class must implement.
The frame time interval in microseconds.
TMediaId aMediaType | The media type ID. |
TUint | GetDefaultSampleRate | ( | ) | [inline, virtual] |
Returns the default sample rate.
The default returns 0.
The default sample rate.
void | GetNumberOfMetaDataEntriesL | ( | TInt & | aNumberOfEntries | ) | [inline, virtual] |
Gets the number of meta data entries.
The encode format is capable of reading and writing meta data to the clip.
The default implementation leaves with KErrNotSupported.
TInt & aNumberOfEntries | On return, contains the number of meta data entries. |
void | GetSupportedBitRatesL | ( | RArray< TUint > & | aBitRates | ) | [inline, virtual] |
Gets the supported bit rates.
The default implementation leaves with KErrNotSupported.
void | GetSupportedDataTypesL | ( | TMediaId | aMediaId, |
RArray< TFourCC > & | aDataTypes | |||
) | [inline, virtual] |
Gets the supported data types for the given media type ID.
The default implementation leaves with KErrNotSupported.
void | GetSupportedNumChannelsL | ( | RArray< TUint > & | aNumChannels | ) | [inline, virtual] |
Gets the supported number of channels.
The default implementation leaves with KErrNotSupported.
void | GetSupportedSampleRatesL | ( | RArray< TUint > & | aSampleRates | ) | [inline, virtual] |
Gets the supported sample rates.
The default implementation leaves with KErrNotSupported.
TUid | ImplementationUid | ( | ) | const [inline] |
Gets the ECom plugin UID of this format.
The plugin UID.
TInt | MaximumClipSize | ( | ) | [inline, virtual] |
Returns the maximum clip size.
The default returns 0.
The maximum clip size.
CMMFMetaDataEntry * | MetaDataEntryL | ( | TInt | aIndex | ) | [inline, virtual] |
Returns the specified meta data entry.
The default implementation leaves with KErrNotSupported.
The meta data entry.
TInt aIndex | The zero based meta data entry index to retrieve. |
IMPORT_C CMMFFormatEncode * | NewL | ( | const TDesC & | aFileName, |
MDataSink * | aSink, | |||
const TDesC & | aPreferredSupplier | |||
) | [static] |
IMPORT_C CMMFFormatEncode * | NewL | ( | const TDesC8 & | aSourceHeader, |
MDataSink * | aSink, | |||
const TDesC & | aPreferredSupplier | |||
) | [static] |
IMPORT_C CMMFFormatEncode * | NewL | ( | MDataSink * | aSink, |
const TDesC & | aPreferredSupplier | |||
) | [static] |
TUint | NumChannels | ( | ) | [inline, virtual] |
Returns the number of channels.
The default implementation returns 0.
The number of channels.
TTimeIntervalMicroSeconds | PositionL | ( | ) | [inline, virtual] |
Supplies the current position.
Subsequent data reads will commence from this position.
The current position in microseconds.
TInt | RemoveMetaDataEntry | ( | TInt | aIndex | ) | [inline, virtual] |
Removes the specified meta data entry.
The default implementation returns KErrNotSupported.
An error code indicating if the function call was successful. KErrNone on success, otherwise another of the system-wide error codes.
TInt aIndex | The zero based meta data entry index to remove. |
void | ReplaceMetaDataEntryL | ( | TInt | aIndex, |
const CMMFMetaDataEntry & | aNewEntry | |||
) | [inline, virtual] |
Replaces the specified meta data entry with the entry supplied in aNewEntry.
The default implementation leaves with KErrNotSupported.
TInt aIndex | The zero based meta data entry index to replace. |
const CMMFMetaDataEntry & aNewEntry | The meta data entry to replace. |
TUint | SampleRate | ( | ) | [inline, virtual] |
Returns the sample rate.
The default implementation returns 0.
The sample rate.
TInt | SetBitRate | ( | TUint | aBitRate | ) | [inline, virtual] |
Sets the bit rate.
The default implementation returns KErrNotSupported.
An error code indicating if the function call was successful. KErrNone on success, otherwise another of the system-wide error codes.
TUint aBitRate | The bit rate. |
void | SetMaximumClipSizeL | ( | TInt | aBytes | ) | [inline, virtual] |
Sets the maximum clip size.
The default implementation leaves with KErrNotSupported.
TInt aBytes | The maximum clip size. |
TInt | SetNumChannels | ( | TUint | aChannels | ) | [inline, virtual] |
Sets the number of channels.
The default implementation returns KErrNotSupported.
An error code indicating if the function call was successful. KErrNone on success, otherwise another of the system-wide error codes.
TUint aChannels | The number of channels. |
void | SetPositionL | ( | const TTimeIntervalMicroSeconds & | aPosition | ) | [inline, virtual] |
Used to set the format's position.
Subsequent data reads should ignore the FrameNumber in the CMMFBuffer and use this setting to determine what data to provide.
The actual position the format sets itself may vary to this setting to ensure that it is aligned to the sample boundaries ensuring consistent data output.
If not supported, positional information should be extracted from the FrameNumber in CMMFBuffer
const TTimeIntervalMicroSeconds & aPosition | The position the format should use. |
TInt | SetSampleRate | ( | TUint | aSampleRate | ) | [inline, virtual] |
Sets the sample rate.
The default implementation returns KErrNotSupported.
An error code indicating if the function call was successful. KErrNone on success, otherwise another of the system-wide error codes.
TUint aSampleRate | The sample rate. |
TFourCC | SinkDataTypeCode | ( | TMediaId | aMediaId | ) | [pure virtual] |
Returns the sink data type code for the specified media type ID.
This would be the same as the source data type four CC although the clip is not going to need this info.
This is a virtual function that each derived class must implement.
The sink data type code.
TMediaId aMediaId | The media type ID. |
TFourCC | SourceDataTypeCode | ( | TMediaId | aMediaId | ) | [inline, virtual] |
Returns the source data type code for the specified media type ID.
This is a virtual function that each derived class must implement.
The source data type code.
TMediaId aMediaId | The media type id. |
MDataSource * | iDataPath | [protected] |
The Data path is the source for the encode format.