Home · All Classes · All Namespaces · Modules · Functions · Files |
#include <TelepathyQt/MediaStreamHandler>
Inherits Tp::AbstractInterface.
Public Slots | |
QDBusPendingReply | CodecChoice (uint codecID, int timeout=-1) |
QDBusPendingReply | Error (uint errorCode, const QString &message, int timeout=-1) |
QDBusPendingReply | NativeCandidatesPrepared (int timeout=-1) |
QDBusPendingReply | NewActiveCandidatePair (const QString &nativeCandidateID, const QString &remoteCandidateID, int timeout=-1) |
QDBusPendingReply | NewActiveTransportPair (const QString &nativeCandidateID, const Tp::MediaStreamHandlerTransport &nativeTransport, const QString &remoteCandidateID, const Tp::MediaStreamHandlerTransport &remoteTransport, int timeout=-1) |
QDBusPendingReply | NewNativeCandidate (const QString &candidateID, const Tp::MediaStreamHandlerTransportList &transports, int timeout=-1) |
QDBusPendingReply | Ready (const Tp::MediaStreamHandlerCodecList &codecs, int timeout=-1) |
QDBusPendingReply | SetLocalCodecs (const Tp::MediaStreamHandlerCodecList &codecs, int timeout=-1) |
QDBusPendingReply | StreamState (uint state, int timeout=-1) |
QDBusPendingReply | SupportedCodecs (const Tp::MediaStreamHandlerCodecList &codecs, int timeout=-1) |
QDBusPendingReply | CodecsUpdated (const Tp::MediaStreamHandlerCodecList &codecs, int timeout=-1) |
QDBusPendingReply | HoldState (bool held, int timeout=-1) |
QDBusPendingReply | UnholdFailure (int timeout=-1) |
QDBusPendingReply | SupportedFeedbackMessages (const Tp::RTCPFeedbackMessageMap &messages, int timeout=-1) |
QDBusPendingReply | SupportedHeaderExtensions (const Tp::RTPHeaderExtensionsList &headerExtensions, int timeout=-1) |
Signals | |
void | AddRemoteCandidate (const QString &candidateID, const Tp::MediaStreamHandlerTransportList &transports) |
void | Close () |
void | RemoveRemoteCandidate (const QString &candidateID) |
void | SetActiveCandidatePair (const QString &nativeCandidateID, const QString &remoteCandidateID) |
void | SetRemoteCandidateList (const Tp::MediaStreamHandlerCandidateList &remoteCandidates) |
void | SetRemoteCodecs (const Tp::MediaStreamHandlerCodecList &codecs) |
void | SetStreamPlaying (bool playing) |
void | SetStreamSending (bool sending) |
void | StartTelephonyEvent (uchar event) |
void | StartNamedTelephonyEvent (uchar event, uint codecID) |
void | StartSoundTelephonyEvent (uchar event) |
void | StopTelephonyEvent () |
void | SetStreamHeld (bool held) |
void | SetRemoteFeedbackMessages (const Tp::RTCPFeedbackMessageMap &messages) |
void | SetRemoteHeaderExtensions (const Tp::RTPHeaderExtensionsList &headerExtensions) |
Signals inherited from Tp::AbstractInterface | |
void | propertiesChanged (const QVariantMap &changedProperties, const QStringList &invalidatedProperties) |
Public Member Functions | |
MediaStreamHandlerInterface (const QString &busName, const QString &objectPath, QObject *parent=0) | |
MediaStreamHandlerInterface (const QDBusConnection &connection, const QString &busName, const QString &objectPath, QObject *parent=0) | |
MediaStreamHandlerInterface (Tp::DBusProxy *proxy) | |
Tp::PendingVariant * | requestPropertySTUNServers () const |
Tp::PendingVariant * | requestPropertyCreatedLocally () const |
Tp::PendingVariant * | requestPropertyNATTraversal () const |
Tp::PendingVariant * | requestPropertyRelayInfo () const |
Tp::PendingVariantMap * | requestAllProperties () const |
Public Member Functions inherited from Tp::AbstractInterface | |
virtual | ~AbstractInterface () |
bool | isValid () const |
QString | invalidationReason () const |
QString | invalidationMessage () const |
void | setMonitorProperties (bool monitorProperties) |
bool | isMonitoringProperties () const |
Static Public Member Functions | |
static QLatin1String | staticInterfaceName () |
Protected Member Functions | |
virtual void | invalidate (Tp::DBusProxy *, const QString &, const QString &) |
Protected Member Functions inherited from Tp::AbstractInterface | |
AbstractInterface (DBusProxy *proxy, const QLatin1String &interface) | |
AbstractInterface (const QString &busName, const QString &path, const QLatin1String &interface, const QDBusConnection &connection, QObject *parent) | |
PendingVariant * | internalRequestProperty (const QString &name) const |
PendingOperation * | internalSetProperty (const QString &name, const QVariant &newValue) |
PendingVariantMap * | internalRequestAllProperties () const |
Additional Inherited Members | |
Protected Slots inherited from Tp::AbstractInterface |
Proxy class providing a 1:1 mapping of the D-Bus interface "org.freedesktop.Telepathy.Media.StreamHandler".
Tp::Client::MediaStreamHandlerInterface::MediaStreamHandlerInterface | ( | const QString & | busName, |
const QString & | objectPath, | ||
QObject * | parent = 0 |
||
) |
Creates a MediaStreamHandlerInterface associated with the given object on the session bus.
busName | Name of the service the object is on. |
objectPath | Path to the object on the service. |
parent | Passed to the parent class constructor. |
Tp::Client::MediaStreamHandlerInterface::MediaStreamHandlerInterface | ( | const QDBusConnection & | connection, |
const QString & | busName, | ||
const QString & | objectPath, | ||
QObject * | parent = 0 |
||
) |
Creates a MediaStreamHandlerInterface associated with the given object on the given bus.
connection | The bus via which the object can be reached. |
busName | Name of the service the object is on. |
objectPath | Path to the object on the service. |
parent | Passed to the parent class constructor. |
Tp::Client::MediaStreamHandlerInterface::MediaStreamHandlerInterface | ( | Tp::DBusProxy * | proxy | ) |
Creates a MediaStreamHandlerInterface associated with the same object as the given proxy.
proxy | The proxy to use. It will also be the QObject::parent() for this object. |
|
inlinestatic |
Returns the name of the interface "org.freedesktop.Telepathy.Media.StreamHandler", which this class represents.
|
inline |
Asynchronous getter for the remote object property STUNServers
of type Tp::SocketAddressIPList
.
The IP addresses of possible STUN servers to use for NAT traversal, as dotted-quad IPv4 address literals or RFC2373 IPv6 address literals. This property cannot change once the stream has been created, so there is no change notification. The IP addresses MUST NOT be given as DNS hostnames. High-quality connection managers already need an asynchronous DNS resolver, so they might as well resolve this name to an IP to make life easier for streaming implementations.
|
inline |
Asynchronous getter for the remote object property CreatedLocally
of type bool
.
True if we were the creator of this stream, false otherwise. This information is needed for some nat traversal mechanisms, such as ICE-UDP, where the creator gets the role of the controlling agent.
|
inline |
Asynchronous getter for the remote object property NATTraversal
of type QString
.
The transport (NAT traversal technique) to be used for this stream. Well-known values include:
This property cannot change once the stream has been created, so there is no change notification.
|
inline |
Asynchronous getter for the remote object property RelayInfo
of type Tp::StringVariantMapList
.
A list of mappings describing TURN or Google relay servers available for the client to use in its candidate gathering, as determined from the protocol. Map keys are:
ip
- stype
- sEither udp
for UDP (UDP MUST be assumed if this
key is omitted), tcp
for TCP, or
tls
.
The precise meaning of this key depends on the
NATTraversal property: if
NATTraversal is ice-udp
, tls
means
TLS over TCP as referenced by ICE draft 19, and if
NATTraversal is gtalk-p2p
, tls
means
a fake SSL session over TCP as implemented by libjingle.
port
- qusername
- spassword
- scomponent
- uAn equivalent of the gtalk-p2p-relay-token property on MediaSignalling channels is not included here. The connection manager should be responsible for making the necessary HTTP requests to turn the token into a username and password.
The type of relay server that this represents depends on the value of the NATTraversal property. If NATTraversal is ice-udp, this is a TURN server; if NATTraversal is gtalk-p2p, this is a Google relay server; otherwise, the meaning of RelayInfo is undefined.
If relaying is not possible for this stream, the list is empty.
This property cannot change once the stream has been created, so there is no change notification.
|
inline |
Request all of the DBus properties on the interface.
|
inlineslot |
Begins a call to the D-Bus method CodecChoice
on the remote object.
Inform the connection manager of codec used to receive data.
Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
timeout | The timeout in milliseconds. |
|
inlineslot |
Begins a call to the D-Bus method Error
on the remote object.
Inform the connection manager that an error occured in this stream. The connection manager should emit the StreamError signal for the stream on the relevant channel, and remove the stream from the session.
Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
errorCode | ID of error, from the MediaStreamError enumeration |
message | String describing the error |
timeout | The timeout in milliseconds. |
|
inlineslot |
Begins a call to the D-Bus method NativeCandidatesPrepared
on the remote object.
Informs the connection manager that all possible native candisates have been discovered for the moment.
Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
timeout | The timeout in milliseconds. |
|
inlineslot |
Begins a call to the D-Bus method NewActiveCandidatePair
on the remote object.
Informs the connection manager that a valid candidate pair has been discovered and streaming is in progress.
Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
timeout | The timeout in milliseconds. |
|
inlineslot |
Begins a call to the D-Bus method NewActiveTransportPair
on the remote object.
Informs the connection manager that a valid transport pair has been discovered and streaming is in progress. Component id MUST be the same for both transports and the pair is only valid for that component. The connection manager might need to send the details of the active transport pair (e.g. c and o parameters of SDP body need to contain address of selected native RTP transport as stipulated by RFC 5245). However, the candidate ID might not be enough to determine these info if the transport was found after NativeCandidatesPrepared has been called (e.g. peer reflexive ICE candidate). This method must be called before NewActiveCandidatePair. This way, connection managers supporting this method can safely ignore subsequent NewActiveCandidatePair call. Connection managers SHOULD NOT implement this method unless they need to inform the peer about selected transports. As a result, streaming implementations MUST NOT treat errors raised by this method as fatal. Usually, connection managers only need to do one answer/offer round-trip. However, some protocols give the possibility to to send an updated offer (e.g. ICE defines such mechanism to avoid some race conditions and to properly set the state of gateway devices).
Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
timeout | The timeout in milliseconds. |
|
inlineslot |
Begins a call to the D-Bus method NewNativeCandidate
on the remote object.
Inform this MediaStreamHandler that a new native transport candidate has been ascertained.
Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
candidateID | String identifier for this candidate |
transports |
Array of transports for this candidate, with fields:
|
timeout | The timeout in milliseconds. |
|
inlineslot |
Begins a call to the D-Bus method Ready
on the remote object.
Inform the connection manager that a client is ready to handle this StreamHandler. Also provide it with info about all supported codecs.
Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
codecs | Locally-supported codecs. |
timeout | The timeout in milliseconds. |
|
inlineslot |
Begins a call to the D-Bus method SetLocalCodecs
on the remote object.
Used to provide codecs after Ready(), so the media client can go ready for an incoming call and exchange candidates/codecs before knowing what local codecs are available.
This is useful for gatewaying calls between two connection managers. Given an incoming call, you need to call Ready() to get the remote codecs before you can use them as the "local" codecs to place the outgoing call, and hence receive the outgoing call's remote codecs to use as the incoming call's "local" codecs.
In this situation, you would pass an empty list of codecs to the incoming call's Ready method, then later call SetLocalCodecs on the incoming call in order to respond to the offer.
Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
codecs | Locally-supported codecs |
timeout | The timeout in milliseconds. |
|
inlineslot |
Begins a call to the D-Bus method StreamState
on the remote object.
Informs the connection manager of the stream's current state, as as specified in Channel.Type.StreamedMedia::ListStreams.
Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
timeout | The timeout in milliseconds. |
|
inlineslot |
Begins a call to the D-Bus method SupportedCodecs
on the remote object.
Inform the connection manager of the supported codecs for this session. This is called after the connection manager has emitted SetRemoteCodecs to notify what codecs are supported by the peer, and will thus be an intersection of all locally supported codecs (passed to Ready) and those supported by the peer.
Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
codecs | Locally supported codecs. |
timeout | The timeout in milliseconds. |
|
inlineslot |
Begins a call to the D-Bus method CodecsUpdated
on the remote object.
Inform the connection manager that the parameters of the supported codecs for this session have changed. The connection manager should send the new parameters to the remote contact. This is required for H.264 and Theora, for example.
Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
codecs | Locally supported codecs, which SHOULD be the same as were previously in effect, but possibly with different parameters. |
timeout | The timeout in milliseconds. |
|
inlineslot |
Begins a call to the D-Bus method HoldState
on the remote object.
Notify the connection manager that the stream's hold state has been changed successfully in response to SetStreamHeld.
Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
held | If true, the stream is now on hold. |
timeout | The timeout in milliseconds. |
|
inlineslot |
Begins a call to the D-Bus method UnholdFailure
on the remote object.
Notify the connection manager that an attempt to reacquire the necessary hardware or software resources to unhold the stream, in response to SetStreamHeld, has failed.
Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
timeout | The timeout in milliseconds. |
|
inlineslot |
Begins a call to the D-Bus method SupportedFeedbackMessages
on the remote object.
Inform the connection manager of the supported feedback messages for this session. This is called a before calling SupportedCodecs, Ready or CodecsUpdated to indicate the local, or negotiated feedback messages.
Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
messages | Locally supported feedback messages. |
timeout | The timeout in milliseconds. |
|
inlineslot |
Begins a call to the D-Bus method SupportedHeaderExtensions
on the remote object.
Inform the connection manager of the supported RTP header extensions for this session. This is called before calling SupportedCodecs, Ready or CodecsUpdated to indicate the local or negotiated RTP header extensions.
Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
headerExtensions | Locally supported RTP header extensions. |
timeout | The timeout in milliseconds. |
|
signal |
Represents the signal AddRemoteCandidate
on the remote object.
Signal emitted when the connection manager wishes to inform the client of a new remote candidate.
candidateID | String identifier for this candidate |
transports | Array of transports for this candidate with fields, as defined in NewNativeCandidate |
|
signal |
Represents the signal Close
on the remote object.
Signal emitted when the connection manager wishes the stream to be closed.
|
signal |
Represents the signal RemoveRemoteCandidate
on the remote object.
Signal emitted when the connection manager wishes to inform the client that the remote end has removed a previously usable candidate. It seemed like a good idea at the time, but wasn't.
candidateID | String identifier for remote candidate to drop |
|
signal |
Represents the signal SetActiveCandidatePair
on the remote object.
Emitted by the connection manager to inform the client that a valid candidate pair has been discovered by the remote end and streaming is in progress.
|
signal |
Represents the signal SetRemoteCandidateList
on the remote object.
Signal emitted when the connection manager wishes to inform the client of all the available remote candidates at once.
remoteCandidates | A list of candidate id and a list of transports as defined in NewNativeCandidate |
|
signal |
Represents the signal SetRemoteCodecs
on the remote object.
Signal emitted when the connection manager wishes to inform the client of the codecs supported by the remote end. If these codecs are compatible with the remote codecs, then the client must call SupportedCodecs, otherwise call Error.
codecs | Codecs supported by the remote peer. |
|
signal |
Represents the signal SetStreamPlaying
on the remote object.
If emitted with argument TRUE, this means that the connection manager wishes to set the stream playing; this means that the streaming implementation should expect to receive data. If emitted with argument FALSE this signal is basically meaningless and should be ignored. We're very sorry.
|
signal |
Represents the signal SetStreamSending
on the remote object.
Signal emitted when the connection manager wishes to set whether or not the stream sends to the remote end.
|
signal |
Represents the signal StartTelephonyEvent
on the remote object.
Request that a telephony event (as defined by RFC 4733) is transmitted over this stream until StopTelephonyEvent is called.
event | A telephony event code. |
|
signal |
Represents the signal StartNamedTelephonyEvent
on the remote object.
Request that a telephony event (as defined by RFC 4733) is transmitted over this stream until StopTelephonyEvent is called. This differs from StartTelephonyEvent in that you force the event to be transmitted as a RFC 4733 named event, not as sound. You can also force a specific Codec ID.
event | A telephony event code as defined by RFC 4733. |
codecID | The payload type to use when sending events. The value 0xFFFFFFFF means to send with the already configured event type instead of using the specified one. |
|
signal |
Represents the signal StartSoundTelephonyEvent
on the remote object.
Request that a telephony event (as defined by RFC 4733) is transmitted over this stream until StopTelephonyEvent is called. This differs from StartTelephonyEvent in that you force the event to be transmitted as sound instead of as a named event.
event | A telephony event code as defined by RFC 4733. |
|
signal |
Represents the signal StopTelephonyEvent
on the remote object.
Request that any ongoing telephony events (as defined by RFC 4733) being transmitted over this stream are stopped.
|
signal |
Represents the signal SetStreamHeld
on the remote object.
Emitted when the connection manager wishes to place the stream on hold (so the streaming client should free hardware or software resources) or take the stream off hold (so the streaming client should reacquire the necessary resources).
When placing a channel's streams on hold, the connection manager SHOULD notify the remote contact that this will be done (if appropriate in the protocol) before it emits this signal.
It is assumed that relinquishing a resource will not fail. If it does, the call is probably doomed anyway.
When unholding a channel's streams, the connection manager SHOULD emit this signal and wait for success to be indicated via HoldState before it notifies the remote contact that the channel has been taken off hold.
This means that if a resource is unavailable, the remote contact will never even be told that we tried to acquire it.
held | If true, the stream is to be placed on hold. |
|
signal |
Represents the signal SetRemoteFeedbackMessages
on the remote object.
Signal emitted when the connection manager wishes to inform the client of the feedback messages supported by the remote end. This signal is emitted before SetRemoteCodecs. If the client supports any of these messages, it must call SupportedFeedbackMessages before calling SupportedCodecs.
messages | Remote Feedback messages desired by the remote side |
|
signal |
Represents the signal SetRemoteHeaderExtensions
on the remote object.
Signal emitted when the connection manager wishes to inform the client of the RTP header extensions supported by the remote end. This signal is emitted before SetRemoteCodecs. If the client supports any of these messages, it must call SupportedHeaderExtensions before calling SupportedCodecs.
headerExtensions | Header extensions desired by the remote side |
|
protectedvirtual |
Reimplemented from Tp::AbstractInterface.
Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation | Telepathy-Qt 0.9.7 |