From d8e5a4996f17d560fe8383efe72fe0ee774a86ec Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sat, 20 Sep 2014 16:28:53 +0200 Subject: Initial multipeer code - untested. --- src/outputstreamer.cc | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'src/outputstreamer.cc') diff --git a/src/outputstreamer.cc b/src/outputstreamer.cc index e652c7e..e5b7436 100644 --- a/src/outputstreamer.cc +++ b/src/outputstreamer.cc @@ -31,7 +31,7 @@ #define CSRC_V 42 #define CSRC_A 43 -OutputStreamer::OutputStreamer(QHostAddress addr, quint16 port) +OutputStreamer::OutputStreamer() : socket(this) { total = 0; @@ -47,9 +47,6 @@ OutputStreamer::OutputStreamer(QHostAddress addr, quint16 port) res = lrtp_create_profile(lrtp, PROFILE_OPUS, CSRC_A, OPTION_END); if(res != 0) printf("O:lrtp_create_profile (a) err: %d\n", res); - - this->addr = addr; - this->port = port; } OutputStreamer::~OutputStreamer() @@ -66,6 +63,14 @@ OutputStreamer::~OutputStreamer() if(status != LRTP_OK) printf("O:lrtp_close err: %d\n", status); } +void OutputStreamer::addPeer(QHostAddress addr, quint16 port) +{ + Peer peer; + peer.addr = addr; + peer.port = port; + peers.push_back(peer); +} + void OutputStreamer::newImage(Frame frame) { int ret = 0; @@ -115,8 +120,13 @@ void OutputStreamer::newAudio(framelist_t frames) void OutputStreamer::sendPackage(const char *data, size_t size) { - total += size; - socket.writeDatagram(data, (quint64)size, addr, port); + QList::iterator i = peers.begin(); + while(i != peers.end()) { + Peer &peer = *i; + socket.writeDatagram(data, (quint64)size, peer.addr, peer.port); + total += size; + i++; + } } size_t OutputStreamer::getTotal() -- cgit v1.2.3