From ac5489ae37933acff75b83fe6e747df989612945 Mon Sep 17 00:00:00 2001
From: f4exb <f4exb06@gmail.com>
Date: Tue, 27 Feb 2018 23:54:23 +0100
Subject: [PATCH] qrtplib: removed JRTPLIB_UNUSED

---
 qrtplib.old/CMakeLists.txt            |  44 ---
 qrtplib.old/rtpdefines.h              |  78 -----
 qrtplib.old/rtperrors.cpp             | 277 ----------------
 qrtplib.old/rtperrors.h               | 253 ---------------
 qrtplib.old/rtpinternalutils.h        |  61 ----
 qrtplib.old/rtppacket.cpp             | 441 --------------------------
 qrtplib.old/rtppacket.h               | 287 -----------------
 qrtplib.old/rtppacketbuilder.cpp      | 303 ------------------
 qrtplib.old/rtppacketbuilder.h        | 275 ----------------
 qrtplib.old/rtprandom.cpp             |  79 -----
 qrtplib.old/rtprandom.h               |  82 -----
 qrtplib.old/rtprandomrand48.cpp       |  89 ------
 qrtplib.old/rtprandomrand48.h         |  71 -----
 qrtplib.old/rtprandomurandom.cpp      | 132 --------
 qrtplib.old/rtprandomurandom.h        |  70 ----
 qrtplib.old/rtprawpacket.h            | 180 -----------
 qrtplib.old/rtpstructs.h              | 130 --------
 qrtplib.old/rtptimeutilities.cpp      |  46 ---
 qrtplib.old/rtptimeutilities.h        | 323 -------------------
 qrtplib/rtpconfig.h                   |   7 -
 qrtplib/rtpinternalsourcedata.cpp     |   6 +-
 qrtplib/rtprawpacket.h                |   5 +-
 qrtplib/rtpsessionparams.cpp          |   6 +-
 qrtplib/rtpsessionsources.h           |   2 +-
 qrtplib/rtpsourcedata.cpp             |  11 +-
 qrtplib/rtpsourcedata.h               |   7 +-
 qrtplib/rtpsources.cpp                |   4 +-
 qrtplib/rtpsources.h                  |   2 +-
 qrtplib/rtptcptransmitter.cpp         |   3 +-
 qrtplib/rtptimeutilities.cpp          |   2 -
 qrtplib/rtpudpv4transmitter.cpp       |   3 +-
 qrtplib/rtpudpv4transmitternobind.cpp |   3 +-
 32 files changed, 24 insertions(+), 3258 deletions(-)
 delete mode 100644 qrtplib.old/CMakeLists.txt
 delete mode 100644 qrtplib.old/rtpdefines.h
 delete mode 100644 qrtplib.old/rtperrors.cpp
 delete mode 100644 qrtplib.old/rtperrors.h
 delete mode 100644 qrtplib.old/rtpinternalutils.h
 delete mode 100644 qrtplib.old/rtppacket.cpp
 delete mode 100644 qrtplib.old/rtppacket.h
 delete mode 100644 qrtplib.old/rtppacketbuilder.cpp
 delete mode 100644 qrtplib.old/rtppacketbuilder.h
 delete mode 100644 qrtplib.old/rtprandom.cpp
 delete mode 100644 qrtplib.old/rtprandom.h
 delete mode 100644 qrtplib.old/rtprandomrand48.cpp
 delete mode 100644 qrtplib.old/rtprandomrand48.h
 delete mode 100644 qrtplib.old/rtprandomurandom.cpp
 delete mode 100644 qrtplib.old/rtprandomurandom.h
 delete mode 100644 qrtplib.old/rtprawpacket.h
 delete mode 100644 qrtplib.old/rtpstructs.h
 delete mode 100644 qrtplib.old/rtptimeutilities.cpp
 delete mode 100644 qrtplib.old/rtptimeutilities.h

