QXmpp Version: 1.4.0
Loading...
Searching...
No Matches
QXmppCallStream.h
1/*
2 * Copyright (C) 2020 The QXmpp developers
3 *
4 * Author:
5 * Niels Ole Salscheider
6 *
7 * Source:
8 * https://github.com/qxmpp-project/qxmpp
9 *
10 * This file is a part of QXmpp library.
11 *
12 * This library is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU Lesser General Public
14 * License as published by the Free Software Foundation; either
15 * version 2.1 of the License, or (at your option) any later version.
16 *
17 * This library is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * Lesser General Public License for more details.
21 *
22 */
23
24#ifndef QXMPPCALLSTREAM_H
25#define QXMPPCALLSTREAM_H
26
27#include <QXmppGlobal.h>
28
29#include <functional>
30
31#include <QObject>
32
33typedef struct _GstPad GstPad;
34typedef struct _GstElement GstElement;
35
36class QXmppCallStreamPrivate;
38class QXmppCall;
39class QXmppCallPrivate;
40
46
47class QXMPP_EXPORT QXmppCallStream : public QObject
48{
49 Q_OBJECT
50
51public:
52 QString creator() const;
53 QString media() const;
54 QString name() const;
55 int id() const;
56 void setReceivePadCallback(std::function<void(GstPad *)> cb);
57 void setSendPadCallback(std::function<void(GstPad *)> cb);
58
59private:
60 QXmppCallStream(GstElement *pipeline, GstElement *rtpbin,
61 QString media, QString creator, QString name, int id);
62
63 QXmppCallStreamPrivate *d;
64
65 friend class QXmppCall;
66 friend class QXmppCallPrivate;
67};
68
69#endif
The QXmppCallStream class represents an RTP stream in a VoIP call.
Definition: QXmppCallStream.h:48
The QXmppCall class represents a Voice-Over-IP call to a remote party.
Definition: QXmppCall.h:44
The QXmppIceConnection class represents a set of UDP sockets capable of performing Interactive Connec...
Definition: QXmppStun.h:242