class CMccInterface : public CBase |
MCC subsystem client interface. Class is used for setting up and controlling multimedia streams. Details of resources needed by the cleint are unknown, hence specified in details in every session.
MCC interface is based on four components: Session, link, stream and endpoint (sink or source). In order to create multimedia streams, client need to construct it by using these four components.
mmccinterface.lib
IMPORT_C TInt | AddBundle | ( | TUint32 | aSessionId, |
TMccStreamBundle & | aBundle, | |||
TUint32 & | aBundleId | |||
) |
Get the reference count of given sink or source.
TUint32 aSessionId | session where stream belongs to |
TMccStreamBundle & aBundle | new bundle to be added in the session. |
TUint32 & aBundleId | identifier of the added bundle on return. |
IMPORT_C TInt | AddDataSink | ( | const TUid | aSinkType, |
const TDesC8 & | aParam, | |||
TUint32 & | aEndpointId | |||
) |
Adds new sink to the session. User must later call CreateStream to connect this sink to some stream.
IMPORT_C TInt | AddDataSource | ( | const TUid | aSourceType, |
const TDesC8 & | aParam, | |||
TUint32 & | aEndpointId | |||
) |
Adds new source to the session. User must later call CreateStream to connect this source to some stream.
TInt | AudioRouting | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 & | aRoutingDestination | |||
) | [private] |
TInt | Balance | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TInt & | aBalance, | |||
TMccDevice | aStreamType | |||
) | [private] |
TUint32 aSessionId | |
TUint32 aLinkId | |
TUint32 aStreamId | |
TInt & aBalance | |
TMccDevice aStreamType |
IMPORT_C TInt | CancelMediaQualityRequest | ( | const TMccMediaQualityConfig & | aConfig | ) |
const TMccMediaQualityConfig & aConfig | Configuration to find a outstanding media quality request |
IMPORT_C TInt | CancelTranscodeFile | ( | TUint32 | aSessionId | ) |
Cancels transcoding of media file.
TUint32 aSessionId | session identifier for transcoding |
IMPORT_C TInt | CloseLink | ( | TUint32 | aSessionId, |
TUint32 | aLinkId | |||
) |
Closes MCC link. All streams of the link are also closed.
IMPORT_C TInt | CloseSession | ( | TUint32 | aSessionId | ) |
Closes MCC session. All links and streams of the session are also closed.
TUint32 aSessionId | session ID |
IMPORT_C CMccCodecInformation * | CodecL | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId | |||
) |
Gets current codec used in a given stream.
void | ConstructL | ( | MMccCtrlObserver & | aObserver | ) | [private] |
By default Symbian 2nd phase constructor is private.
MMccCtrlObserver & aObserver |
IMPORT_C TInt | CreateLink | ( | TUint32 | aSessionId, |
TInt | aLinkType, | |||
TUint32 & | aLinkId, | |||
TMccNetSettings & | aNetSettings | |||
) |
Creates a new MCC link with a remote participant. Link creates new RTP session with given network settings.
TUint32 aSessionId | session ID |
TInt aLinkType | Defines is stream Up- or Downlink |
TUint32 & aLinkId | ID of new link |
TMccNetSettings & aNetSettings | network settings for the link |
IMPORT_C TInt | CreateSession | ( | TUint32 & | aSessionId | ) |
Creates a new MCC session. The session is needed to create links and streams into MCC. A single session may have any number of links.
TUint32 & aSessionId |
IMPORT_C TInt | CreateStream | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 & | aStreamId, | |||
TInt | aStreamType, | |||
CMccCodecInformation & | aCodecInformation | |||
) |
Creates a stream into a MCC link. Constructs the datapath for stream, but no media resources reserved yet.
TUint32 aSessionId | session where stream is created to |
TUint32 aLinkId | link ID where stream is created to |
TUint32 & aStreamId | Stream ID for the stream created. |
TInt aStreamType | type of the stream |
CMccCodecInformation & aCodecInformation | Codec information for the stream. |
IMPORT_C TInt | DeleteStream | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId | |||
) |
Deletes media stream in a given session.
TInt | EnableViewFinder | ( | const TDesC8 & | aParam | ) | [private] |
const TDesC8 & aParam |
TBool | EndpointInfoMatch | ( | const TMccEndpointInfo & | aInfo1, |
const TMccEndpointInfo & | aInfo2 | |||
) | [private, static] |
const TMccEndpointInfo & aInfo1 | |
const TMccEndpointInfo & aInfo2 |
TMMFMessageDestination | FindEndpointInfo | ( | TUint32 | aEndpointId, |
TInt & | aError | |||
) | [private] |
IMPORT_C TInt | GetBundles | ( | TUint32 | aSessionId, |
RArray< TMccStreamBundle > & | aBundles | |||
) |
Get the reference count of given sink or source.
TUint32 aSessionId | session where stream belongs to |
RArray< TMccStreamBundle > & aBundles | an array of bundles in given session. |
TCameraInfo | GetCameraInfoL | ( | TInt | aDeviceIndex | ) | [private] |
TInt aDeviceIndex |
IMPORT_C TInt | GetCapabilities | ( | RPointerArray< CMccCodecInformation > & | aCapabilities | ) | const |
Returns array of supported codecs in the system with their default values. Note that data that the aCapabilities contains before calling this function will be lost during the excecution of this function. Note also that the client is responsible for the destruction of the objects contained in the parameter array.
RPointerArray< CMccCodecInformation > & aCapabilities | Codec capabilities |
IMPORT_C TInt | GetCapabilities | ( | const TUid | aType, |
TInt | aStreamType, | |||
const TDesC8 & | aParam, | |||
RPointerArray< CMccCodecInformation > & | aCapabilities | |||
) |
Returns array of supported codecs of specific sink or source. Note that data that the aCapabilities contains before calling this function will be lost during the excecution of this function. Note also that the client is responsible for the destruction of the objects contained in the parameter array.
const TUid aType | |
TInt aStreamType | type of the stream |
const TDesC8 & aParam | |
RPointerArray< CMccCodecInformation > & aCapabilities | Codec capabilities |
void | GetController | ( | RMMFController & | aController | ) |
RMMFController & aController | Controller. |
TInt | GetEndpointParameter | ( | TUint32 | aParam, |
TUint32 | aSessionId, | |||
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndPointId, | |||
TDes8 & | aVal | |||
) | [private] |
IMPORT_C TInt | GetParameter | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndpointId, | |||
TUint32 | aParam, | |||
TDes8 & | aVal | |||
) |
Gets sink or source parameter
TUint32 aSessionId | session where sink or source belongs to |
TUint32 aLinkId | link ID where sink or source belongs to |
TUint32 aStreamId | stream ID where sink or source belongs to |
TUint32 aEndpointId | endpoint ID identifying sink or source. |
TUint32 aParam | a parameter to get |
TDes8 & aVal | on return will contain parameter value in TPkgBuf structure |
IMPORT_C TInt | GetSSRC | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndpointId, | |||
TUint32 & | aSSRC | |||
) |
Get Synchronization source identifier.
TInt | GetSupportedBitrates | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
RArray< TUint > & | aBitrates | |||
) | [private] |
Gets supported bit rates from the codec of the specified stream
TInt | GetSupportedCodecs | ( | RArray< TFourCC > & | aCodecs | ) |
Get supported codecs by the system. Certain sinks and sources however may have limitations on which codecs they support, hence all these codecs may not allowed in all streams.
TInt | GetViewFinderSettings | ( | TUint32 | aParam, |
TUint32 | aEndPointId, | |||
TDes8 & | aVal | |||
) | [private] |
IMPORT_C TBool | LinkExists | ( | TUint32 | aSessionId, |
TUint32 & | aLinkId, | |||
const TMccNetSettings & | aNetSettings | |||
) |
Checks if link already exists based on local port
TUint32 aSessionId | session ID |
TUint32 & aLinkId | ID of the link |
const TMccNetSettings & aNetSettings | network settings for the link |
TInt | MaxGain | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TInt & | aMaxGain | |||
) | [private] |
TInt | MaxVolume | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TInt & | aMaxVolume | |||
) | [private] |
IMPORT_C TInt | MediaQualityRequest | ( | const TMccMediaQualityConfig & | aConfig | ) |
const TMccMediaQualityConfig & aConfig | Media quality request configuration |
IMPORT_C CMccInterface * | NewL | ( | MMccCtrlObserver & | aObserver | ) | [static] |
Two-phased constructor.
MMccCtrlObserver & aObserver | A callback object to receive and handle event notifications from MCC subsystem. |
void | OpenControllerL | ( | const TUid & | aControllerUid | ) | [private] |
Open controller.
const TUid & aControllerUid | Controller uid to open. |
IMPORT_C TInt | PauseStream | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndpointId = 0, | |||
TBool | aEnableRTCP = ETrue | |||
) |
Pauses media stream in a given session. No RTP packets are sent/received anymore. However, RTCP packets may still be sent and received.
TUint32 aSessionId | session where stream belongs to |
TUint32 aLinkId | link ID |
TUint32 aStreamId | ID identifying stream to be paused |
TUint32 aEndpointId = 0 | ID identifying endpoint of the stream to be paused. If value 0, both endpoints paused. |
TBool aEnableRTCP = ETrue | ETrue, if RTCP sent while paused. |
IMPORT_C TInt | PrepareStream | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndpointId = 0 | |||
) |
Prepares a stream so that it is ready to be started. Media resources are reserved and RTP stream is created.
IMPORT_C TInt | ReferenceCount | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndpointId, | |||
TUint & | aCount | |||
) |
Get the reference count of given sink or source.
IMPORT_C TInt | RemoveBundle | ( | TUint32 | aSessionId, |
TUint32 | aBundleId | |||
) |
Get the reference count of given sink or source.
IMPORT_C TInt | RemoveDataSink | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndpointId | |||
) |
Removes sink from MCC.
IMPORT_C TInt | RemoveDataSource | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndpointId | |||
) |
Removes source from MCC.
TInt | RemoveEndpointInfo | ( | TUint32 | aEndpointId | ) | [private] |
TUint32 aEndpointId |
IMPORT_C TInt | ResumeStream | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndpointId = 0, | |||
TBool | aEnableRTCP = ETrue | |||
) |
Resumes paused media stream in a given session.
TUint32 aSessionId | session where stream belongs to |
TUint32 aLinkId | link ID |
TUint32 aStreamId | Stream ID identifying stream to be resumed |
TUint32 aEndpointId = 0 | ID identifying endpoint of the stream to be resumed. If value 0, both endpoints resumed. |
TBool aEnableRTCP = ETrue | ETrue, if RTCP sent while playing. |
IMPORT_C TInt | Reuse | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndpointId | |||
) |
Reuses sink or source of the stream. Reused sink or source may be simultaneously shared by two or more stream. It is also possible,that only one stream can use it at a time. User must later call CreateStream to connect this sink or source to some stream.
IMPORT_C void | SendMediaSignalL | ( | const TMccEvent & | aEvent | ) |
Sends media signal (e.g. DTMF,RTCP) to uplink if possible.
const TMccEvent & aEvent | Event to be sent |
TInt | SendRTCPAnyData | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
const TDesC8 & | aData | |||
) | [private] |
TInt | SendRTCPReceiverReport | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId | |||
) | [private] |
TInt | SendRTCPSenderReport | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId | |||
) | [private] |
TInt | SetAudioRouting | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aRoutingDestination | |||
) | [private] |
TInt | SetBalance | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TInt | aBalance, | |||
TMccDevice | aStreamType | |||
) | [private] |
TUint32 aSessionId | |
TUint32 aLinkId | |
TUint32 aStreamId | |
TInt aBalance | |
TMccDevice aStreamType |
IMPORT_C TInt | SetCodec | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
CMccCodecInformation & | aCodecInformation | |||
) |
Sets codec to be used in a given stream.
TUint32 aSessionId | session ID |
TUint32 aLinkId | Link ID |
TUint32 aStreamId | Stream ID |
CMccCodecInformation & aCodecInformation |
TInt | SetEndpointParameter | ( | TUint32 | aParam, |
TUint32 | aSessionId, | |||
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndPointId, | |||
const TDesC8 & | aVal | |||
) | [private] |
IMPORT_C TInt | SetParameter | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndpointId, | |||
TUint32 | aParam, | |||
const TDesC8 & | aVal | |||
) |
Sets sink or source parameter
TUint32 aSessionId | session where sink or source belongs to |
TUint32 aLinkId | link ID where sink or source belongs to |
TUint32 aStreamId | stream ID where sink or source belongs to |
TUint32 aEndpointId | endpoint ID identifying sink or source. |
TUint32 aParam | a parameter to get |
const TDesC8 & aVal | on return will contain parameter value in TPkgBuf structure |
IMPORT_C TInt | SetRemoteAddress | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
const TInetAddr & | aRemoteAddr, | |||
TUint | aRemoteRtcpPort = 0 | |||
) |
Set remote IP address and port number for a given session.
IMPORT_C TInt | StartInactivityTimer | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aTimeoutTime, | |||
TUint32 | aEndpointId = 0 | |||
) |
Starts inactivity timer for a stream in a given session. If RTP data is not received in given tive, inactivy event is sent to client. In case of timeout, inactivity timer is stopped. Client may restart the timer is needed.
IMPORT_C TInt | StartStream | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndpointId = 0, | |||
TBool | aPaused = EFalse, | |||
TBool | aEnableRTCP = ETrue | |||
) |
Starts to send/receive media stream in a given session.
TUint32 aSessionId | session where stream belongs to |
TUint32 aLinkId | link ID |
TUint32 aStreamId | ID identifying stream to be started |
TUint32 aEndpointId = 0 | ID identifying endpoint of the stream to be started. If value 0, both endpoints started. |
TBool aPaused = EFalse | ETrue, if stream paused after start |
TBool aEnableRTCP = ETrue | ETrue, if RTCP sent. |
IMPORT_C TInt | StopInactivityTimer | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndpointId = 0 | |||
) |
Stops inactivity timer for a stream in a given session.
IMPORT_C TInt | StopStream | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndpointId = 0 | |||
) |
Stops sending/receiving media stream in a given session.
TInt | StoreEndpointInfo | ( | TUint32 | aEndpointId, |
const TMMFMessageDestination & | aHandleInfo | |||
) | [private] |
TUint32 aEndpointId | |
const TMMFMessageDestination & aHandleInfo |
IMPORT_C TBool | StreamsExists | ( | TUint32 | aSessionId, |
TUint32 | aLinkId | |||
) |
Checks if link contains streams
IMPORT_C TInt | TranscodeFile | ( | const TDesC8 & | aSourceFile, |
const TDesC8 & | aDestFile, | |||
TUint32 | aQuality, | |||
TUint32 & | aSessionId, | |||
const CMccCodecInformation * | aVideoCodec = 0, | |||
const CMccCodecInformation * | aAudioCodec = 0 | |||
) |
Transcodes media file in non-realtime. Progress of transcoding can be monitored through MMccCtrlObserver::MccEventReceived.
const TDesC8 & aSourceFile | source file for transcoding |
const TDesC8 & aDestFile | destination file for transcoding |
TUint32 aQuality | requested quality for transcoding |
TUint32 & aSessionId | session identifier for transcoding |
const CMccCodecInformation * aVideoCodec = 0 | requested video parameters for transcoding, overrides aQuality parameter. Ownership is not transferred. |
const CMccCodecInformation * aAudioCodec = 0 | requested audio parameters for transcoding, overrides aQuality parameter. Ownership is not transferred. |
IMPORT_C TInt | UpdateDataSink | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndpointId, | |||
const TDesC8 & | aParam | |||
) |
Updates sink of the stream.
IMPORT_C TInt | UpdateDataSource | ( | TUint32 | aSessionId, |
TUint32 | aLinkId, | |||
TUint32 | aStreamId, | |||
TUint32 | aEndpointId, | |||
const TDesC8 & | aParam | |||
) |
Updates source of the stream.
RMMFAudioPlayDeviceCustomCommands | iAudioPlayDeviceCustomCommands | [private] |
RMMFAudioRecordDeviceCustomCommands | iAudioRecordDeviceCustomCommands | [private] |
RPointerArray< CMccCodecInformation > | iCodecInformation | [private] |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.