diff --git a/qrtplib.old/CMakeLists.txt b/qrtplib.old/CMakeLists.txt
deleted file mode 100644
index 2de5f94ac..000000000
--- a/qrtplib.old/CMakeLists.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-project(qrtplib)
-
-set(qrtplib_SOURCES
-	rtperrors.cpp
-	rtppacket.cpp
-	rtprandom.cpp
-	rtprandomrand48.cpp
-	rtprandomurandom.cpp
-	rtptimeutilities.cpp
-)
-
-set(qrtplib_HEADERS
-	rtperrors.h
-	rtpdefines.h
-	rtpinternalutils.h
-	rtppacket.h
-	rtprandom.h
-	rtprandomrand48.h
-	rtprandomurandom.h
-	rtprawpacket.h
-	rtpstructs.h
-	rtptimeutilities.h
-)
-
-include_directories(
-	.
-	${CMAKE_CURRENT_BINARY_DIR}
-)
-
-add_definitions(${QT_DEFINITIONS})
-add_definitions(-DQT_SHARED)
-
-add_library(qrtplib SHARED
-	${qrtplib_SOURCES}
-	${qrtplib_HEADERS_MOC}
-)
-
-target_link_libraries(qrtplib
-	${QT_LIBRARIES}
-)
-
-qt5_use_modules(qrtplib Core Network)
-
-install(TARGETS qrtplib DESTINATION lib)
diff --git a/qrtplib.old/rtpdefines.h b/qrtplib.old/rtpdefines.h
deleted file mode 100644
index c1d39af42..000000000
--- a/qrtplib.old/rtpdefines.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for 
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-#ifndef RTPDEFINES_H
-
-#define RTPDEFINES_H
-
-#define RTP_VERSION							2
-#define RTP_MAXCSRCS							15
-#define RTP_MINPACKETSIZE						600
-#define RTP_DEFAULTPACKETSIZE						1400
-#define RTP_PROBATIONCOUNT						2
-#define RTP_MAXPRIVITEMS						256
-#define RTP_SENDERTIMEOUTMULTIPLIER					2
-#define RTP_BYETIMEOUTMULTIPLIER					1
-#define RTP_MEMBERTIMEOUTMULTIPLIER					5
-#define RTP_COLLISIONTIMEOUTMULTIPLIER					10
-#define RTP_NOTETTIMEOUTMULTIPLIER					25
-#define RTP_DEFAULTSESSIONBANDWIDTH					10000.0
-
-#define RTP_RTCPTYPE_SR							200
-#define RTP_RTCPTYPE_RR							201
-#define RTP_RTCPTYPE_SDES						202
-#define RTP_RTCPTYPE_BYE						203
-#define RTP_RTCPTYPE_APP						204
-
-#define RTCP_SDES_ID_CNAME						1
-#define RTCP_SDES_ID_NAME						2
-#define RTCP_SDES_ID_EMAIL						3
-#define RTCP_SDES_ID_PHONE						4
-#define RTCP_SDES_ID_LOCATION						5
-#define RTCP_SDES_ID_TOOL						6
-#define RTCP_SDES_ID_NOTE						7
-#define RTCP_SDES_ID_PRIVATE						8
-#define RTCP_SDES_NUMITEMS_NONPRIVATE					7
-#define RTCP_SDES_MAXITEMLENGTH						255
-
-#define RTCP_BYE_MAXREASONLENGTH					255
-#define RTCP_DEFAULTMININTERVAL						5.0	
-#define RTCP_DEFAULTBANDWIDTHFRACTION					0.05
-#define RTCP_DEFAULTSENDERFRACTION					0.25
-#define RTCP_DEFAULTHALFATSTARTUP					true
-#define RTCP_DEFAULTIMMEDIATEBYE					true
-#define RTCP_DEFAULTSRBYE						true
-
-#endif // RTPDEFINES_H
-
diff --git a/qrtplib.old/rtperrors.cpp b/qrtplib.old/rtperrors.cpp
deleted file mode 100644
index 4723a288c..000000000
--- a/qrtplib.old/rtperrors.cpp
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for 
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-#include "../qrtplib.old/rtperrors.h"
-
-#include <stdio.h>
-#include "../qrtplib.old/rtpdefines.h"
-#include "../qrtplib.old/rtpinternalutils.h"
-
-//#include "rtpdebug.h"
-
-namespace qrtplib
-{
-
-struct RTPErrorInfo
-{
-	int code;
-	const char *description;
-};
-
-static RTPErrorInfo ErrorDescriptions[]=
-{
-	{ ERR_RTP_OUTOFMEM,"Out of memory" },
-	{ ERR_RTP_NOTHREADSUPPORT, "No JThread support was compiled in"},
-	{ ERR_RTP_COLLISIONLIST_BADADDRESS, "Passed invalid address (null) to collision list"},
-	{ ERR_RTP_HASHTABLE_ELEMENTALREADYEXISTS, "Element already exists in hash table"},
-	{ ERR_RTP_HASHTABLE_ELEMENTNOTFOUND, "Element not found in hash table"},
-	{ ERR_RTP_HASHTABLE_FUNCTIONRETURNEDINVALIDHASHINDEX, "Function returned an illegal hash index"},
-	{ ERR_RTP_HASHTABLE_NOCURRENTELEMENT, "No current element selected in hash table"},
-	{ ERR_RTP_KEYHASHTABLE_FUNCTIONRETURNEDINVALIDHASHINDEX, "Function returned an illegal hash index"},
-	{ ERR_RTP_KEYHASHTABLE_KEYALREADYEXISTS, "Key value already exists in key hash table"},
-	{ ERR_RTP_KEYHASHTABLE_KEYNOTFOUND, "Key value not found in key hash table"},
-	{ ERR_RTP_KEYHASHTABLE_NOCURRENTELEMENT, "No current element selected in key hash table"},
-	{ ERR_RTP_PACKBUILD_ALREADYINIT, "RTP packet builder is already initialized"},
-	{ ERR_RTP_PACKBUILD_CSRCALREADYINLIST, "The specified CSRC is already in the RTP packet builder's CSRC list"},
-	{ ERR_RTP_PACKBUILD_CSRCLISTFULL, "The RTP packet builder's CSRC list already contains 15 entries"},
-	{ ERR_RTP_PACKBUILD_CSRCNOTINLIST, "The specified CSRC was not found in the RTP packet builder's CSRC list"},
-	{ ERR_RTP_PACKBUILD_DEFAULTMARKNOTSET, "The RTP packet builder's default mark flag is not set"},
-	{ ERR_RTP_PACKBUILD_DEFAULTPAYLOADTYPENOTSET, "The RTP packet builder's default payload type is not set"},
-	{ ERR_RTP_PACKBUILD_DEFAULTTSINCNOTSET, "The RTP packet builder's default timestamp increment is not set"},
-	{ ERR_RTP_PACKBUILD_INVALIDMAXPACKETSIZE, "The specified maximum packet size for the RTP packet builder is invalid"},
-	{ ERR_RTP_PACKBUILD_NOTINIT, "The RTP packet builder is not initialized"},
-	{ ERR_RTP_PACKET_BADPAYLOADTYPE, "Invalid payload type"},
-	{ ERR_RTP_PACKET_DATAEXCEEDSMAXSIZE, "Tried to create an RTP packet which whould exceed the specified maximum packet size"},
-	{ ERR_RTP_PACKET_EXTERNALBUFFERNULL, "Illegal value (null) passed as external buffer for the RTP packet"},
-	{ ERR_RTP_PACKET_ILLEGALBUFFERSIZE, "Illegal buffer size specified for the RTP packet"},
-	{ ERR_RTP_PACKET_INVALIDPACKET, "Invalid RTP packet format"},
-	{ ERR_RTP_PACKET_TOOMANYCSRCS, "More than 15 CSRCs specified for the RTP packet"},
-	{ ERR_RTP_POLLTHREAD_ALREADYRUNNING, "Poll thread is already running"},
-	{ ERR_RTP_POLLTHREAD_CANTINITMUTEX, "Can't initialize a mutex for the poll thread"},
-	{ ERR_RTP_POLLTHREAD_CANTSTARTTHREAD, "Can't start the poll thread"},
-	{ ERR_RTP_RTCPCOMPOUND_INVALIDPACKET, "Invalid RTCP compound packet format"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_ALREADYBUILDING, "Already building this RTCP compound packet"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_ALREADYBUILT, "This RTCP compound packet is already built"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_ALREADYGOTREPORT, "There's already a SR or RR in this RTCP compound packet"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_APPDATALENTOOBIG, "The specified APP data length for the RTCP compound packet is too big"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_BUFFERSIZETOOSMALL, "The specified buffer size for the RTCP comound packet is too small"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_ILLEGALAPPDATALENGTH, "The APP data length must be a multiple of four"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_ILLEGALSUBTYPE, "The APP packet subtype must be smaller than 32"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_INVALIDITEMTYPE, "Invalid SDES item type specified for the RTCP compound packet"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_MAXPACKETSIZETOOSMALL, "The specified maximum packet size for the RTCP compound packet is too small"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_NOCURRENTSOURCE, "Tried to add an SDES item to the RTCP compound packet when no SSRC was present"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_NOREPORTPRESENT, "An RTCP compound packet must contain a SR or RR"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_NOTBUILDING, "The RTCP compound packet builder is not initialized"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_NOTENOUGHBYTESLEFT, "Adding this data would exceed the specified maximum RTCP compound packet size"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_REPORTNOTSTARTED, "Tried to add a report block to the RTCP compound packet when no SR or RR was started"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_TOOMANYSSRCS, "Only 31 SSRCs will fit into a BYE packet for the RTCP compound packet"},
-	{ ERR_RTP_RTCPCOMPPACKBUILDER_TOTALITEMLENGTHTOOBIG, "The total data for the SDES PRIV item exceeds the maximum size (255 bytes) of an SDES item"},
-	{ ERR_RTP_RTCPPACKETBUILDER_ALREADYINIT, "The RTCP packet builder is already initialized"},
-	{ ERR_RTP_RTCPPACKETBUILDER_ILLEGALMAXPACKSIZE, "The specified maximum packet size for the RTCP packet builder is too small"},
-	{ ERR_RTP_RTCPPACKETBUILDER_ILLEGALTIMESTAMPUNIT, "Speficied an illegal timestamp unit for the the RTCP packet builder"},
-	{ ERR_RTP_RTCPPACKETBUILDER_NOTINIT, "The RTCP packet builder was not initialized"},
-	{ ERR_RTP_RTCPPACKETBUILDER_PACKETFILLEDTOOSOON, "The RTCP compound packet filled sooner than expected"},
-	{ ERR_RTP_SCHEDPARAMS_BADFRACTION, "Illegal sender bandwidth fraction specified"},
-	{ ERR_RTP_SCHEDPARAMS_BADMINIMUMINTERVAL, "The minimum RTCP interval specified for the scheduler is too small"},
-	{ ERR_RTP_SCHEDPARAMS_INVALIDBANDWIDTH, "Invalid RTCP bandwidth specified for the RTCP scheduler"},
-	{ ERR_RTP_SDES_LENGTHTOOBIG, "Specified size for the SDES item exceeds 255 bytes"},
-	{ ERR_RTP_SDES_PREFIXNOTFOUND, "The specified SDES PRIV prefix was not found"},
-	{ ERR_RTP_SESSION_ALREADYCREATED, "The session is already created"},
-	{ ERR_RTP_SESSION_CANTGETLOGINNAME, "Can't retrieve login name"},
-	{ ERR_RTP_SESSION_CANTINITMUTEX, "A mutex for the RTP session couldn't be initialized"},
-	{ ERR_RTP_SESSION_MAXPACKETSIZETOOSMALL, "The maximum packet size specified for the RTP session is too small"},
-	{ ERR_RTP_SESSION_NOTCREATED, "The RTP session was not created"},
-	{ ERR_RTP_SESSION_UNSUPPORTEDTRANSMISSIONPROTOCOL, "The requested transmission protocol for the RTP session is not supported"},
-	{ ERR_RTP_SESSION_USINGPOLLTHREAD, "This function is not available when using the RTP poll thread feature"},
-	{ ERR_RTP_SESSION_USERDEFINEDTRANSMITTERNULL, "A user-defined transmitter was requested but the supplied transmitter component is NULL"},
-	{ ERR_RTP_SOURCES_ALREADYHAVEOWNSSRC, "Only one source can be marked as own SSRC in the source table"},
-	{ ERR_RTP_SOURCES_DONTHAVEOWNSSRC, "No source was marked as own SSRC in the source table"},
-	{ ERR_RTP_SOURCES_ILLEGALSDESTYPE, "Illegal SDES type specified for processing into the source table"},
-	{ ERR_RTP_SOURCES_SSRCEXISTS, "Can't create own SSRC because this SSRC identifier is already in the source table"},
-	{ ERR_RTP_UDPV4TRANS_ALREADYCREATED, "The transmitter was already created"},
-	{ ERR_RTP_UDPV4TRANS_ALREADYINIT, "The transmitter was already initialize"},
-	{ ERR_RTP_UDPV4TRANS_ALREADYWAITING, "The transmitter is already waiting for incoming data"},
-	{ ERR_RTP_UDPV4TRANS_CANTBINDRTCPSOCKET, "The 'bind' call for the RTCP socket failed"},
-	{ ERR_RTP_UDPV4TRANS_CANTBINDRTPSOCKET, "The 'bind' call for the RTP socket failed"},
-	{ ERR_RTP_UDPV4TRANS_CANTCREATESOCKET, "Couldn't create the RTP or RTCP socket"},
-	{ ERR_RTP_UDPV4TRANS_CANTINITMUTEX, "Failed to initialize a mutex used by the transmitter"},
-	{ ERR_RTP_UDPV4TRANS_CANTSETRTCPRECEIVEBUF, "Couldn't set the receive buffer size for the RTCP socket"},
-	{ ERR_RTP_UDPV4TRANS_CANTSETRTCPTRANSMITBUF, "Couldn't set the transmission buffer size for the RTCP socket"},
-	{ ERR_RTP_UDPV4TRANS_CANTSETRTPRECEIVEBUF, "Couldn't set the receive buffer size for the RTP socket"},
-	{ ERR_RTP_UDPV4TRANS_CANTSETRTPTRANSMITBUF, "Couldn't set the transmission buffer size for the RTP socket"},
-	{ ERR_RTP_UDPV4TRANS_COULDNTJOINMULTICASTGROUP, "Unable to join the specified multicast group"},
-	{ ERR_RTP_UDPV4TRANS_DIFFERENTRECEIVEMODE, "The function called doens't match the current receive mode"},
-	{ ERR_RTP_UDPV4TRANS_ILLEGALPARAMETERS, "Illegal parameters type passed to the transmitter"},
-	{ ERR_RTP_UDPV4TRANS_INVALIDADDRESSTYPE, "Specified address type isn't compatible with this transmitter"},
-	{ ERR_RTP_UDPV4TRANS_NOLOCALIPS, "Couldn't determine the local host name since the local IP list is empty"},
-	{ ERR_RTP_UDPV4TRANS_NOMULTICASTSUPPORT, "Multicast support is not available"},
-	{ ERR_RTP_UDPV4TRANS_NOSUCHENTRY, "Specified entry could not be found"},
-	{ ERR_RTP_UDPV4TRANS_NOTAMULTICASTADDRESS, "The specified address is not a multicast address"},
-	{ ERR_RTP_UDPV4TRANS_NOTCREATED, "The 'Create' call for this transmitter has not been called"},
-	{ ERR_RTP_UDPV4TRANS_NOTINIT, "The 'Init' call for this transmitter has not been called"},
-	{ ERR_RTP_UDPV4TRANS_NOTWAITING, "The transmitter is not waiting for incoming data"},
-	{ ERR_RTP_UDPV4TRANS_PORTBASENOTEVEN, "The specified port base is not an even number"},
-	{ ERR_RTP_UDPV4TRANS_SPECIFIEDSIZETOOBIG, "The maximum packet size is too big for this transmitter"},
-	{ ERR_RTP_UDPV6TRANS_ALREADYCREATED, "The transmitter was already created"},
-	{ ERR_RTP_UDPV6TRANS_ALREADYINIT, "The transmitter was already initialize"},
-	{ ERR_RTP_UDPV6TRANS_ALREADYWAITING, "The transmitter is already waiting for incoming data"},
-	{ ERR_RTP_UDPV6TRANS_CANTBINDRTCPSOCKET, "The 'bind' call for the RTCP socket failed"},
-	{ ERR_RTP_UDPV6TRANS_CANTBINDRTPSOCKET, "The 'bind' call for the RTP socket failed"},
-	{ ERR_RTP_UDPV6TRANS_CANTCREATESOCKET, "Couldn't create the RTP or RTCP socket"},
-	{ ERR_RTP_UDPV6TRANS_CANTINITMUTEX, "Failed to initialize a mutex used by the transmitter"},
-	{ ERR_RTP_UDPV6TRANS_CANTSETRTCPRECEIVEBUF, "Couldn't set the receive buffer size for the RTCP socket"},
-	{ ERR_RTP_UDPV6TRANS_CANTSETRTCPTRANSMITBUF, "Couldn't set the transmission buffer size for the RTCP socket"},
-	{ ERR_RTP_UDPV6TRANS_CANTSETRTPRECEIVEBUF, "Couldn't set the receive buffer size for the RTP socket"},
-	{ ERR_RTP_UDPV6TRANS_CANTSETRTPTRANSMITBUF, "Couldn't set the transmission buffer size for the RTP socket"},
-	{ ERR_RTP_UDPV6TRANS_COULDNTJOINMULTICASTGROUP, "Unable to join the specified multicast group"},
-	{ ERR_RTP_UDPV6TRANS_DIFFERENTRECEIVEMODE, "The function called doens't match the current receive mode"},
-	{ ERR_RTP_UDPV6TRANS_ILLEGALPARAMETERS, "Illegal parameters type passed to the transmitter"},
-	{ ERR_RTP_UDPV6TRANS_INVALIDADDRESSTYPE, "Specified address type isn't compatible with this transmitter"},
-	{ ERR_RTP_UDPV6TRANS_NOLOCALIPS, "Couldn't determine the local host name since the local IP list is empty"},
-	{ ERR_RTP_UDPV6TRANS_NOMULTICASTSUPPORT, "Multicast support is not available"},
-	{ ERR_RTP_UDPV6TRANS_NOSUCHENTRY, "Specified entry could not be found"},
-	{ ERR_RTP_UDPV6TRANS_NOTAMULTICASTADDRESS, "The specified address is not a multicast address"},
-	{ ERR_RTP_UDPV6TRANS_NOTCREATED, "The 'Create' call for this transmitter has not been called"},
-	{ ERR_RTP_UDPV6TRANS_NOTINIT, "The 'Init' call for this transmitter has not been called"},
-	{ ERR_RTP_UDPV6TRANS_NOTWAITING, "The transmitter is not waiting for incoming data"},
-	{ ERR_RTP_UDPV6TRANS_PORTBASENOTEVEN, "The specified port base is not an even number"},
-	{ ERR_RTP_UDPV6TRANS_SPECIFIEDSIZETOOBIG, "The maximum packet size is too big for this transmitter"},
-	{ ERR_RTP_TRANS_BUFFERLENGTHTOOSMALL,"The hostname is larger than the specified buffer size"},
-	{ ERR_RTP_SDES_MAXPRIVITEMS,"The maximum number of SDES private item prefixes was reached"},
-	{ ERR_RTP_INTERNALSOURCEDATA_INVALIDPROBATIONTYPE,"An invalid probation type was specified"},
-	{ ERR_RTP_FAKETRANS_ALREADYCREATED, "The transmitter was already created"},
-	{ ERR_RTP_FAKETRANS_ALREADYINIT, "The transmitter was already initialize"},
-	{ ERR_RTP_FAKETRANS_CANTINITMUTEX, "Failed to initialize a mutex used by the transmitter"},
-	{ ERR_RTP_FAKETRANS_COULDNTJOINMULTICASTGROUP, "Unable to join the specified multicast group"},
-	{ ERR_RTP_FAKETRANS_DIFFERENTRECEIVEMODE, "The function called doens't match the current receive mode"},
-	{ ERR_RTP_FAKETRANS_ILLEGALPARAMETERS, "Illegal parameters type passed to the transmitter"},
-	{ ERR_RTP_FAKETRANS_INVALIDADDRESSTYPE, "Specified address type isn't compatible with this transmitter"},
-	{ ERR_RTP_FAKETRANS_NOLOCALIPS, "Couldn't determine the local host name since the local IP list is empty"},
-	{ ERR_RTP_FAKETRANS_NOMULTICASTSUPPORT, "Multicast support is not available"},
-	{ ERR_RTP_FAKETRANS_NOSUCHENTRY, "Specified entry could not be found"},
-	{ ERR_RTP_FAKETRANS_NOTAMULTICASTADDRESS, "The specified address is not a multicast address"},
-	{ ERR_RTP_FAKETRANS_NOTCREATED, "The 'Create' call for this transmitter has not been called"},
-	{ ERR_RTP_FAKETRANS_NOTINIT, "The 'Init' call for this transmitter has not been called"},
-	{ ERR_RTP_FAKETRANS_PORTBASENOTEVEN, "The specified port base is not an even number"},
-	{ ERR_RTP_FAKETRANS_SPECIFIEDSIZETOOBIG, "The maximum packet size is too big for this transmitter"},
-	{ ERR_RTP_FAKETRANS_WAITNOTIMPLEMENTED, "The WaitForIncomingData is not implemented in the Gst transmitter"},
-	{ ERR_RTP_RTPRANDOMURANDOM_CANTOPEN, "Unable to open /dev/urandom for reading"},
-	{ ERR_RTP_RTPRANDOMURANDOM_ALREADYOPEN, "The device /dev/urandom was already opened"},
-	{ ERR_RTP_RTPRANDOMRANDS_NOTSUPPORTED, "The rand_s call is not supported on this platform"},
-	{ ERR_RTP_EXTERNALTRANS_ALREADYCREATED, "The external transmission component was already created"},
-	{ ERR_RTP_EXTERNALTRANS_ALREADYINIT, "The external transmission component was already initialized"},
-	{ ERR_RTP_EXTERNALTRANS_ALREADYWAITING, "The external transmission component is already waiting for incoming data"},
-	{ ERR_RTP_EXTERNALTRANS_BADRECEIVEMODE, "The external transmission component only supports accepting all incoming packets"},
-	{ ERR_RTP_EXTERNALTRANS_CANTINITMUTEX, "The external transmitter was unable to initialize a required mutex"},
-	{ ERR_RTP_EXTERNALTRANS_ILLEGALPARAMETERS, "Only parameters of type RTPExternalTransmissionParams can be passed to the external transmission component"},
-	{ ERR_RTP_EXTERNALTRANS_NOACCEPTLIST, "The external transmitter does not have an accept list"},
-	{ ERR_RTP_EXTERNALTRANS_NODESTINATIONSSUPPORTED, "The external transmitter does not have a destination list"},
-	{ ERR_RTP_EXTERNALTRANS_NOIGNORELIST, "The external transmitter does not have an ignore list"},
-	{ ERR_RTP_EXTERNALTRANS_NOMULTICASTSUPPORT, "The external transmitter does not support the multicast functions"},
-	{ ERR_RTP_EXTERNALTRANS_NOSENDER, "No sender has been set for this external transmitter"},
-	{ ERR_RTP_EXTERNALTRANS_NOTCREATED, "The external transmitter has not been created yet"},
-	{ ERR_RTP_EXTERNALTRANS_NOTINIT, "The external transmitter has not been initialized yet"},
-	{ ERR_RTP_EXTERNALTRANS_NOTWAITING, "The external transmitter is not currently waiting for incoming data"},
-	{ ERR_RTP_EXTERNALTRANS_SENDERROR, "The external transmitter was unable to actually send the data"},
-	{ ERR_RTP_EXTERNALTRANS_SPECIFIEDSIZETOOBIG, "The specified data size exceeds the maximum amount that has been set"},
-    { ERR_RTP_UDPV4TRANS_CANTGETSOCKETPORT, "Unable to obtain the existing socket info using 'getsockname'"},
-	{ ERR_RTP_UDPV4TRANS_NOTANIPV4SOCKET, "The existing socket specified does not appear to be an IPv4 socket"},
-	{ ERR_RTP_UDPV4TRANS_SOCKETPORTNOTSET, "The existing socket that was specified does not have its port set yet"},
-	{ ERR_RTP_UDPV4TRANS_CANTGETSOCKETTYPE, "Can't get the socket type of the specified existing socket"},
-	{ ERR_RTP_UDPV4TRANS_INVALIDSOCKETTYPE, "The specified existing socket is not an UDP socket"},
-	{ ERR_RTP_UDPV4TRANS_CANTGETVALIDSOCKET, "Can't get a valid socket when trying to choose a port automatically"},
-	{ ERR_RTP_UDPV4TRANS_TOOMANYATTEMPTSCHOOSINGSOCKET, "Can't seem to get RTP/RTCP ports automatically, too many attempts"},
-	{ ERR_RTP_RTPSESSION_CHANGEREQUESTEDBUTNOTIMPLEMENTED, "Flag to change data was requested, but OnChangeRTPOrRTCPData was not reimplemented"},
-	{ ERR_RTP_SECURESESSION_CONTEXTALREADYINITIALIZED, "The initialization function was already called"},
-	{ ERR_RTP_SECURESESSION_CANTINITIALIZE_SRTPCONTEXT, "Unable to initialize libsrtp context"},
-	{ ERR_RTP_SECURESESSION_CANTINITMUTEX, "Unable to initialize a mutex" },
-	{ ERR_RTP_SECURESESSION_CONTEXTNOTINITIALIZED, "The libsrtp context initilization function must be called before it can be used"},
-	{ ERR_RTP_SECURESESSION_NOTENOUGHDATATOENCRYPT, "There's not enough RTP or RTCP data to encrypt"},
-	{ ERR_RTP_SECURESESSION_CANTENCRYPTRTPDATA, "Unable to encrypt RTP data"},
-	{ ERR_RTP_SECURESESSION_CANTENCRYPTRTCPDATA, "Unable to encrypt RTCP data"},
-	{ ERR_RTP_SECURESESSION_NOTENOUGHDATATODECRYPT, "There's not enough RTP or RTCP data to decrypt"},
-	{ ERR_RTP_SECURESESSION_CANTDECRYPTRTPDATA, "Unable to decrypt RTP data"},
-	{ ERR_RTP_SECURESESSION_CANTDECRYPTRTCPDATA, "Unable to decrypt RTCP data"},
-	{ ERR_RTP_ABORTDESC_ALREADYINIT, "The RTPAbortDescriptors instance is already initialized" },
-	{ ERR_RTP_ABORTDESC_NOTINIT, "The RTPAbortDescriptors instance is not yet initialized" },
-	{ ERR_RTP_ABORTDESC_CANTCREATEABORTDESCRIPTORS, "Unable to create two connected TCP sockets for the abort descriptors" },
-	{ ERR_RTP_ABORTDESC_CANTCREATEPIPE, "Unable to create a pipe for the abort descriptors" },
-	{ ERR_RTP_SESSION_THREADSAFETYCONFLICT, "For the background poll thread to be used, thread safety must also be set" },
-	{ ERR_RTP_SELECT_ERRORINSELECT, "Error in the call to 'select'" },
-	{ ERR_RTP_SELECT_SOCKETDESCRIPTORTOOLARGE, "A socket descriptor value is too large for a call to 'select' (exceeds FD_SETSIZE)" },
-	{ ERR_RTP_SELECT_ERRORINPOLL, "Error in the call to 'poll' or 'WSAPoll'" },
-	{ ERR_RTP_TCPTRANS_NOTINIT, "The TCP transmitter is not yet initialized" },
-	{ ERR_RTP_TCPTRANS_ALREADYINIT, "The TCP transmitter is already initialized" },
-	{ ERR_RTP_TCPTRANS_NOTCREATED, "The TCP transmitter is not yet created" },
-	{ ERR_RTP_TCPTRANS_ALREADYCREATED, "The TCP transmitter is already created" },
-	{ ERR_RTP_TCPTRANS_ILLEGALPARAMETERS, "The parameters for the TCP transmitter are invalid" },
-	{ ERR_RTP_TCPTRANS_CANTINITMUTEX, "Unable to initialize a mutex during the initialization of the TCP transmitter" },
-	{ ERR_RTP_TCPTRANS_ALREADYWAITING, "The TCP transmitter is already waiting for data" },
-	{ ERR_RTP_TCPTRANS_INVALIDADDRESSTYPE, "The address specified is not a valid address for the TCP transmitter" },
-	{ ERR_RTP_TCPTRANS_NOSOCKETSPECIFIED, "No socket was specified in the address used for the TCP transmitter" },
-	{ ERR_RTP_TCPTRANS_NOMULTICASTSUPPORT, "The TCP transmitter does not support multicasting" },
-	{ ERR_RTP_TCPTRANS_RECEIVEMODENOTSUPPORTED, "The TCP transmitter does not support receive modes other than 'accept all'" },
-	{ ERR_RTP_TCPTRANS_SPECIFIEDSIZETOOBIG, "The maximum packet size for the TCP transmitter is limited to 64KB" },
-	{ ERR_RTP_TCPTRANS_NOTWAITING, "The TCP transmitter is not waiting for data" },
-	{ ERR_RTP_TCPTRANS_SOCKETALREADYINDESTINATIONS, "The specified destination address (socket) was already added to the destination list of the TCP transmitter" },
-	{ ERR_RTP_TCPTRANS_SOCKETNOTFOUNDINDESTINATIONS, "The specified destination address (socket) was not found in the list of destinations of the TCP transmitter" },
-	{ ERR_RTP_TCPTRANS_ERRORINSEND, "An error occurred in the TCP transmitter while sending a packet" },
-	{ ERR_RTP_TCPTRANS_ERRORINRECV, "An error occurred in the TCP transmitter while receiving a packet" },
-	{ 0,0 }
-};
-
-std::string RTPGetErrorString(int errcode)
-{
-	int i;
-	
-	if (errcode >= 0)
-		return std::string("No error");
-	
-	i = 0;
-	while (ErrorDescriptions[i].code != 0)
-	{
-		if (ErrorDescriptions[i].code == errcode)
-			return std::string(ErrorDescriptions[i].description);
-		i++;
-	}
-
-	char str[16];
-	
-	RTP_SNPRINTF(str,16,"(%d)",errcode);
-	
-	return std::string("Unknown error code") + std::string(str);
-}
-
-} // end namespace
-
diff --git a/qrtplib.old/rtperrors.h b/qrtplib.old/rtperrors.h
deleted file mode 100644
index 3b9763ee2..000000000
--- a/qrtplib.old/rtperrors.h
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for 
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-/**
- * \file rtperrors.h
- */
-
-#ifndef RTPERRORS_H
-
-#define RTPERRORS_H
-
-//#include "rtpconfig.h"
-#include <string>
-
-namespace qrtplib
-{
-
-/** Returns a string describing the error code \c errcode. */
-std::string RTPGetErrorString(int errcode);
-
-} // end namespace
-
-#define ERR_RTP_OUTOFMEM                                          -1
-#define ERR_RTP_NOTHREADSUPPORT                                   -2
-#define ERR_RTP_COLLISIONLIST_BADADDRESS                          -3
-#define ERR_RTP_HASHTABLE_ELEMENTALREADYEXISTS                    -4
-#define ERR_RTP_HASHTABLE_ELEMENTNOTFOUND                         -5
-#define ERR_RTP_HASHTABLE_FUNCTIONRETURNEDINVALIDHASHINDEX        -6
-#define ERR_RTP_HASHTABLE_NOCURRENTELEMENT                        -7
-#define ERR_RTP_KEYHASHTABLE_FUNCTIONRETURNEDINVALIDHASHINDEX     -8
-#define ERR_RTP_KEYHASHTABLE_KEYALREADYEXISTS                     -9
-#define ERR_RTP_KEYHASHTABLE_KEYNOTFOUND                          -10
-#define ERR_RTP_KEYHASHTABLE_NOCURRENTELEMENT                     -11
-#define ERR_RTP_PACKBUILD_ALREADYINIT                             -12
-#define ERR_RTP_PACKBUILD_CSRCALREADYINLIST                       -13
-#define ERR_RTP_PACKBUILD_CSRCLISTFULL                            -14
-#define ERR_RTP_PACKBUILD_CSRCNOTINLIST                           -15
-#define ERR_RTP_PACKBUILD_DEFAULTMARKNOTSET                       -16
-#define ERR_RTP_PACKBUILD_DEFAULTPAYLOADTYPENOTSET                -17
-#define ERR_RTP_PACKBUILD_DEFAULTTSINCNOTSET                      -18
-#define ERR_RTP_PACKBUILD_INVALIDMAXPACKETSIZE                    -19
-#define ERR_RTP_PACKBUILD_NOTINIT                                 -20
-#define ERR_RTP_PACKET_BADPAYLOADTYPE                             -21
-#define ERR_RTP_PACKET_DATAEXCEEDSMAXSIZE                         -22
-#define ERR_RTP_PACKET_EXTERNALBUFFERNULL                         -23
-#define ERR_RTP_PACKET_ILLEGALBUFFERSIZE                          -24
-#define ERR_RTP_PACKET_INVALIDPACKET                              -25
-#define ERR_RTP_PACKET_TOOMANYCSRCS                               -26
-#define ERR_RTP_POLLTHREAD_ALREADYRUNNING                         -27
-#define ERR_RTP_POLLTHREAD_CANTINITMUTEX                          -28
-#define ERR_RTP_POLLTHREAD_CANTSTARTTHREAD                        -29
-#define ERR_RTP_RTCPCOMPOUND_INVALIDPACKET                        -30
-#define ERR_RTP_RTCPCOMPPACKBUILDER_ALREADYBUILDING               -31
-#define ERR_RTP_RTCPCOMPPACKBUILDER_ALREADYBUILT                  -32
-#define ERR_RTP_RTCPCOMPPACKBUILDER_ALREADYGOTREPORT              -33
-#define ERR_RTP_RTCPCOMPPACKBUILDER_APPDATALENTOOBIG              -34
-#define ERR_RTP_RTCPCOMPPACKBUILDER_BUFFERSIZETOOSMALL            -35
-#define ERR_RTP_RTCPCOMPPACKBUILDER_ILLEGALAPPDATALENGTH          -36
-#define ERR_RTP_RTCPCOMPPACKBUILDER_ILLEGALSUBTYPE                -37
-#define ERR_RTP_RTCPCOMPPACKBUILDER_INVALIDITEMTYPE               -38
-#define ERR_RTP_RTCPCOMPPACKBUILDER_MAXPACKETSIZETOOSMALL         -39
-#define ERR_RTP_RTCPCOMPPACKBUILDER_NOCURRENTSOURCE               -40
-#define ERR_RTP_RTCPCOMPPACKBUILDER_NOREPORTPRESENT               -41
-#define ERR_RTP_RTCPCOMPPACKBUILDER_NOTBUILDING                   -42
-#define ERR_RTP_RTCPCOMPPACKBUILDER_NOTENOUGHBYTESLEFT            -43
-#define ERR_RTP_RTCPCOMPPACKBUILDER_REPORTNOTSTARTED              -44
-#define ERR_RTP_RTCPCOMPPACKBUILDER_TOOMANYSSRCS                  -45
-#define ERR_RTP_RTCPCOMPPACKBUILDER_TOTALITEMLENGTHTOOBIG         -46
-#define ERR_RTP_RTCPPACKETBUILDER_ALREADYINIT                     -47
-#define ERR_RTP_RTCPPACKETBUILDER_ILLEGALMAXPACKSIZE              -48
-#define ERR_RTP_RTCPPACKETBUILDER_ILLEGALTIMESTAMPUNIT            -49
-#define ERR_RTP_RTCPPACKETBUILDER_NOTINIT                         -50
-#define ERR_RTP_RTCPPACKETBUILDER_PACKETFILLEDTOOSOON             -51
-#define ERR_RTP_SCHEDPARAMS_BADFRACTION                           -52
-#define ERR_RTP_SCHEDPARAMS_BADMINIMUMINTERVAL                    -53
-#define ERR_RTP_SCHEDPARAMS_INVALIDBANDWIDTH                      -54
-#define ERR_RTP_SDES_LENGTHTOOBIG                                 -55
-#define ERR_RTP_SDES_MAXPRIVITEMS                                 -56
-#define ERR_RTP_SDES_PREFIXNOTFOUND                               -57
-#define ERR_RTP_SESSION_ALREADYCREATED                            -58
-#define ERR_RTP_SESSION_CANTGETLOGINNAME                          -59
-#define ERR_RTP_SESSION_CANTINITMUTEX                             -60
-#define ERR_RTP_SESSION_MAXPACKETSIZETOOSMALL                     -61
-#define ERR_RTP_SESSION_NOTCREATED                                -62
-#define ERR_RTP_SESSION_UNSUPPORTEDTRANSMISSIONPROTOCOL           -63
-#define ERR_RTP_SESSION_USINGPOLLTHREAD                           -64
-#define ERR_RTP_SOURCES_ALREADYHAVEOWNSSRC                        -65
-#define ERR_RTP_SOURCES_DONTHAVEOWNSSRC                           -66
-#define ERR_RTP_SOURCES_ILLEGALSDESTYPE                           -67
-#define ERR_RTP_SOURCES_SSRCEXISTS                                -68
-#define ERR_RTP_TRANS_BUFFERLENGTHTOOSMALL                        -69
-#define ERR_RTP_UDPV4TRANS_ALREADYCREATED                         -70
-#define ERR_RTP_UDPV4TRANS_ALREADYINIT                            -71
-#define ERR_RTP_UDPV4TRANS_ALREADYWAITING                         -72
-#define ERR_RTP_UDPV4TRANS_CANTBINDRTCPSOCKET                     -73
-#define ERR_RTP_UDPV4TRANS_CANTBINDRTPSOCKET                      -74
-#define ERR_RTP_UDPV4TRANS_CANTCREATESOCKET                       -75
-#define ERR_RTP_UDPV4TRANS_CANTINITMUTEX                          -76
-#define ERR_RTP_UDPV4TRANS_CANTSETRTCPRECEIVEBUF                  -77
-#define ERR_RTP_UDPV4TRANS_CANTSETRTCPTRANSMITBUF                 -78
-#define ERR_RTP_UDPV4TRANS_CANTSETRTPRECEIVEBUF                   -79
-#define ERR_RTP_UDPV4TRANS_CANTSETRTPTRANSMITBUF                  -80
-#define ERR_RTP_UDPV4TRANS_COULDNTJOINMULTICASTGROUP              -81
-#define ERR_RTP_UDPV4TRANS_DIFFERENTRECEIVEMODE                   -82
-#define ERR_RTP_UDPV4TRANS_ILLEGALPARAMETERS                      -83
-#define ERR_RTP_UDPV4TRANS_INVALIDADDRESSTYPE                     -84
-#define ERR_RTP_UDPV4TRANS_NOLOCALIPS                             -85
-#define ERR_RTP_UDPV4TRANS_NOMULTICASTSUPPORT                     -86
-#define ERR_RTP_UDPV4TRANS_NOSUCHENTRY                            -87
-#define ERR_RTP_UDPV4TRANS_NOTAMULTICASTADDRESS                   -88
-#define ERR_RTP_UDPV4TRANS_NOTCREATED                             -89
-#define ERR_RTP_UDPV4TRANS_NOTINIT                                -90
-#define ERR_RTP_UDPV4TRANS_NOTWAITING                             -91
-#define ERR_RTP_UDPV4TRANS_PORTBASENOTEVEN                        -92
-#define ERR_RTP_UDPV4TRANS_SPECIFIEDSIZETOOBIG                    -93
-#define ERR_RTP_UDPV6TRANS_ALREADYCREATED                         -94
-#define ERR_RTP_UDPV6TRANS_ALREADYINIT                            -95
-#define ERR_RTP_UDPV6TRANS_ALREADYWAITING                         -96
-#define ERR_RTP_UDPV6TRANS_CANTBINDRTCPSOCKET                     -97
-#define ERR_RTP_UDPV6TRANS_CANTBINDRTPSOCKET                      -98
-#define ERR_RTP_UDPV6TRANS_CANTCREATESOCKET                       -99
-#define ERR_RTP_UDPV6TRANS_CANTINITMUTEX                          -100
-#define ERR_RTP_UDPV6TRANS_CANTSETRTCPRECEIVEBUF                  -101
-#define ERR_RTP_UDPV6TRANS_CANTSETRTCPTRANSMITBUF                 -102
-#define ERR_RTP_UDPV6TRANS_CANTSETRTPRECEIVEBUF                   -103
-#define ERR_RTP_UDPV6TRANS_CANTSETRTPTRANSMITBUF                  -104
-#define ERR_RTP_UDPV6TRANS_COULDNTJOINMULTICASTGROUP              -105
-#define ERR_RTP_UDPV6TRANS_DIFFERENTRECEIVEMODE                   -106
-#define ERR_RTP_UDPV6TRANS_ILLEGALPARAMETERS                      -107
-#define ERR_RTP_UDPV6TRANS_INVALIDADDRESSTYPE                     -108
-#define ERR_RTP_UDPV6TRANS_NOLOCALIPS                             -109
-#define ERR_RTP_UDPV6TRANS_NOMULTICASTSUPPORT                     -110
-#define ERR_RTP_UDPV6TRANS_NOSUCHENTRY                            -111
-#define ERR_RTP_UDPV6TRANS_NOTAMULTICASTADDRESS                   -112
-#define ERR_RTP_UDPV6TRANS_NOTCREATED                             -113
-#define ERR_RTP_UDPV6TRANS_NOTINIT                                -114
-#define ERR_RTP_UDPV6TRANS_NOTWAITING                             -115
-#define ERR_RTP_UDPV6TRANS_PORTBASENOTEVEN                        -116
-#define ERR_RTP_UDPV6TRANS_SPECIFIEDSIZETOOBIG                    -117
-#define ERR_RTP_INTERNALSOURCEDATA_INVALIDPROBATIONTYPE           -118
-#define ERR_RTP_SESSION_USERDEFINEDTRANSMITTERNULL                -119
-#define ERR_RTP_FAKETRANS_ALREADYCREATED                          -120
-#define ERR_RTP_FAKETRANS_ALREADYINIT                             -121
-#define ERR_RTP_FAKETRANS_CANTINITMUTEX                           -122
-#define ERR_RTP_FAKETRANS_COULDNTJOINMULTICASTGROUP               -123
-#define ERR_RTP_FAKETRANS_DIFFERENTRECEIVEMODE                    -124
-#define ERR_RTP_FAKETRANS_ILLEGALPARAMETERS                       -125
-#define ERR_RTP_FAKETRANS_INVALIDADDRESSTYPE                      -126
-#define ERR_RTP_FAKETRANS_NOLOCALIPS                              -127
-#define ERR_RTP_FAKETRANS_NOMULTICASTSUPPORT                      -128
-#define ERR_RTP_FAKETRANS_NOSUCHENTRY                             -129
-#define ERR_RTP_FAKETRANS_NOTAMULTICASTADDRESS                    -130
-#define ERR_RTP_FAKETRANS_NOTCREATED                              -131
-#define ERR_RTP_FAKETRANS_NOTINIT                                 -132
-#define ERR_RTP_FAKETRANS_PORTBASENOTEVEN                         -133
-#define ERR_RTP_FAKETRANS_SPECIFIEDSIZETOOBIG                     -134
-#define ERR_RTP_FAKETRANS_WAITNOTIMPLEMENTED                      -135
-#define ERR_RTP_RTPRANDOMURANDOM_CANTOPEN                         -136
-#define ERR_RTP_RTPRANDOMURANDOM_ALREADYOPEN                      -137
-#define ERR_RTP_RTPRANDOMRANDS_NOTSUPPORTED                       -138
-#define ERR_RTP_EXTERNALTRANS_ALREADYCREATED                      -139
-#define ERR_RTP_EXTERNALTRANS_ALREADYINIT                         -140
-#define ERR_RTP_EXTERNALTRANS_ALREADYWAITING                      -141
-#define ERR_RTP_EXTERNALTRANS_BADRECEIVEMODE                      -142
-#define ERR_RTP_EXTERNALTRANS_CANTINITMUTEX                       -143
-#define ERR_RTP_EXTERNALTRANS_ILLEGALPARAMETERS                   -144
-#define ERR_RTP_EXTERNALTRANS_NOACCEPTLIST                        -145
-#define ERR_RTP_EXTERNALTRANS_NODESTINATIONSSUPPORTED             -146
-#define ERR_RTP_EXTERNALTRANS_NOIGNORELIST                        -147
-#define ERR_RTP_EXTERNALTRANS_NOMULTICASTSUPPORT                  -148
-#define ERR_RTP_EXTERNALTRANS_NOSENDER                            -149
-#define ERR_RTP_EXTERNALTRANS_NOTCREATED                          -150
-#define ERR_RTP_EXTERNALTRANS_NOTINIT                             -151
-#define ERR_RTP_EXTERNALTRANS_NOTWAITING                          -152
-#define ERR_RTP_EXTERNALTRANS_SENDERROR                           -153
-#define ERR_RTP_EXTERNALTRANS_SPECIFIEDSIZETOOBIG                 -154
-#define ERR_RTP_UDPV4TRANS_CANTGETSOCKETPORT                      -155
-#define ERR_RTP_UDPV4TRANS_NOTANIPV4SOCKET                        -156
-#define ERR_RTP_UDPV4TRANS_SOCKETPORTNOTSET                       -157
-#define ERR_RTP_UDPV4TRANS_CANTGETSOCKETTYPE                      -158
-#define ERR_RTP_UDPV4TRANS_INVALIDSOCKETTYPE                      -159
-#define ERR_RTP_UDPV4TRANS_CANTGETVALIDSOCKET                     -160
-#define ERR_RTP_UDPV4TRANS_TOOMANYATTEMPTSCHOOSINGSOCKET          -161
-#define ERR_RTP_RTPSESSION_CHANGEREQUESTEDBUTNOTIMPLEMENTED       -162
-#define ERR_RTP_SECURESESSION_CONTEXTALREADYINITIALIZED           -163
-#define ERR_RTP_SECURESESSION_CANTINITIALIZE_SRTPCONTEXT          -164
-#define ERR_RTP_SECURESESSION_CANTINITMUTEX                       -165
-#define ERR_RTP_SECURESESSION_CONTEXTNOTINITIALIZED               -166
-#define ERR_RTP_SECURESESSION_NOTENOUGHDATATOENCRYPT              -167
-#define ERR_RTP_SECURESESSION_CANTENCRYPTRTPDATA                  -168
-#define ERR_RTP_SECURESESSION_CANTENCRYPTRTCPDATA                 -169
-#define ERR_RTP_SECURESESSION_NOTENOUGHDATATODECRYPT              -170
-#define ERR_RTP_SECURESESSION_CANTDECRYPTRTPDATA                  -171
-#define ERR_RTP_SECURESESSION_CANTDECRYPTRTCPDATA                 -172
-#define ERR_RTP_ABORTDESC_ALREADYINIT                             -173
-#define ERR_RTP_ABORTDESC_NOTINIT                                 -174
-#define ERR_RTP_ABORTDESC_CANTCREATEABORTDESCRIPTORS              -175
-#define ERR_RTP_ABORTDESC_CANTCREATEPIPE                          -176
-#define ERR_RTP_SESSION_THREADSAFETYCONFLICT                      -177
-#define ERR_RTP_SELECT_ERRORINSELECT                              -178
-#define ERR_RTP_SELECT_SOCKETDESCRIPTORTOOLARGE                   -179
-#define ERR_RTP_SELECT_ERRORINPOLL                                -180
-#define ERR_RTP_TCPTRANS_NOTINIT                                  -181
-#define ERR_RTP_TCPTRANS_ALREADYINIT                              -182
-#define ERR_RTP_TCPTRANS_ALREADYCREATED                           -183
-#define ERR_RTP_TCPTRANS_ILLEGALPARAMETERS                        -184
-#define ERR_RTP_TCPTRANS_CANTINITMUTEX                            -185
-#define ERR_RTP_TCPTRANS_ALREADYWAITING                           -186
-#define ERR_RTP_TCPTRANS_NOTCREATED                               -187
-#define ERR_RTP_TCPTRANS_INVALIDADDRESSTYPE                       -188
-#define ERR_RTP_TCPTRANS_NOSOCKETSPECIFIED                        -189
-#define ERR_RTP_TCPTRANS_NOMULTICASTSUPPORT                       -190
-#define ERR_RTP_TCPTRANS_RECEIVEMODENOTSUPPORTED                  -191
-#define ERR_RTP_TCPTRANS_SPECIFIEDSIZETOOBIG                      -192
-#define ERR_RTP_TCPTRANS_NOTWAITING                               -193
-#define ERR_RTP_TCPTRANS_SOCKETALREADYINDESTINATIONS              -194
-#define ERR_RTP_TCPTRANS_SOCKETNOTFOUNDINDESTINATIONS             -195
-#define ERR_RTP_TCPTRANS_ERRORINSEND                              -196
-#define ERR_RTP_TCPTRANS_ERRORINRECV                              -197
-
-#endif // RTPERRORS_H
-
diff --git a/qrtplib.old/rtpinternalutils.h b/qrtplib.old/rtpinternalutils.h
deleted file mode 100644
index 503401bf2..000000000
--- a/qrtplib.old/rtpinternalutils.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2011 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for 
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-#ifndef RTPINTERNALUTILS_H
-
-#define RTPINTERNALUTILS_H
-
-//#include "rtpconfig.h"
-
-#if defined(RTP_HAVE_SNPRINTF_S)
-	#include <windows.h>
-	#include <stdio.h>
-	#define RTP_SNPRINTF _snprintf_s
-#elif defined(RTP_HAVE_SNPRINTF)
-	#include <windows.h>
-	#include <stdio.h>
-	#define RTP_SNPRINTF _snprintf
-#else
-	#include <stdio.h>
-	#define RTP_SNPRINTF snprintf
-#endif 
-
-#ifdef RTP_HAVE_STRNCPY_S
-	#define RTP_STRNCPY(dest, src, len) strncpy_s((dest), (len), (src), _TRUNCATE)
-#else
-	#define RTP_STRNCPY(dest, src, len) strncpy((dest), (src), (len))
-#endif // RTP_HAVE_STRNCPY_S
-
-#endif // RTPINTERNALUTILS_H
-
diff --git a/qrtplib.old/rtppacket.cpp b/qrtplib.old/rtppacket.cpp
deleted file mode 100644
index 15a28b8fe..000000000
--- a/qrtplib.old/rtppacket.cpp
+++ /dev/null
@@ -1,441 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-#include "rtppacket.h"
-#include "rtpstructs.h"
-#include "rtpdefines.h"
-#include "rtperrors.h"
-#include "rtprawpacket.h"
-#include <string.h>
-
-#ifdef RTPDEBUG
-	#include <stdio.h>
-#endif // RTPDEBUG
-
-//#include "rtpdebug.h"
-
-namespace qrtplib
-{
-
-void RTPPacket::Clear()
-{
-	hasextension = false;
-	hasmarker = false;
-	numcsrcs = 0;
-	payloadtype = 0;
-	extseqnr = 0;
-	timestamp = 0;
-	ssrc = 0;
-	packet = 0;
-	payload = 0;
-	packetlength = 0;
-	payloadlength = 0;
-	extid = 0;
-	extension = 0;
-	extensionlength = 0;
-	error = 0;
-	externalbuffer = false;
-
-    uint32_t endianTest32 = 1;
-    uint8_t *ptr = (uint8_t*) &endianTest32;
-    m_littleEndian = (*ptr == 1);
-}
-
-RTPPacket::RTPPacket(RTPRawPacket &rawpack) : receivetime(rawpack.GetReceiveTime())
-{
-	Clear();
-	error = ParseRawPacket(rawpack);
-}
-
-RTPPacket::RTPPacket(
-        uint8_t payloadtype,
-        const void *payloaddata,
-        std::size_t payloadlen,
-        uint16_t seqnr,
-        uint32_t timestamp,
-        uint32_t ssrc,
-        bool gotmarker,
-        uint8_t numcsrcs,
-        const uint32_t *csrcs,
-        bool gotextension,
-        uint16_t extensionid,
-        uint16_t extensionlen_numwords,
-        const void *extensiondata,
-        std::size_t maxpacksize) : receivetime(0,0)
-{
-	Clear();
-
-	error = BuildPacket(
-	        payloadtype,
-	        payloaddata,
-	        payloadlen,
-	        seqnr,
-	        timestamp,
-	        ssrc,
-	        gotmarker,
-	        numcsrcs,
-	        csrcs,
-	        gotextension,
-	        extensionid,
-	        extensionlen_numwords,
-	        extensiondata,
-	        0,
-	        maxpacksize);
-}
-
-RTPPacket::RTPPacket(
-        uint8_t payloadtype,
-        const void *payloaddata,
-        std::size_t payloadlen,
-        uint16_t seqnr,
-        uint32_t timestamp,
-        uint32_t ssrc,
-        bool gotmarker,
-        uint8_t numcsrcs,
-        const uint32_t *csrcs,
-        bool gotextension,
-        uint16_t extensionid,
-        uint16_t extensionlen_numwords,
-        const void *extensiondata,
-        void *buffer,
-        std::size_t buffersize) : receivetime(0,0)
-{
-	Clear();
-
-	if (buffer == 0) {
-		error = ERR_RTP_PACKET_EXTERNALBUFFERNULL;
-	} else if (buffersize <= 0) {
-		error = ERR_RTP_PACKET_ILLEGALBUFFERSIZE;
-	} else {
-		error = BuildPacket(
-		        payloadtype,
-		        payloaddata,
-		        payloadlen,
-		        seqnr,
-		        timestamp,
-		        ssrc,
-		        gotmarker,
-		        numcsrcs,
-		        csrcs,
-		        gotextension,
-		        extensionid,
-		        extensionlen_numwords,
-		        extensiondata,
-		        buffer,
-		        buffersize);
-	}
-}
-
-int RTPPacket::ParseRawPacket(RTPRawPacket &rawpack)
-{
-	uint8_t *packetbytes;
-	std::size_t packetlen;
-	uint8_t payloadtype;
-	RTPHeader *rtpheader;
-	bool marker;
-	int csrccount;
-	bool hasextension;
-	int payloadoffset,payloadlength;
-	int numpadbytes;
-	RTPExtensionHeader *rtpextheader;
-
-	if (!rawpack.IsRTP()) { // If we didn't receive it on the RTP port, we'll ignore it
-		return ERR_RTP_PACKET_INVALIDPACKET;
-	}
-
-	// The length should be at least the size of the RTP header
-	packetlen = rawpack.GetDataLength();
-
-	if (packetlen < sizeof(RTPHeader)) {
-		return ERR_RTP_PACKET_INVALIDPACKET;
-	}
-
-	packetbytes = (uint8_t *)rawpack.GetData();
-	rtpheader = (RTPHeader *)packetbytes;
-
-	// The version number should be correct
-	if (rtpheader->version != RTP_VERSION) {
-		return ERR_RTP_PACKET_INVALIDPACKET;
-	}
-
-	// We'll check if this is possibly a RTCP packet. For this to be possible
-	// the marker bit and payload type combined should be either an SR or RR
-	// identifier
-	marker = (rtpheader->marker == 0)?false:true;
-	payloadtype = rtpheader->payloadtype;
-
-	if (marker)
-	{
-		if (payloadtype == (RTP_RTCPTYPE_SR & 127)) { // don't check high bit (this was the marker!!)
-			return ERR_RTP_PACKET_INVALIDPACKET;
-		}
-		if (payloadtype == (RTP_RTCPTYPE_RR & 127)) {
-			return ERR_RTP_PACKET_INVALIDPACKET;
-		}
-	}
-
-	csrccount = rtpheader->csrccount;
-	payloadoffset = sizeof(RTPHeader)+(int)(csrccount*sizeof(uint32_t));
-
-	if (rtpheader->padding) // adjust payload length to take padding into account
-	{
-		numpadbytes = (int)packetbytes[packetlen-1]; // last byte contains number of padding bytes
-		if (numpadbytes <= 0) {
-			return ERR_RTP_PACKET_INVALIDPACKET;
-		}
-	}
-	else
-	{
-		numpadbytes = 0;
-	}
-
-	hasextension = (rtpheader->extension != 0);
-
-	if (hasextension) // got header extension
-	{
-		rtpextheader = (RTPExtensionHeader *)(packetbytes+payloadoffset);
-		payloadoffset += sizeof(RTPExtensionHeader);
-
-		uint16_t exthdrlen = qToHost(rtpextheader->length); // ntohs(rtpextheader->length);
-		payloadoffset += ((int)exthdrlen)*sizeof(uint32_t);
-	}
-	else
-	{
-		rtpextheader = 0;
-	}
-
-	payloadlength = packetlen-numpadbytes-payloadoffset;
-
-	if (payloadlength < 0) {
-		return ERR_RTP_PACKET_INVALIDPACKET;
-	}
-
-	// Now, we've got a valid packet, so we can create a new instance of RTPPacket
-	// and fill in the members
-
-	RTPPacket::hasextension = hasextension;
-
-	if (hasextension)
-	{
-		RTPPacket::extid = qToHost(rtpextheader->extid); // ntohs(rtpextheader->extid);
-		RTPPacket::extensionlength = ((int)qToHost(rtpextheader->length))*sizeof(uint32_t); // ((int)ntohs(rtpextheader->length))*sizeof(uint32_t);
-		RTPPacket::extension = ((uint8_t *)rtpextheader)+sizeof(RTPExtensionHeader);
-	}
-
-	RTPPacket::hasmarker = marker;
-	RTPPacket::numcsrcs = csrccount;
-	RTPPacket::payloadtype = payloadtype;
-
-	// Note: we don't fill in the EXTENDED sequence number here, since we
-	// don't have information about the source here. We just fill in the low
-	// 16 bits
-	RTPPacket::extseqnr = (uint32_t) qToHost(rtpheader->sequencenumber); // ntohs(rtpheader->sequencenumber);
-
-	RTPPacket::timestamp = qToHost(rtpheader->timestamp); // ntohl(rtpheader->timestamp);
-	RTPPacket::ssrc = qToHost(rtpheader->ssrc); // ntohl(rtpheader->ssrc);
-	RTPPacket::packet = packetbytes;
-	RTPPacket::payload = packetbytes+payloadoffset;
-	RTPPacket::packetlength = packetlen;
-	RTPPacket::payloadlength = payloadlength;
-
-	// We'll zero the data of the raw packet, since we're using it here now!
-	rawpack.ZeroData();
-
-	return 0;
-}
-
-uint32_t RTPPacket::GetCSRC(int num) const
-{
-	if (num >= numcsrcs) {
-		return 0;
-	}
-
-	uint8_t *csrcpos;
-	uint32_t *csrcval_nbo;
-	uint32_t csrcval_hbo;
-
-	csrcpos = packet+sizeof(RTPHeader)+num*sizeof(uint32_t);
-	csrcval_nbo = (uint32_t *)csrcpos;
-	csrcval_hbo = qToHost(*csrcval_nbo); // ntohl(*csrcval_nbo);
-	return csrcval_hbo;
-}
-
-int RTPPacket::BuildPacket(
-        uint8_t payloadtype,
-        const void *payloaddata,
-        std::size_t payloadlen,
-        uint16_t seqnr,
-        uint32_t timestamp,
-        uint32_t ssrc,
-        bool gotmarker,
-        uint8_t numcsrcs,
-        const uint32_t *csrcs,
-        bool gotextension,
-        uint16_t extensionid,
-        uint16_t extensionlen_numwords,
-        const void *extensiondata,
-        void *buffer,
-        std::size_t maxsize)
-{
-	if (numcsrcs > RTP_MAXCSRCS) {
-		return ERR_RTP_PACKET_TOOMANYCSRCS;
-	}
-
-	if (payloadtype > 127) { // high bit should not be used
-		return ERR_RTP_PACKET_BADPAYLOADTYPE;
-	}
-	if (payloadtype == 72 || payloadtype == 73) { // could cause confusion with rtcp types
-		return ERR_RTP_PACKET_BADPAYLOADTYPE;
-	}
-
-	packetlength = sizeof(RTPHeader);
-	packetlength += sizeof(uint32_t)*((std::size_t)numcsrcs);
-
-	if (gotextension)
-	{
-		packetlength += sizeof(RTPExtensionHeader);
-		packetlength += sizeof(uint32_t)*((size_t)extensionlen_numwords);
-	}
-
-	packetlength += payloadlen;
-
-	if (maxsize > 0 && packetlength > maxsize)
-	{
-		packetlength = 0;
-		return ERR_RTP_PACKET_DATAEXCEEDSMAXSIZE;
-	}
-
-	// Ok, now we'll just fill in...
-
-	RTPHeader *rtphdr;
-
-	if (buffer == 0)
-	{
-		packet = new uint8_t[packetlength];
-		if (packet == 0)
-		{
-			packetlength = 0;
-			return ERR_RTP_OUTOFMEM;
-		}
-		externalbuffer = false;
-	}
-	else
-	{
-		packet = (uint8_t *)buffer;
-		externalbuffer = true;
-	}
-
-	RTPPacket::hasmarker = gotmarker;
-	RTPPacket::hasextension = gotextension;
-	RTPPacket::numcsrcs = numcsrcs;
-	RTPPacket::payloadtype = payloadtype;
-	RTPPacket::extseqnr = (uint32_t)seqnr;
-	RTPPacket::timestamp = timestamp;
-	RTPPacket::ssrc = ssrc;
-	RTPPacket::payloadlength = payloadlen;
-	RTPPacket::extid = extensionid;
-	RTPPacket::extensionlength = ((std::size_t)extensionlen_numwords)*sizeof(uint32_t);
-
-	rtphdr = (RTPHeader *)packet;
-	rtphdr->version = RTP_VERSION;
-	rtphdr->padding = 0;
-	if (gotmarker)
-		rtphdr->marker = 1;
-	else
-		rtphdr->marker = 0;
-	if (gotextension)
-		rtphdr->extension = 1;
-	else
-		rtphdr->extension = 0;
-	rtphdr->csrccount = numcsrcs;
-	rtphdr->payloadtype = payloadtype&127; // make sure high bit isn't set
-	rtphdr->sequencenumber = qToBigEndian(seqnr); // htons(seqnr);
-	rtphdr->timestamp = qToBigEndian(timestamp); // htonl(timestamp);
-	rtphdr->ssrc = qToBigEndian(ssrc); // htonl(ssrc);
-
-	uint32_t *curcsrc;
-	int i;
-	curcsrc = (uint32_t *)(packet+sizeof(RTPHeader));
-
-	for (i = 0 ; i < numcsrcs ; i++,curcsrc++) {
-		*curcsrc = qToBigEndian(csrcs[i]); // htonl(csrcs[i]);
-	}
-
-	payload = packet+sizeof(RTPHeader)+((std::size_t)numcsrcs)*sizeof(uint32_t);
-
-	if (gotextension)
-	{
-		RTPExtensionHeader *rtpexthdr = (RTPExtensionHeader *)payload;
-
-		rtpexthdr->extid = qToBigEndian(extensionid); // htons(extensionid);
-		rtpexthdr->length = qToBigEndian((uint16_t)extensionlen_numwords); // htons((uint16_t)extensionlen_numwords);
-
-		payload += sizeof(RTPExtensionHeader);
-		memcpy(payload,extensiondata,RTPPacket::extensionlength);
-
-		payload += RTPPacket::extensionlength;
-	}
-
-	memcpy(payload,payloaddata,payloadlen);
-	return 0;
-}
-
-#ifdef RTPDEBUG
-void RTPPacket::Dump()
-{
-	int i;
-
-	printf("Payload type:                %d\n",(int)GetPayloadType());
-	printf("Extended sequence number:    0x%08x\n",GetExtendedSequenceNumber());
-	printf("Timestamp:                   0x%08x\n",GetTimestamp());
-	printf("SSRC:                        0x%08x\n",GetSSRC());
-	printf("Marker:                      %s\n",HasMarker()?"yes":"no");
-	printf("CSRC count:                  %d\n",GetCSRCCount());
-	for (i = 0 ; i < GetCSRCCount() ; i++)
-		printf("    CSRC[%02d]:                0x%08x\n",i,GetCSRC(i));
-	printf("Payload:                     %s\n",GetPayloadData());
-	printf("Payload length:              %d\n",GetPayloadLength());
-	printf("Packet length:               %d\n",GetPacketLength());
-	printf("Extension:                   %s\n",HasExtension()?"yes":"no");
-	if (HasExtension())
-	{
-		printf("    Extension ID:            0x%04x\n",GetExtensionID());
-		printf("    Extension data:          %s\n",GetExtensionData());
-		printf("    Extension length:        %d\n",GetExtensionLength());
-	}
-}
-#endif // RTPDEBUG
-
-} // end namespace
-
diff --git a/qrtplib.old/rtppacket.h b/qrtplib.old/rtppacket.h
deleted file mode 100644
index 6f4f817a4..000000000
--- a/qrtplib.old/rtppacket.h
+++ /dev/null
@@ -1,287 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-/**
- * \file rtppacket.h
- */
-
-#ifndef RTPPACKET_H
-
-#define RTPPACKET_H
-
-//#include "rtpconfig.h"
-//#include "rtptypes.h"
-#include <cstddef>
-#include <QtEndian>
-#include "../qrtplib.old/rtptimeutilities.h"
-
-namespace qrtplib
-{
-
-class RTPRawPacket;
-
-/** Represents an RTP Packet.
- *  The RTPPacket class can be used to parse a RTPRawPacket instance if it represents RTP data.
- *  The class can also be used to create a new RTP packet according to the parameters specified by
- *  the user.
- */
-class RTPPacket
-{
-public:
-	/** Creates an RTPPacket instance based upon the data in \c rawpack.
-	 *  Creates an RTPPacket instance based upon the data in \c rawpack.
-	 *  If successful, the data is moved from the raw packet to the RTPPacket instance.
-	 */
-	RTPPacket(RTPRawPacket &rawpack);
-
-	/** Creates a new buffer for an RTP packet and fills in the fields according to the specified parameters.
-	 *  Creates a new buffer for an RTP packet and fills in the fields according to the specified parameters.
-	 *  If \c maxpacksize is not equal to zero, an error is generated if the total packet size would exceed
-	 *  \c maxpacksize. The arguments of the constructor are self-explanatory. Note that the size of a header
-	 *  extension is specified in a number of 32-bit words.
-	 */
-	RTPPacket(
-	        uint8_t payloadtype,
-	        const void *payloaddata,
-	        std::size_t payloadlen,
-	        uint16_t seqnr,
-	        uint32_t timestamp,
-	        uint32_t ssrc,
-	        bool gotmarker,
-	        uint8_t numcsrcs,
-	        const uint32_t *csrcs,
-	        bool gotextension,
-	        uint16_t extensionid,
-	        uint16_t extensionlen_numwords,
-	        const void *extensiondata,
-	        std::size_t maxpacksize);
-
-	/** This constructor is similar to the other constructor, but here data is stored in an external buffer
-	 *  \c buffer with size \c buffersize. */
-	RTPPacket(uint8_t payloadtype,
-	        const void *payloaddata,
-	        std::size_t payloadlen,
-	        uint16_t seqnr,
-	        uint32_t timestamp,
-	        uint32_t ssrc,
-	        bool gotmarker,
-	        uint8_t numcsrcs,
-	        const uint32_t *csrcs,
-	        bool gotextension,
-	        uint16_t extensionid,
-	        uint16_t extensionlen_numwords,
-	        const void *extensiondata,
-	        void *buffer,
-	        std::size_t buffersize);
-
-	virtual ~RTPPacket()
-	{
-	    if (packet && !externalbuffer){
-	        delete[] packet;
-	        //RTPDeleteByteArray(packet);
-	    }
-	}
-
-	/** If an error occurred in one of the constructors, this function returns the error code. */
-	int GetCreationError() const
-	{
-	    return error;
-	}
-
-	/** Returns \c true if the RTP packet has a header extension and \c false otherwise. */
-	bool HasExtension() const
-	{
-	    return hasextension;
-	}
-
-	/** Returns \c true if the marker bit was set and \c false otherwise. */
-	bool HasMarker() const
-	{
-	    return hasmarker;
-	}
-
-	/** Returns the number of CSRCs contained in this packet. */
-	int GetCSRCCount() const
-	{
-	    return numcsrcs;
-	}
-
-	/** Returns a specific CSRC identifier.
-	 *  Returns a specific CSRC identifier. The parameter \c num can go from 0 to GetCSRCCount()-1.
-	 */
-	uint32_t GetCSRC(int num) const;
-
-	/** Returns the payload type of the packet. */
-	uint8_t GetPayloadType() const
-	{
-	    return payloadtype;
-	}
-
-	/** Returns the extended sequence number of the packet.
-	 *  Returns the extended sequence number of the packet. When the packet is just received,
-	 *  only the low $16$ bits will be set. The high 16 bits can be filled in later.
-	 */
-	uint32_t GetExtendedSequenceNumber() const
-	{
-	    return extseqnr;
-	}
-
-	/** Returns the sequence number of this packet. */
-	uint16_t GetSequenceNumber() const
-	{
-	    return (uint16_t)(extseqnr&0x0000FFFF);
-	}
-
-	/** Sets the extended sequence number of this packet to \c seq. */
-	void SetExtendedSequenceNumber(uint32_t seq)
-	{
-	    extseqnr = seq;
-	}
-
-	/** Returns the timestamp of this packet. */
-	uint32_t GetTimestamp() const
-	{
-	    return timestamp;
-	}
-
-	/** Returns the SSRC identifier stored in this packet. */
-	uint32_t GetSSRC() const
-	{
-	    return ssrc;
-	}
-
-	/** Returns a pointer to the data of the entire packet. */
-	uint8_t *GetPacketData() const
-	{
-	    return packet;
-	}
-
-	/** Returns a pointer to the actual payload data. */
-	uint8_t *GetPayloadData() const
-	{
-	    return payload;
-	}
-
-	/** Returns the length of the entire packet. */
-	std::size_t GetPacketLength() const
-	{
-	    return packetlength;
-	}
-
-	/** Returns the payload length. */
-	std::size_t GetPayloadLength() const
-	{
-	    return payloadlength;
-	}
-
-	/** If a header extension is present, this function returns the extension identifier. */
-	uint16_t GetExtensionID() const
-	{
-	    return extid;
-	}
-
-	/** Returns the length of the header extension data. */
-	uint8_t *GetExtensionData() const
-	{
-	    return extension;
-	}
-
-	/** Returns the length of the header extension data. */
-	std::size_t GetExtensionLength() const
-	{
-	    return extensionlength;
-	}
-#ifdef RTPDEBUG
-	void Dump();
-#endif // RTPDEBUG
-
-	/** Returns the time at which this packet was received.
-	 *  When an RTPPacket instance is created from an RTPRawPacket instance, the raw packet's
-	 *  reception time is stored in the RTPPacket instance. This function then retrieves that
-	 *  time.
-	 */
-	RTPTime GetReceiveTime() const
-	{
-	    return receivetime;
-	}
-
-private:
-	void Clear();
-	int ParseRawPacket(RTPRawPacket &rawpack);
-	int BuildPacket(
-	        uint8_t payloadtype,
-	        const void *payloaddata,
-	        std::size_t payloadlen,
-	        uint16_t seqnr,
-	        uint32_t timestamp,
-	        uint32_t ssrc,
-	        bool gotmarker,
-	        uint8_t numcsrcs,
-	        const uint32_t *csrcs,
-	        bool gotextension,
-	        uint16_t extensionid,
-	        uint16_t extensionlen_numwords,
-	        const void *extensiondata,
-	        void *buffer,
-	        std::size_t maxsize);
-
-	template<typename T>
-	T qToHost(const T& x) const {
-	    return m_littleEndian ? qToLittleEndian(x) : qToBigEndian(x);
-	}
-
-	int error;
-	bool m_littleEndian;
-
-	bool hasextension,hasmarker;
-	int numcsrcs;
-
-	uint8_t payloadtype;
-	uint32_t extseqnr,timestamp,ssrc;
-	uint8_t *packet,*payload;
-	std::size_t packetlength,payloadlength;
-
-	uint16_t extid;
-	uint8_t *extension;
-	std::size_t extensionlength;
-
-	bool externalbuffer;
-
-	RTPTime receivetime;
-};
-
-} // end namespace
-
-#endif // RTPPACKET_H
-
diff --git a/qrtplib.old/rtppacketbuilder.cpp b/qrtplib.old/rtppacketbuilder.cpp
deleted file mode 100644
index 3a281b42e..000000000
--- a/qrtplib.old/rtppacketbuilder.cpp
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-#include "../qrtplib.old/rtppacketbuilder.h"
-
-#include <time.h>
-#include <stdlib.h>
-
-#include "../qrtplib.old/rtperrors.h"
-#include "../qrtplib.old/rtppacket.h"
-#include "../qrtplib.old/rtpsources.h"
-//#include "rtpdebug.h"
-
-namespace qrtplib
-{
-
-RTPPacketBuilder::RTPPacketBuilder(RTPRandom &r) : rtprnd(r), lastwallclocktime(0,0)
-{
-	init = false;
-	deftsset = false;
-	defaultpayloadtype = 0;
-	lastrtptimestamp = 0;
-	ssrc = 0;
-	numcsrcs = 0;
-	defmarkset = false;
-	defaultmark = false;
-	defaulttimestampinc = 0;
-	timestamp = 0;
-	buffer = 0;
-	numpackets = 0;
-	seqnr = 0;
-	numpayloadbytes = 0;
-	prevrtptimestamp = 0;
-	defptset = false;
-}
-
-RTPPacketBuilder::~RTPPacketBuilder()
-{
-	Destroy();
-}
-
-int RTPPacketBuilder::Init(std::size_t max)
-{
-	if (init) {
-		return ERR_RTP_PACKBUILD_ALREADYINIT;
-	}
-
-	if (max <= 0) {
-		return ERR_RTP_PACKBUILD_INVALIDMAXPACKETSIZE;
-	}
-
-	maxpacksize = max;
-	buffer = new uint8_t[max];
-	if (buffer == 0) {
-		return ERR_RTP_OUTOFMEM;
-	}
-	packetlength = 0;
-
-	CreateNewSSRC();
-
-	deftsset = false;
-	defptset = false;
-	defmarkset = false;
-
-	numcsrcs = 0;
-
-	init = true;
-	return 0;
-}
-
-void RTPPacketBuilder::Destroy()
-{
-	if (!init) {
-		return;
-	}
-	delete[] buffer;
-	init = false;
-}
-
-int RTPPacketBuilder::SetMaximumPacketSize(std::size_t max)
-{
-	uint8_t *newbuf;
-
-	if (max <= 0) {
-		return ERR_RTP_PACKBUILD_INVALIDMAXPACKETSIZE;
-	}
-	newbuf = new uint8_t[max];
-	if (newbuf == 0) {
-		return ERR_RTP_OUTOFMEM;
-	}
-
-	delete[] buffer;
-	buffer = newbuf;
-	maxpacksize = max;
-	return 0;
-}
-
-int RTPPacketBuilder::AddCSRC(uint32_t csrc)
-{
-    if (!init) {
-        return ERR_RTP_PACKBUILD_NOTINIT;
-    }
-    if (numcsrcs >= RTP_MAXCSRCS) {
-        return ERR_RTP_PACKBUILD_CSRCLISTFULL;
-    }
-
-    int i;
-
-    for (i = 0; i < numcsrcs; i++) {
-        if (csrcs[i] == csrc) {
-            return ERR_RTP_PACKBUILD_CSRCALREADYINLIST;
-        }
-    }
-    csrcs[numcsrcs] = csrc;
-    numcsrcs++;
-    return 0;
-}
-
-int RTPPacketBuilder::DeleteCSRC(uint32_t csrc)
-{
-	if (!init) {
-		return ERR_RTP_PACKBUILD_NOTINIT;
-	}
-
-	int i = 0;
-	bool found = false;
-
-	while (!found && i < numcsrcs)
-	{
-		if (csrcs[i] == csrc) {
-			found = true;
-		} else {
-			i++;
-		}
-	}
-
-	if (!found) {
-		return ERR_RTP_PACKBUILD_CSRCNOTINLIST;
-	}
-
-	// move the last csrc in the place of the deleted one
-	numcsrcs--;
-	if (numcsrcs > 0 && numcsrcs != i) {
-		csrcs[i] = csrcs[numcsrcs];
-	}
-
-	return 0;
-}
-
-void RTPPacketBuilder::ClearCSRCList()
-{
-	if (!init) {
-		return;
-	}
-	numcsrcs = 0;
-}
-
-uint32_t RTPPacketBuilder::CreateNewSSRC()
-{
-	ssrc = rtprnd.GetRandom32();
-	timestamp = rtprnd.GetRandom32();
-	seqnr = rtprnd.GetRandom16();
-
-	// p 38: the count SHOULD be reset if the sender changes its SSRC identifier
-	numpayloadbytes = 0;
-	numpackets = 0;
-	return ssrc;
-}
-
-uint32_t RTPPacketBuilder::CreateNewSSRC(RTPSources &sources)
-{
-	bool found;
-
-	do
-	{
-		ssrc = rtprnd.GetRandom32();
-		found = sources.GotEntry(ssrc);
-	} while (found);
-
-	timestamp = rtprnd.GetRandom32();
-	seqnr = rtprnd.GetRandom16();
-
-	// p 38: the count SHOULD be reset if the sender changes its SSRC identifier
-	numpayloadbytes = 0;
-	numpackets = 0;
-	return ssrc;
-}
-
-int RTPPacketBuilder::BuildPacket(const void *data, std::size_t len)
-{
-	if (!init)
-		return ERR_RTP_PACKBUILD_NOTINIT;
-	if (!defptset)
-		return ERR_RTP_PACKBUILD_DEFAULTPAYLOADTYPENOTSET;
-	if (!defmarkset)
-		return ERR_RTP_PACKBUILD_DEFAULTMARKNOTSET;
-	if (!deftsset)
-		return ERR_RTP_PACKBUILD_DEFAULTTSINCNOTSET;
-	return PrivateBuildPacket(data,len,defaultpayloadtype,defaultmark,defaulttimestampinc,false);
-}
-
-int RTPPacketBuilder::BuildPacket(const void *data, std::size_t len,
-                uint8_t pt,bool mark,uint32_t timestampinc)
-{
-	if (!init) {
-		return ERR_RTP_PACKBUILD_NOTINIT;
-	}
-
-	return PrivateBuildPacket(data,len,pt,mark,timestampinc,false);
-}
-
-int RTPPacketBuilder::BuildPacketEx(const void *data, std::size_t len,
-                  uint16_t hdrextID, const void *hdrextdata, std::size_t numhdrextwords)
-{
-	if (!init)
-		return ERR_RTP_PACKBUILD_NOTINIT;
-	if (!defptset)
-		return ERR_RTP_PACKBUILD_DEFAULTPAYLOADTYPENOTSET;
-	if (!defmarkset)
-		return ERR_RTP_PACKBUILD_DEFAULTMARKNOTSET;
-	if (!deftsset)
-		return ERR_RTP_PACKBUILD_DEFAULTTSINCNOTSET;
-	return PrivateBuildPacket(data,len,defaultpayloadtype,defaultmark,defaulttimestampinc,true,hdrextID,hdrextdata,numhdrextwords);
-}
-
-int RTPPacketBuilder::BuildPacketEx(const void *data, std::size_t len,
-                  uint8_t pt, bool mark, uint32_t timestampinc,
-		  uint16_t hdrextID, const void *hdrextdata, std::size_t numhdrextwords)
-{
-	if (!init) {
-		return ERR_RTP_PACKBUILD_NOTINIT;
-	}
-	return PrivateBuildPacket(data,len,pt,mark,timestampinc,true,hdrextID,hdrextdata,numhdrextwords);
-
-}
-
-int RTPPacketBuilder::PrivateBuildPacket(const void *data, std::size_t len,
-	                  uint8_t pt, bool mark, uint32_t timestampinc, bool gotextension,
-	                  uint16_t hdrextID, const void *hdrextdata, std::size_t numhdrextwords)
-{
-	RTPPacket p(pt,data,len,seqnr,timestamp,ssrc,mark,numcsrcs,csrcs,gotextension,hdrextID,
-	            (uint16_t)numhdrextwords,hdrextdata,buffer,maxpacksize,GetMemoryManager());
-	int status = p.GetCreationError();
-
-	if (status < 0) {
-		return status
-	};
-	packetlength = p.GetPacketLength();
-
-	if (numpackets == 0) // first packet
-	{
-		lastwallclocktime = RTPTime::CurrentTime();
-		lastrtptimestamp = timestamp;
-		prevrtptimestamp = timestamp;
-	}
-	else if (timestamp != prevrtptimestamp)
-	{
-		lastwallclocktime = RTPTime::CurrentTime();
-		lastrtptimestamp = timestamp;
-		prevrtptimestamp = timestamp;
-	}
-
-	numpayloadbytes += (uint32_t)p.GetPayloadLength();
-	numpackets++;
-	timestamp += timestampinc;
-	seqnr++;
-
-	return 0;
-}
-
-} // end namespace
-
diff --git a/qrtplib.old/rtppacketbuilder.h b/qrtplib.old/rtppacketbuilder.h
deleted file mode 100644
index b421b33f1..000000000
--- a/qrtplib.old/rtppacketbuilder.h
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for 
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-/**
- * \file rtppacketbuilder.h
- */
-
-#ifndef RTPPACKETBUILDER_H
-
-#define RTPPACKETBUILDER_H
-
-//#include "rtpconfig.h"
-#include "../qrtplib.old/rtpdefines.h"
-#include "../qrtplib.old/rtperrors.h"
-#include "../qrtplib.old/rtprandom.h"
-#include "../qrtplib.old/rtptimeutilities.h"
-//#include "rtptypes.h"
-
-namespace qrtplib
-{
-
-class RTPSources;
-
-/** This class can be used to build RTP packets and is a bit more high-level than the RTPPacket 
- *  class: it generates an SSRC identifier, keeps track of timestamp and sequence number etc.
- */
-class RTPPacketBuilder
-{
-public:
-	/** Constructs an instance which will use \c rtprand for generating random numbers
-	 *  (used to initialize the SSRC value and sequence number), optionally installing a memory manager. 
-	 **/
-	RTPPacketBuilder(RTPRandom &rtprand);
-	~RTPPacketBuilder();
-
-	/** Initializes the builder to only allow packets with a size below \c maxpacksize. */
-	int Init(std::size_t maxpacksize);
-
-	/** Cleans up the builder. */
-	void Destroy();
-
-	/** Returns the number of packets which have been created with the current SSRC identifier. */
-	uint32_t GetPacketCount()					{ if (!init) return 0; return numpackets; }
-
-	/** Returns the number of payload octets which have been generated with this SSRC identifier. */
-	uint32_t GetPayloadOctetCount()				{ if (!init) return 0; return numpayloadbytes; }
-
-	/** Sets the maximum allowed packet size to \c maxpacksize. */
-	int SetMaximumPacketSize(std::size_t maxpacksize);
-
-	/** Adds a CSRC to the CSRC list which will be stored in the RTP packets. */
-	int AddCSRC(uint32_t csrc);
-
-	/** Deletes a CSRC from the list which will be stored in the RTP packets. */
-	int DeleteCSRC(uint32_t csrc);
-
-	/** Clears the CSRC list. */
-	void ClearCSRCList();	
-	
-	/** Builds a packet with payload \c data and payload length \c len.
-	 *  Builds a packet with payload \c data and payload length \c len. The payload type, marker 
-	 *  and timestamp increment used will be those that have been set using the \c SetDefault 
-	 *  functions below.
-	 */
-	int BuildPacket(const void *data, std::size_t len);
-
-	/** Builds a packet with payload \c data and payload length \c len.
-	 *  Builds a packet with payload \c data and payload length \c len. The payload type will be 
-	 *  set to \c pt, the marker bit to \c mark and after building this packet, the timestamp will
-	 *  be incremented with \c timestamp.
-	 */
-	int BuildPacket(const void *data, std::size_t len,
-	                uint8_t pt, bool mark, uint32_t timestampinc);
-
-	/** Builds a packet with payload \c data and payload length \c len.
-	 *  Builds a packet with payload \c data and payload length \c len. The payload type, marker 
-	 *  and timestamp increment used will be those that have been set using the \c SetDefault 
-	 *  functions below. This packet will also contain an RTP header extension with identifier 
-	 *  \c hdrextID and data \c hdrextdata. The length of the header extension data is given by 
-	 *  \c numhdrextwords which expresses the length in a number of 32-bit words.
-	 */
-	int BuildPacketEx(const void *data, std::size_t len,
-	                  uint16_t hdrextID, const void *hdrextdata, std::size_t numhdrextwords);
-
-	/** Builds a packet with payload \c data and payload length \c len. 
-	 *  Builds a packet with payload \c data and payload length \c len. The payload type will be set 
-	 *  to \c pt, the marker bit to \c mark and after building this packet, the timestamp will 
-	 *  be incremented with \c timestamp. This packet will also contain an RTP header extension 
-	 *  with identifier \c hdrextID and data \c hdrextdata. The length of the header extension 
-	 *  data is given by \c numhdrextwords which expresses the length in a number of 32-bit words.
-	 */
-	int BuildPacketEx(const void *data, std::size_t len,
-	                  uint8_t pt, bool mark, uint32_t timestampinc,
-	                  uint16_t hdrextID, const void *hdrextdata, std::size_t numhdrextwords);
-
-	/** Returns a pointer to the last built RTP packet data. */
-	uint8_t *GetPacket()						{ if (!init) return 0; return buffer; }
-
-	/** Returns the size of the last built RTP packet. */
-	size_t GetPacketLength()					{ if (!init) return 0; return packetlength; }
-	
-	/** Sets the default payload type to \c pt. */
-	int SetDefaultPayloadType(uint8_t pt);
-
-	/** Sets the default marker bit to \c m. */
-	int SetDefaultMark(bool m);
-
-	/** Sets the default timestamp increment to \c timestampinc. */
-	int SetDefaultTimestampIncrement(uint32_t timestampinc);
-
-	/** This function increments the timestamp with the amount given by \c inc.
-	 *  This function increments the timestamp with the amount given by \c inc. This can be useful 
-	 *  if, for example, a packet was not sent because it contained only silence. Then, this function 
-	 *  should be called to increment the timestamp with the appropriate amount so that the next packets 
-	 *  will still be played at the correct time at other hosts.
-	 */
-	int IncrementTimestamp(uint32_t inc);
-
-	/** This function increments the timestamp with the amount given set by the SetDefaultTimestampIncrement
-	 *  member function. 
-	 *  This function increments the timestamp with the amount given set by the SetDefaultTimestampIncrement
-	 *  member function. This can be useful if, for example, a packet was not sent because it contained only silence.
-	 *  Then, this function should be called to increment the timestamp with the appropriate amount so that the next
-	 *  packets will still be played at the correct time at other hosts.	
-	 */
-	int IncrementTimestampDefault();
-	
-	/** Creates a new SSRC to be used in generated packets. 
-	 *  Creates a new SSRC to be used in generated packets. This will also generate new timestamp and 
-	 *  sequence number offsets.
-	 */
-	uint32_t CreateNewSSRC();
-
-	/** Creates a new SSRC to be used in generated packets. 
-	 *  Creates a new SSRC to be used in generated packets. This will also generate new timestamp and 
-	 *  sequence number offsets. The source table \c sources is used to make sure that the chosen SSRC 
-	 *  isn't used by another participant yet.
-	 */
-	uint32_t CreateNewSSRC(RTPSources &sources);
-
-	/** Returns the current SSRC identifier. */
-	uint32_t GetSSRC() const					{ if (!init) return 0; return ssrc; }
-
-	/** Returns the current RTP timestamp. */
-	uint32_t GetTimestamp() const					{ if (!init) return 0; return timestamp; }
-
-	/** Returns the current sequence number. */
-	uint16_t GetSequenceNumber() const				{ if (!init) return 0; return seqnr; }
-
-	/** Returns the time at which a packet was generated.
-	 *  Returns the time at which a packet was generated. This is not necessarily the time at which 
-	 *  the last RTP packet was generated: if the timestamp increment was zero, the time is not updated.
-	 */
-	RTPTime GetPacketTime() const					{ if (!init) return RTPTime(0,0); return lastwallclocktime; }
-
-	/** Returns the RTP timestamp which corresponds to the time returned by the previous function. */
-	uint32_t GetPacketTimestamp() const				{ if (!init) return 0; return lastrtptimestamp; }
-
-	/** Sets a specific SSRC to be used.
-	 *  Sets a specific SSRC to be used. Does not create a new timestamp offset or sequence number
-	 *  offset. Does not reset the packet count or byte count. Think twice before using this!
-	 */
-	void AdjustSSRC(uint32_t s)					{ ssrc = s; }
-private:
-	int PrivateBuildPacket(const void *data, std::size_t len,
-	                  uint8_t pt, bool mark, uint32_t timestampinc, bool gotextension,
-	                  uint16_t hdrextID = 0, const void *hdrextdata = 0, std::size_t numhdrextwords = 0);
-
-	RTPRandom &rtprnd;	
-	std::size_t maxpacksize;
-	uint8_t *buffer;
-	std::size_t packetlength;
-	
-	uint32_t numpayloadbytes;
-	uint32_t numpackets;
-	bool init;
-
-	uint32_t ssrc;
-	uint32_t timestamp;
-	uint16_t seqnr;
-
-	uint32_t defaulttimestampinc;
-	uint8_t defaultpayloadtype;
-	bool defaultmark;
-
-	bool deftsset,defptset,defmarkset;
-
-	uint32_t csrcs[RTP_MAXCSRCS];
-	int numcsrcs;
-
-	RTPTime lastwallclocktime;
-	uint32_t lastrtptimestamp;
-	uint32_t prevrtptimestamp;
-};
-
-inline int RTPPacketBuilder::SetDefaultPayloadType(uint8_t pt)
-{
-	if (!init)
-		return ERR_RTP_PACKBUILD_NOTINIT;
-	defptset = true;
-	defaultpayloadtype = pt;
-	return 0;
-}
-
-inline int RTPPacketBuilder::SetDefaultMark(bool m)
-{
-	if (!init)
-		return ERR_RTP_PACKBUILD_NOTINIT;
-	defmarkset = true;
-	defaultmark = m;
-	return 0;
-}
-
-inline int RTPPacketBuilder::SetDefaultTimestampIncrement(uint32_t timestampinc)
-{
-	if (!init)
-		return ERR_RTP_PACKBUILD_NOTINIT;
-	deftsset = true;
-	defaulttimestampinc = timestampinc;
-	return 0;
-}
-
-inline int RTPPacketBuilder::IncrementTimestamp(uint32_t inc)
-{
-	if (!init)
-		return ERR_RTP_PACKBUILD_NOTINIT;
-	timestamp += inc;
-	return 0;
-}
-
-inline int RTPPacketBuilder::IncrementTimestampDefault()
-{
-	if (!init)
-		return ERR_RTP_PACKBUILD_NOTINIT;
-	if (!deftsset)
-		return ERR_RTP_PACKBUILD_DEFAULTTSINCNOTSET;
-	timestamp += defaulttimestampinc;
-	return 0;
-}
-
-} // end namespace
-
-#endif // RTPPACKETBUILDER_H
-
diff --git a/qrtplib.old/rtprandom.cpp b/qrtplib.old/rtprandom.cpp
deleted file mode 100644
index 6a6aaa207..000000000
--- a/qrtplib.old/rtprandom.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-#include "../qrtplib.old/rtprandom.h"
-
-#include <time.h>
-#include <unistd.h>
-
-#include <QDateTime>
-#include "../qrtplib.old/rtprandomrand48.h"
-#include "../qrtplib.old/rtprandomurandom.h"
-
-//#include "rtpdebug.h"
-
-namespace qrtplib
-{
-
-uint32_t RTPRandom::PickSeed()
-{
-	uint32_t x;
-	x = (uint32_t) getpid();
-	QDateTime currentDateTime = QDateTime::currentDateTime();
-	x += currentDateTime.toTime_t();
-#if defined(WIN32)
-	x += QDateTime::currentMSecsSinceEpoch() % 1000;
-#else
-	x += (uint32_t)clock();
-#endif
-	x ^= (uint32_t)((uint8_t *)this - (uint8_t *)0);
-	return x;
-}
-
-RTPRandom *RTPRandom::CreateDefaultRandomNumberGenerator()
-{
-	RTPRandomURandom *r = new RTPRandomURandom();
-	RTPRandom *rRet = r;
-
-	if (r->Init() < 0) // fall back to rand48
-	{
-		delete r;
-		rRet = new RTPRandomRand48();
-	}
-
-	return rRet;
-}
-
-} // end namespace
-
diff --git a/qrtplib.old/rtprandom.h b/qrtplib.old/rtprandom.h
deleted file mode 100644
index e8316366b..000000000
--- a/qrtplib.old/rtprandom.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for 
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-/**
- * \file rtprandom.h
- */
-
-#ifndef RTPRANDOM_H
-
-#define RTPRANDOM_H
-
-//#include "rtpconfig.h"
-//#include "rtptypes.h"
-#include <stdlib.h>
-#include <stdint.h>
-
-#define RTPRANDOM_2POWMIN63	1.08420217248550443400745280086994171142578125e-19
-
-namespace qrtplib
-{
-
-/** Interface for generating random numbers. */
-class RTPRandom
-{
-public:
-	RTPRandom()											{ }
-	virtual ~RTPRandom()										{ }
-
-	/** Returns a random eight bit value. */
-	virtual uint8_t GetRandom8() = 0;
-
-	/** Returns a random sixteen bit value. */
-	virtual uint16_t GetRandom16() = 0;
-
-	/** Returns a random thirty-two bit value. */
-	virtual uint32_t GetRandom32() = 0;
-
-	/** Returns a random number between $0.0$ and $1.0$. */
-	virtual double GetRandomDouble() = 0;
-
-	/** Can be used by subclasses to generate a seed for a random number generator. */
-	uint32_t PickSeed();
-
-	/** Allocate a default random number generator based on your platform. */
-	static RTPRandom *CreateDefaultRandomNumberGenerator();
-};
-
-} // end namespace
-
-#endif // RTPRANDOM_H
-
diff --git a/qrtplib.old/rtprandomrand48.cpp b/qrtplib.old/rtprandomrand48.cpp
deleted file mode 100644
index 58c79e415..000000000
--- a/qrtplib.old/rtprandomrand48.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for 
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-#include "../qrtplib.old/rtprandomrand48.h"
-
-namespace qrtplib
-{
-
-RTPRandomRand48::RTPRandomRand48()
-{
-	SetSeed(PickSeed());
-}
-
-RTPRandomRand48::RTPRandomRand48(uint32_t seed)
-{
-	SetSeed(seed);
-}
-
-RTPRandomRand48::~RTPRandomRand48()
-{
-}
-
-void RTPRandomRand48::SetSeed(uint32_t seed)
-{
-	state = ((uint64_t)seed) << 16 | 0x330EULL;
-}
-
-uint8_t RTPRandomRand48::GetRandom8()
-{
-	uint32_t x =  ((GetRandom32() >> 24)&0xff);
-
-	return (uint8_t)x;
-}
-
-uint16_t RTPRandomRand48::GetRandom16()
-{
-	uint32_t x =  ((GetRandom32() >> 16)&0xffff);
-
-	return (uint16_t)x;
-}
-
-uint32_t RTPRandomRand48::GetRandom32()
-{
-	state = ((0x5DEECE66DULL*state) + 0xBULL)&0x0000ffffffffffffULL;
-	uint32_t x = (uint32_t)((state>>16)&0xffffffffULL);
-	return x;
-}
-
-double RTPRandomRand48::GetRandomDouble()
-{
-	state = ((0x5DEECE66DULL*state) + 0xBULL)&0x0000ffffffffffffULL;
-	int64_t x = (int64_t)state;
-	double y = 3.552713678800500929355621337890625e-15 * (double)x;
-	return y;
-}
-
-} // end namespace
-
diff --git a/qrtplib.old/rtprandomrand48.h b/qrtplib.old/rtprandomrand48.h
deleted file mode 100644
index dcc85c2a5..000000000
--- a/qrtplib.old/rtprandomrand48.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for 
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-/**
- * \file rtprandomrand48.h
- */
-
-#ifndef RTPRANDOMRAND48_H
-
-#define RTPRANDOMRAND48_H
-
-//#include "rtpconfig.h"
-#include <stdio.h>
-#include <stdint.h>
-#include "../qrtplib.old/rtprandom.h"
-
-namespace qrtplib
-{
-
-/** A random number generator using the algorithm of the rand48 set of functions. */
-class RTPRandomRand48 : public RTPRandom
-{
-public:
-	RTPRandomRand48();
-	RTPRandomRand48(uint32_t seed);
-	~RTPRandomRand48();
-
-	uint8_t GetRandom8();
-	uint16_t GetRandom16();
-	uint32_t GetRandom32();
-	double GetRandomDouble();
-private:
-	void SetSeed(uint32_t seed);
-	uint64_t state;
-};
-
-} // end namespace
-
-#endif // RTPRANDOMRAND48_H
-
diff --git a/qrtplib.old/rtprandomurandom.cpp b/qrtplib.old/rtprandomurandom.cpp
deleted file mode 100644
index fc909dbd6..000000000
--- a/qrtplib.old/rtprandomurandom.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-#include "../qrtplib.old/rtprandomurandom.h"
-
-#include "../qrtplib.old/rtperrors.h"
-
-//#include "rtpdebug.h"
-
-namespace qrtplib
-{
-
-RTPRandomURandom::RTPRandomURandom()
-{
-	device = 0;
-}
-
-RTPRandomURandom::~RTPRandomURandom()
-{
-	if (device)
-		fclose(device);
-}
-
-int RTPRandomURandom::Init()
-{
-	if (device)
-		return ERR_RTP_RTPRANDOMURANDOM_ALREADYOPEN;
-
-	device = fopen("/dev/urandom","rb");
-	if (device == 0)
-		return ERR_RTP_RTPRANDOMURANDOM_CANTOPEN;
-
-	return 0;
-}
-
-uint8_t RTPRandomURandom::GetRandom8()
-{
-	if (!device)
-		return 0;
-
-	uint8_t value;
-
-	if (fread(&value, sizeof(uint8_t), 1, device) == sizeof(uint8_t)) {
-	    return value;
-	} else {
-	    return 0;
-	}
-}
-
-uint16_t RTPRandomURandom::GetRandom16()
-{
-	if (!device)
-		return 0;
-
-	uint16_t value;
-
-    if (fread(&value, sizeof(uint16_t), 1, device) == sizeof(uint16_t)) {
-        return value;
-    } else {
-        return 0;
-    }
-}
-
-uint32_t RTPRandomURandom::GetRandom32()
-{
-	if (!device)
-		return 0;
-
-	uint32_t value;
-
-    if (fread(&value, sizeof(uint32_t), 1, device) == sizeof(uint32_t)) {
-        return value;
-    } else {
-        return 0;
-    }
-
-	return value;
-}
-
-double RTPRandomURandom::GetRandomDouble()
-{
-	if (!device)
-		return 0;
-
-	uint64_t value;
-
-    if (fread(&value, sizeof(uint64_t), 1, device) == sizeof(uint64_t))
-    {
-        value &= 0x7fffffffffffffffULL;
-        int64_t value2 = (int64_t)value;
-        double x = RTPRANDOM_2POWMIN63*(double)value2;
-        return x;
-    }
-    else
-    {
-        return 0;
-    }
-}
-
-} // end namespace
-
diff --git a/qrtplib.old/rtprandomurandom.h b/qrtplib.old/rtprandomurandom.h
deleted file mode 100644
index 272cc95c2..000000000
--- a/qrtplib.old/rtprandomurandom.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for 
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-/**
- * \file rtprandomurandom.h
- */
-
-#ifndef RTPRANDOMURANDOM_H
-
-#define RTPRANDOMURANDOM_H
-
-//#include "rtpconfig.h"
-#include <stdio.h>
-#include "../qrtplib.old/rtprandom.h"
-
-namespace qrtplib
-{
-
-/** A random number generator which uses bytes delivered by the /dev/urandom device. */
-class RTPRandomURandom : public RTPRandom
-{
-public:
-	RTPRandomURandom();
-	~RTPRandomURandom();
-
-	/** Initialize the random number generator. */
-	int Init();
-
-	uint8_t GetRandom8();
-	uint16_t GetRandom16();
-	uint32_t GetRandom32();
-	double GetRandomDouble();
-private:
-	FILE *device;
-};
-
-} // end namespace
-
-#endif // RTPRANDOMURANDOM_H
diff --git a/qrtplib.old/rtprawpacket.h b/qrtplib.old/rtprawpacket.h
deleted file mode 100644
index 0a6ce8bd4..000000000
--- a/qrtplib.old/rtprawpacket.h
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-/**
- * \file rtprawpacket.h
- */
-
-#ifndef RTPRAWPACKET_H
-
-#define RTPRAWPACKET_H
-
-//#include "rtpconfig.h"
-#include <cstddef>
-#include <QHostAddress>
-#include "../qrtplib.old/rtptimeutilities.h"
-
-namespace qrtplib
-{
-
-/** This class is used by the transmission component to store the incoming RTP and RTCP data in. */
-class RTPRawPacket
-{
-public:
-    	/** Creates an instance which stores data from \c data with length \c datalen.
-	 *  Creates an instance which stores data from \c data with length \c datalen. Only the pointer
-	 *  to the data is stored, no actual copy is made! The address from which this packet originated
-	 *  is set to \c address and the time at which the packet was received is set to \c recvtime.
-	 *  The flag which indicates whether this data is RTP or RTCP data is set to \c rtp. A memory
-	 *  manager can be installed as well.
-	 */
-	RTPRawPacket(uint8_t *data, std::size_t datalen, QHostAddress *address, RTPTime &recvtime, bool rtp);
-	~RTPRawPacket();
-
-	/** Returns the pointer to the data which is contained in this packet. */
-	uint8_t *GetData()
-	{
-	    return packetdata;
-	}
-
-	/** Returns the length of the packet described by this instance. */
-	std::size_t GetDataLength() const
-	{
-	    return packetdatalength;
-	}
-
-	/** Returns the time at which this packet was received. */
-	RTPTime GetReceiveTime() const
-	{
-	    return receivetime;
-	}
-
-	/** Returns the address stored in this packet. */
-	const QHostAddress *GetSenderAddress() const
-	{
-	    return senderaddress;
-	}
-
-	/** Returns \c true if this data is RTP data, \c false if it is RTCP data. */
-	bool IsRTP() const
-	{
-	    return isrtp;
-	}
-
-	/** Sets the pointer to the data stored in this packet to zero.
-	 *  Sets the pointer to the data stored in this packet to zero. This will prevent
-	 *  a \c delete call for the actual data when the destructor of RTPRawPacket is called.
-	 *  This function is used by the RTPPacket and RTCPCompoundPacket classes to obtain
-	 *  the packet data (without having to copy it)	and to make sure the data isn't deleted
-	 *  when the destructor of RTPRawPacket is called.
-	 */
-	void ZeroData()
-	{
-	    packetdata = 0;
-	    packetdatalength = 0;
-	}
-
-	/** Allocates a number of bytes for RTP or RTCP data using the memory manager that
-	 *  was used for this raw packet instance, can be useful if the RTPRawPacket::SetData
-	 *  function will be used. */
-	uint8_t *AllocateBytes(bool isrtp, int recvlen) const;
-
-	/** Deallocates the previously stored data and replaces it with the data that's
-	 *  specified, can be useful when e.g. decrypting data in RTPSession::OnChangeIncomingData */
-	void SetData(uint8_t *data, std::size_t datalen);
-
-	/** Deallocates the currently stored RTPAddress instance and replaces it
-	 *  with the one that's specified (you probably don't need this function). */
-	void SetSenderAddress(QHostAddress *address);
-private:
-	void DeleteData();
-
-	uint8_t *packetdata;
-	std::size_t packetdatalength;
-	RTPTime receivetime;
-	QHostAddress *senderaddress;
-	bool isrtp;
-};
-
-inline RTPRawPacket::RTPRawPacket(
-        uint8_t *data,
-        std::size_t datalen,
-        QHostAddress *address,
-        RTPTime &recvtime,
-        bool rtp): receivetime(recvtime)
-{
-	packetdata = data;
-	packetdatalength = datalen;
-	senderaddress = address;
-	isrtp = rtp;
-}
-
-inline RTPRawPacket::~RTPRawPacket()
-{
-	DeleteData();
-}
-
-inline void RTPRawPacket::DeleteData()
-{
-	if (packetdata) {
-	    delete[] packetdata;
-	}
-
-	packetdata = 0;
-}
-
-inline uint8_t *RTPRawPacket::AllocateBytes(bool isrtp __attribute__((unused)), int recvlen) const
-{
-    return new uint8_t[recvlen];
-}
-
-inline void RTPRawPacket::SetData(uint8_t *data, std::size_t datalen)
-{
-	if (packetdata) {
-	    delete[] packetdata;
-	}
-
-	packetdata = data;
-	packetdatalength = datalen;
-}
-
-inline void RTPRawPacket::SetSenderAddress(QHostAddress *address)
-{
-	senderaddress = address;
-}
-
-} // end namespace
-
-#endif // RTPRAWPACKET_H
-
diff --git a/qrtplib.old/rtpstructs.h b/qrtplib.old/rtpstructs.h
deleted file mode 100644
index 859674fe7..000000000
--- a/qrtplib.old/rtpstructs.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-/**
- * \file rtpstructs.h
- */
-
-#ifndef RTPSTRUCTS_H
-
-#define RTPSTRUCTS_H
-
-//#include "rtpconfig.h"
-//#include "rtptypes.h"
-
-namespace qrtplib
-{
-
-struct RTPHeader
-{
-#ifdef RTP_BIG_ENDIAN
-	uint8_t version:2;
-	uint8_t padding:1;
-	uint8_t extension:1;
-	uint8_t csrccount:4;
-
-	uint8_t marker:1;
-	uint8_t payloadtype:7;
-#else // little endian
-	uint8_t csrccount:4;
-	uint8_t extension:1;
-	uint8_t padding:1;
-	uint8_t version:2;
-
-	uint8_t payloadtype:7;
-	uint8_t marker:1;
-#endif // RTP_BIG_ENDIAN
-
-	uint16_t sequencenumber;
-	uint32_t timestamp;
-	uint32_t ssrc;
-};
-
-struct RTPExtensionHeader
-{
-	uint16_t extid;
-	uint16_t length;
-};
-
-struct RTPSourceIdentifier
-{
-	uint32_t ssrc;
-};
-
-struct RTCPCommonHeader
-{
-#ifdef RTP_BIG_ENDIAN
-	uint8_t version:2;
-	uint8_t padding:1;
-	uint8_t count:5;
-#else // little endian
-	uint8_t count:5;
-	uint8_t padding:1;
-	uint8_t version:2;
-#endif // RTP_BIG_ENDIAN
-
-	uint8_t packettype;
-	uint16_t length;
-};
-
-struct RTCPSenderReport
-{
-	uint32_t ntptime_msw;
-	uint32_t ntptime_lsw;
-	uint32_t rtptimestamp;
-	uint32_t packetcount;
-	uint32_t octetcount;
-};
-
-struct RTCPReceiverReport
-{
-	uint32_t ssrc; // Identifies about which SSRC's data this report is...
-	uint8_t fractionlost;
-	uint8_t packetslost[3];
-	uint32_t exthighseqnr;
-	uint32_t jitter;
-	uint32_t lsr;
-	uint32_t dlsr;
-};
-
-struct RTCPSDESHeader
-{
-	uint8_t sdesid;
-	uint8_t length;
-};
-
-} // end namespace
-
-#endif // RTPSTRUCTS
-
diff --git a/qrtplib.old/rtptimeutilities.cpp b/qrtplib.old/rtptimeutilities.cpp
deleted file mode 100644
index d3df02cc7..000000000
--- a/qrtplib.old/rtptimeutilities.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-//#include "rtpconfig.h"
-#include "../qrtplib.old/rtptimeutilities.h"
-
-namespace qrtplib
-{
-
-RTPTimeInitializerObject::RTPTimeInitializerObject()
-{
-	dummy = -1;
-}
-
-} // end namespace
diff --git a/qrtplib.old/rtptimeutilities.h b/qrtplib.old/rtptimeutilities.h
deleted file mode 100644
index ffdd93fb7..000000000
--- a/qrtplib.old/rtptimeutilities.h
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
-  Rewritten to fit into the Qt Network framework
-  Copyright (c) 2018 Edouard Griffiths, F4EXB
-
-  This file is a part of JRTPLIB
-  Copyright (c) 1999-2017 Jori Liesenborgs
-
-  Contact: jori.liesenborgs@gmail.com
-
-  This library was developed at the Expertise Centre for Digital Media
-  (http://www.edm.uhasselt.be), a research center of the Hasselt University
-  (http://www.uhasselt.be). The library is based upon work done for
-  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).
-
-  Permission is hereby granted, free of charge, to any person obtaining a
-  copy of this software and associated documentation files (the "Software"),
-  to deal in the Software without restriction, including without limitation
-  the rights to use, copy, modify, merge, publish, distribute, sublicense,
-  and/or sell copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-  IN THE SOFTWARE.
-
-*/
-
-/**
- * \file rtptimeutilities.h
- */
-
-#ifndef RTPTIMEUTILITIES_H
-
-#define RTPTIMEUTILITIES_H
-
-//#include "rtpconfig.h"
-//#include "rtptypes.h"
-#include <sys/time.h>
-#include <time.h>
-#include <errno.h>
-#include <stdint.h>
-
-#define RTP_NTPTIMEOFFSET 2208988800UL
-#define C1000000 1000000ULL
-#define CEPOCH 11644473600000000ULL
-
-namespace qrtplib
-{
-
-/**
- * This is a simple wrapper for the most significant word (MSW) and least
- * significant word (LSW) of an NTP timestamp.
- */
-class RTPNTPTime
-{
-public:
-	/** This constructor creates and instance with MSW \c m and LSW \c l. */
-	RTPNTPTime(uint32_t m, uint32_t l)					{ msw = m ; lsw = l; }
-
-	/** Returns the most significant word. */
-	uint32_t GetMSW() const								{ return msw; }
-
-	/** Returns the least significant word. */
-	uint32_t GetLSW() const								{ return lsw; }
-private:
-	uint32_t msw,lsw;
-};
-
-/** This class is used to specify wallclock time, delay intervals etc.
- *  This class is used to specify wallclock time, delay intervals etc.
- *  It stores a number of seconds and a number of microseconds.
- */
-class RTPTime
-{
-public:
-	/** Returns an RTPTime instance representing the current wallclock time.
-	 *  Returns an RTPTime instance representing the current wallclock time. This is expressed
-	 *  as a number of seconds since 00:00:00 UTC, January 1, 1970.
-	 */
-	static RTPTime CurrentTime();
-
-	/** This function waits the amount of time specified in \c delay. */
-	static void Wait(const RTPTime &delay);
-
-	/** Creates an RTPTime instance representing \c t, which is expressed in units of seconds. */
-	RTPTime(double t);
-
-	/** Creates an instance that corresponds to \c ntptime.
-	 *  Creates an instance that corresponds to \c ntptime.  If
-	 *  the conversion cannot be made, both the seconds and the
-	 *  microseconds are set to zero.
-	 */
-	RTPTime(RTPNTPTime ntptime);
-
-	/** Creates an instance corresponding to \c seconds and \c microseconds. */
-	RTPTime(int64_t seconds, uint32_t microseconds);
-
-	/** Returns the number of seconds stored in this instance. */
-	int64_t GetSeconds() const;
-
-	/** Returns the number of microseconds stored in this instance. */
-	uint32_t GetMicroSeconds() const;
-
-	/** Returns the time stored in this instance, expressed in units of seconds. */
-	double GetDouble() const 										{ return m_t; }
-
-	/** Returns the NTP time corresponding to the time stored in this instance. */
-	RTPNTPTime GetNTPTime() const;
-
-	RTPTime &operator-=(const RTPTime &t);
-	RTPTime &operator+=(const RTPTime &t);
-	bool operator<(const RTPTime &t) const;
-	bool operator>(const RTPTime &t) const;
-	bool operator<=(const RTPTime &t) const;
-	bool operator>=(const RTPTime &t) const;
-
-	bool IsZero() const { return m_t == 0; }
-private:
-	double m_t;
-};
-
-inline RTPTime::RTPTime(double t)
-{
-	m_t = t;
-}
-
-inline RTPTime::RTPTime(int64_t seconds, uint32_t microseconds)
-{
-	if (seconds >= 0)
-	{
-		m_t = (double)seconds + 1e-6*(double)microseconds;
-	}
-	else
-	{
-		int64_t possec = -seconds;
-
-		m_t = (double)possec + 1e-6*(double)microseconds;
-		m_t = -m_t;
-	}
-}
-
-inline RTPTime::RTPTime(RTPNTPTime ntptime)
-{
-	if (ntptime.GetMSW() < RTP_NTPTIMEOFFSET)
-	{
-		m_t = 0;
-	}
-	else
-	{
-		uint32_t sec = ntptime.GetMSW() - RTP_NTPTIMEOFFSET;
-
-		double x = (double)ntptime.GetLSW();
-		x /= (65536.0*65536.0);
-		x *= 1000000.0;
-		uint32_t microsec = (uint32_t)x;
-
-		m_t = (double)sec + 1e-6*(double)microsec;
-	}
-}
-
-inline int64_t RTPTime::GetSeconds() const
-{
-	return (int64_t)m_t;
-}
-
-inline uint32_t RTPTime::GetMicroSeconds() const
-{
-	uint32_t microsec;
-
-	if (m_t >= 0)
-	{
-		int64_t sec = (int64_t)m_t;
-		microsec = (uint32_t)(1e6*(m_t - (double)sec) + 0.5);
-	}
-	else // m_t < 0
-	{
-		int64_t sec = (int64_t)(-m_t);
-		microsec = (uint32_t)(1e6*((-m_t) - (double)sec) + 0.5);
-	}
-
-	if (microsec >= 1000000)
-		return 999999;
-	// Unsigned, it can never be less than 0
-	// if (microsec < 0)
-	// 	return 0;
-	return microsec;
-}
-
-#ifdef RTP_HAVE_CLOCK_GETTIME
-inline double RTPTime_timespecToDouble(struct timespec &ts)
-{
-	return (double)ts.tv_sec + 1e-9*(double)ts.tv_nsec;
-}
-
-inline RTPTime RTPTime::CurrentTime()
-{
-	static bool s_initialized = false;
-	static double s_startOffet = 0;
-
-	if (!s_initialized)
-	{
-		s_initialized = true;
-
-		// Get the corresponding times in system time and monotonic time
-		struct timespec tpSys, tpMono;
-
-		clock_gettime(CLOCK_REALTIME, &tpSys);
-		clock_gettime(CLOCK_MONOTONIC, &tpMono);
-
-		double tSys = RTPTime_timespecToDouble(tpSys);
-		double tMono = RTPTime_timespecToDouble(tpMono);
-
-		s_startOffet = tSys - tMono;
-		return tSys;
-	}
-
-	struct timespec tpMono;
-	clock_gettime(CLOCK_MONOTONIC, &tpMono);
-
-	double tMono0 = RTPTime_timespecToDouble(tpMono);
-	return tMono0 + s_startOffet;
-}
-
-#else // gettimeofday fallback
-
-inline RTPTime RTPTime::CurrentTime()
-{
-	struct timeval tv;
-
-	gettimeofday(&tv,0);
-	return RTPTime((uint64_t)tv.tv_sec,(uint32_t)tv.tv_usec);
-}
-#endif // RTP_HAVE_CLOCK_GETTIME
-
-inline void RTPTime::Wait(const RTPTime &delay)
-{
-	if (delay.m_t <= 0)
-		return;
-
-	uint64_t sec = (uint64_t)delay.m_t;
-	uint64_t nanosec = (uint32_t)(1e9*(delay.m_t-(double)sec));
-
-	struct timespec req,rem;
-	int ret;
-
-	req.tv_sec = (time_t)sec;
-	req.tv_nsec = ((long)nanosec);
-	do
-	{
-		ret = nanosleep(&req,&rem);
-		req = rem;
-	} while (ret == -1 && errno == EINTR);
-}
-
-inline RTPTime &RTPTime::operator-=(const RTPTime &t)
-{
-	m_t -= t.m_t;
-	return *this;
-}
-
-inline RTPTime &RTPTime::operator+=(const RTPTime &t)
-{
-	m_t += t.m_t;
-	return *this;
-}
-
-inline RTPNTPTime RTPTime::GetNTPTime() const
-{
-	uint32_t sec = (uint32_t)m_t;
-	uint32_t microsec = (uint32_t)((m_t - (double)sec)*1e6);
-
-	uint32_t msw = sec+RTP_NTPTIMEOFFSET;
-	uint32_t lsw;
-	double x;
-
-    x = microsec/1000000.0;
-	x *= (65536.0*65536.0);
-	lsw = (uint32_t)x;
-
-	return RTPNTPTime(msw,lsw);
-}
-
-inline bool RTPTime::operator<(const RTPTime &t) const
-{
-	return m_t < t.m_t;
-}
-
-inline bool RTPTime::operator>(const RTPTime &t) const
-{
-	return m_t > t.m_t;
-}
-
-inline bool RTPTime::operator<=(const RTPTime &t) const
-{
-	return m_t <= t.m_t;
-}
-
-inline bool RTPTime::operator>=(const RTPTime &t) const
-{
-	return m_t >= t.m_t;
-}
-
-class RTPTimeInitializerObject
-{
-public:
-	RTPTimeInitializerObject();
-	void Dummy() { dummy++; }
-private:
-	int dummy;
-};
-
-} // end namespace
-
-
-#endif // RTPTIMEUTILITIES_H
-
diff --git a/qrtplib/rtpconfig.h b/qrtplib/rtpconfig.h
index f0195e60a..faf4e6e2f 100644
--- a/qrtplib/rtpconfig.h
+++ b/qrtplib/rtpconfig.h
@@ -34,13 +34,6 @@
 
 #define RTPCONFIG_UNIX_H
 
-#ifndef JRTPLIB_UNUSED
-/**
- * Provide a macro to use for marking method parameters as unused.
- */
-#define JRTPLIB_UNUSED(x) (void)(x)
-#endif // JRTPLIB_UNUSED
-
 // Don't have <sys/filio.h>
 
 // Don't have <sys/sockio.h>
diff --git a/qrtplib/rtpinternalsourcedata.cpp b/qrtplib/rtpinternalsourcedata.cpp
index 075b6bcb1..e13cffa5f 100644
--- a/qrtplib/rtpinternalsourcedata.cpp
+++ b/qrtplib/rtpinternalsourcedata.cpp
@@ -51,7 +51,7 @@ RTPInternalSourceData::~RTPInternalSourceData()
 // The following function should delete rtppack if necessary
 int RTPInternalSourceData::ProcessRTPPacket(RTPPacket *rtppack, const RTPTime &receivetime, bool *stored, RTPSources *sources)
 {
-    bool accept, onprobation, applyprobation;
+    bool accept;
     double tsunit;
 
     *stored = false;
@@ -61,9 +61,7 @@ int RTPInternalSourceData::ProcessRTPPacket(RTPPacket *rtppack, const RTPTime &r
     else
         tsunit = timestampunit;
 
-    applyprobation = false;
-
-    stats.ProcessPacket(rtppack, receivetime, tsunit, ownssrc, &accept, applyprobation, &onprobation);
+    stats.ProcessPacket(rtppack, receivetime, tsunit, ownssrc, &accept);
 
     if (!accept)
         return 0;
diff --git a/qrtplib/rtprawpacket.h b/qrtplib/rtprawpacket.h
index c70835c57..3db022298 100644
--- a/qrtplib/rtprawpacket.h
+++ b/qrtplib/rtprawpacket.h
@@ -106,7 +106,7 @@ public:
     /** Allocates a number of bytes for RTP or RTCP data using the memory manager that
      *  was used for this raw packet instance, can be useful if the RTPRawPacket::SetData
      *  function will be used. */
-    uint8_t *AllocateBytes(bool isrtp, int recvlen) const;
+    uint8_t *AllocateBytes(int recvlen) const;
 
     /** Deallocates the previously stored data and replaces it with the data that's
      *  specified, can be useful when e.g. decrypting data in RTPSession::OnChangeIncomingData */
@@ -150,9 +150,8 @@ inline void RTPRawPacket::DeleteData()
     senderaddress = 0;
 }
 
-inline uint8_t *RTPRawPacket::AllocateBytes(bool isrtp, int recvlen) const
+inline uint8_t *RTPRawPacket::AllocateBytes(int recvlen) const
 {
-    JRTPLIB_UNUSED(isrtp); // possibly unused
     return new uint8_t[recvlen];
 }
 
diff --git a/qrtplib/rtpsessionparams.cpp b/qrtplib/rtpsessionparams.cpp
index 78f2bfea5..40b611899 100644
--- a/qrtplib/rtpsessionparams.cpp
+++ b/qrtplib/rtpsessionparams.cpp
@@ -67,15 +67,13 @@ RTPSessionParams::RTPSessionParams() :
     predefinedssrc = 0;
 }
 
-int RTPSessionParams::SetUsePollThread(bool usethread)
+int RTPSessionParams::SetUsePollThread(bool usethread __attribute__((unused)))
 {
-    JRTPLIB_UNUSED(usethread);
     return ERR_RTP_NOTHREADSUPPORT;
 }
 
-int RTPSessionParams::SetNeedThreadSafety(bool s)
+int RTPSessionParams::SetNeedThreadSafety(bool __attribute__((unused)))
 {
-    JRTPLIB_UNUSED(s);
     return ERR_RTP_NOTHREADSUPPORT;
 }
 
diff --git a/qrtplib/rtpsessionsources.h b/qrtplib/rtpsessionsources.h
index 753fccbd4..2163e4486 100644
--- a/qrtplib/rtpsessionsources.h
+++ b/qrtplib/rtpsessionsources.h
@@ -50,7 +50,7 @@ class RTPSessionSources: public RTPSources
 {
 public:
     RTPSessionSources(RTPSession &sess) :
-            RTPSources(RTPSources::ProbationStore), rtpsession(sess)
+            rtpsession(sess)
     {
         owncollision = false;
     }
diff --git a/qrtplib/rtpsourcedata.cpp b/qrtplib/rtpsourcedata.cpp
index 185b7d8b1..398bda7fe 100644
--- a/qrtplib/rtpsourcedata.cpp
+++ b/qrtplib/rtpsourcedata.cpp
@@ -64,15 +64,16 @@
 namespace qrtplib
 {
 
-void RTPSourceStats::ProcessPacket(RTPPacket *pack, const RTPTime &receivetime, double tsunit, bool ownpacket, bool *accept, bool applyprobation, bool *onprobation)
+void RTPSourceStats::ProcessPacket(
+        RTPPacket *pack,
+        const RTPTime &receivetime,
+        double tsunit,
+        bool ownpacket,
+        bool *accept)
 {
-    JRTPLIB_UNUSED(applyprobation); // possibly unused
-
     // Note that the sequence number in the RTP packet is still just the
     // 16 bit number contained in the RTP header
 
-    *onprobation = false;
-
     if (!sentdata) // no valid packets received yet
     {
         ACCEPTPACKETCODE
diff --git a/qrtplib/rtpsourcedata.h b/qrtplib/rtpsourcedata.h
index a5861f921..b87efc095 100644
--- a/qrtplib/rtpsourcedata.h
+++ b/qrtplib/rtpsourcedata.h
@@ -178,7 +178,12 @@ class RTPSourceStats
 {
 public:
     RTPSourceStats();
-    void ProcessPacket(RTPPacket *pack, const RTPTime &receivetime, double tsunit, bool ownpacket, bool *accept, bool applyprobation, bool *onprobation);
+    void ProcessPacket(
+            RTPPacket *pack,
+            const RTPTime &receivetime,
+            double tsunit,
+            bool ownpacket,
+            bool *accept);
 
     bool HasSentData() const
     {
diff --git a/qrtplib/rtpsources.cpp b/qrtplib/rtpsources.cpp
index d4ebea9d8..f44e96a9c 100644
--- a/qrtplib/rtpsources.cpp
+++ b/qrtplib/rtpsources.cpp
@@ -48,10 +48,8 @@
 namespace qrtplib
 {
 
-RTPSources::RTPSources(ProbationType probtype)
+RTPSources::RTPSources()
 {
-    JRTPLIB_UNUSED(probtype); // possibly unused
-
     totalcount = 0;
     sendercount = 0;
     activecount = 0;
diff --git a/qrtplib/rtpsources.h b/qrtplib/rtpsources.h
index 62c789812..e169277b9 100644
--- a/qrtplib/rtpsources.h
+++ b/qrtplib/rtpsources.h
@@ -85,7 +85,7 @@ public:
     };
 
     /** In the constructor you can select the probation type you'd like to use and also a memory manager. */
-    RTPSources(ProbationType = ProbationStore);
+    RTPSources();
     virtual ~RTPSources();
 
     /** Clears the source table. */
diff --git a/qrtplib/rtptcptransmitter.cpp b/qrtplib/rtptcptransmitter.cpp
index 36796f599..428cdb7ef 100644
--- a/qrtplib/rtptcptransmitter.cpp
+++ b/qrtplib/rtptcptransmitter.cpp
@@ -81,9 +81,8 @@ int RTPTCPTransmitter::Init(bool tsafe)
     return 0;
 }
 
-int RTPTCPTransmitter::Create(size_t maximumpacketsize, const RTPTransmissionParams *transparams)
+int RTPTCPTransmitter::Create(size_t maximumpacketsize __attribute__((unused)), const RTPTransmissionParams *transparams)
 {
-    JRTPLIB_UNUSED(maximumpacketsize);
     const RTPTCPTransmissionParams *params, defaultparams;
     int status;
 
diff --git a/qrtplib/rtptimeutilities.cpp b/qrtplib/rtptimeutilities.cpp
index d664ae30c..c5900efc2 100644
--- a/qrtplib/rtptimeutilities.cpp
+++ b/qrtplib/rtptimeutilities.cpp
@@ -38,8 +38,6 @@ namespace qrtplib
 
 RTPTimeInitializerObject::RTPTimeInitializerObject()
 {
-    RTPTime curtime = RTPTime::CurrentTime();
-    JRTPLIB_UNUSED(curtime);
     dummy = -1;
 }
 
diff --git a/qrtplib/rtpudpv4transmitter.cpp b/qrtplib/rtpudpv4transmitter.cpp
index 9e21a79e5..c687f8f93 100644
--- a/qrtplib/rtpudpv4transmitter.cpp
+++ b/qrtplib/rtpudpv4transmitter.cpp
@@ -1109,14 +1109,13 @@ multicastgroups.GotoFirstElement();
 while (multicastgroups.HasCurrentElement())
 {
 uint32_t mcastIP;
-int status = 0;
+int status __attribute__((unused)) = 0;
 
 mcastIP = multicastgroups.GetCurrentElement();
 
 RTPUDPV4TRANS_MCASTMEMBERSHIP(rtpsock, IP_DROP_MEMBERSHIP, mcastIP, status);
 if (rtpsock != rtcpsock) // no need to leave multicast group twice when multiplexing
     RTPUDPV4TRANS_MCASTMEMBERSHIP(rtcpsock, IP_DROP_MEMBERSHIP, mcastIP, status);
-JRTPLIB_UNUSED(status);
 
 multicastgroups.GotoNextElement();
 }
diff --git a/qrtplib/rtpudpv4transmitternobind.cpp b/qrtplib/rtpudpv4transmitternobind.cpp
index 9d9c1cbac..d10149b88 100644
--- a/qrtplib/rtpudpv4transmitternobind.cpp
+++ b/qrtplib/rtpudpv4transmitternobind.cpp
@@ -1112,14 +1112,13 @@ multicastgroups.GotoFirstElement();
 while (multicastgroups.HasCurrentElement())
 {
 uint32_t mcastIP;
-int status = 0;
+int status __attribute__((unused)) = 0;
 
 mcastIP = multicastgroups.GetCurrentElement();
 
 RTPUDPV4TRANSNOBIND_MCASTMEMBERSHIP(rtpsock, IP_DROP_MEMBERSHIP, mcastIP, status);
 if (rtpsock != rtcpsock) // no need to leave multicast group twice when multiplexing
     RTPUDPV4TRANSNOBIND_MCASTMEMBERSHIP(rtcpsock, IP_DROP_MEMBERSHIP, mcastIP, status);
-JRTPLIB_UNUSED(status);
 
 multicastgroups.GotoNextElement();
 }