diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2011-06-05 12:36:55 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2011-06-05 12:36:55 +0000 |
| commit | ae2decb4e461d01759f0709552ba37c61f75822f (patch) | |
| tree | d5331babdc9d4d4eacd59733fc5a29317174705d /src/QXmppCallManager.cpp | |
| parent | b6f639c39e33743b71561113fa006dae1738a674 (diff) | |
| download | qxmpp-ae2decb4e461d01759f0709552ba37c61f75822f.tar.gz | |
improve QXmppCallManager scripting support
Diffstat (limited to 'src/QXmppCallManager.cpp')
| -rw-r--r-- | src/QXmppCallManager.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/QXmppCallManager.cpp b/src/QXmppCallManager.cpp index 87d77fd6..30a7d209 100644 --- a/src/QXmppCallManager.cpp +++ b/src/QXmppCallManager.cpp @@ -504,6 +504,9 @@ void QXmppCall::accept() d->sendRequest(iq); + // notify user + d->manager->callStarted(this); + // check for call establishment d->setState(QXmppCall::ActiveState); } @@ -524,6 +527,13 @@ QXmppRtpAudioChannel *QXmppCall::audioChannel() const return 0; } +/// Returns the audio mode. + +QIODevice::OpenMode QXmppCall::audioMode() const +{ + return d->audioMode; +} + /// Returns the RTP channel for the video data. /// @@ -536,6 +546,13 @@ QXmppRtpVideoChannel *QXmppCall::videoChannel() const return 0; } +/// Returns the video mode. + +QIODevice::OpenMode QXmppCall::videoMode() const +{ + return d->videoMode; +} + void QXmppCall::terminated() { // close streams @@ -653,6 +670,8 @@ QXmppCall::State QXmppCall::state() const return d->state; } +/// Starts sending video to the remote party. + void QXmppCall::startVideo() { if (d->state != QXmppCall::ActiveState) { @@ -697,6 +716,19 @@ void QXmppCall::startVideo() d->sendRequest(iq); } +/// Stops sending video to the remote party. + +void QXmppCall::stopVideo() +{ + if (!d->sendVideo) + return; + + d->sendVideo = false; + QXmppCallPrivate::Stream *stream = d->findStreamByMedia(VIDEO_MEDIA); + if (stream) + updateOpenMode(); +} + QXmppCallManagerPrivate::QXmppCallManagerPrivate(QXmppCallManager *qq) : stunPort(0), turnPort(0), @@ -791,8 +823,10 @@ QXmppCall *QXmppCallManager::call(const QString &jid) d->calls << call; connect(call, SIGNAL(destroyed(QObject*)), this, SLOT(callDestroyed(QObject*))); + emit callStarted(call); call->d->sendInvite(); + return call; } |
