Commit 6b925368 authored by Simon Morlat's avatar Simon Morlat

Change to GPLv3 and re-organize informative files.

Reformat CHANGELOG and adapt CMakeLists.txt
parent 5afc8a8b
Copyright (c) 2010-2013 Belledonne Communications SARL <sales@belledonne-communications.com>
Simon MORLAT (simon dot morlat at linphone dot org) is the author the oRTP library.
- Simon MORLAT (simon dot morlat at linphone dot org) is the original author the oRTP library.
Contributors:
## Contributors:
* Copyright (c) 2013 Vadim Zhukov <persgray@gmail.com>
......
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [1.1.0] - 2019-09-18
### Added
- Immediate NACK handling, to handle retransmission of lost packets.
### Changed
- License is now GNU GPLv3.
## [1.0.0] - 2017-01-10
### Added
- new adaptive jitter buffer algorithm, with improved performance.
### Changed
- License is changed from LGPLv2 to GPLv2.
## [0.27.0] - 2016-06-01
### Changed
- bctoolbox is added as dependency.
### Fixed
- DSCP handling on Windows.
- IPv6 handling for Windows and Android.
## [0.25.0] - 2015-11-02
### Added
- AVPF generic NACK
- Payload type definitions for real time text and codec2.
### Fixed
- Various things.
## [0.24.1] - 2015-05-31
### Added
- TMMBR and TMMBN handling (RFC5104).
## [0.24.0] - 2015-03-11
### Added
- RTCP send algorithm as describe in RFC3550.
- RTCP XR (RFC3611).
- RTCP send algorithm for AVPF streams as described in RFC4585.
## [0.23.0] - 2014-02-19
### Changed
- network simulator improvements.
- updated to use ZRTPCPP>=4
### Fixed
- security issues.
## [0.22.0] - 2012-05-27
### Changed
- Network simulator improvements for simulating random lost packets.
### Fixed
- SRTP initialization.
## [0.19.0] - 2012-02-17
### Added
- ZRTP media encryption.
## [0.18.0] - 2011-12-22
### Added
- SRTP media encryption
## [0.17.0] - 2011-05-??
### Added
- rtp_session_get_round_trip_propagation()
### Fixed
- RTCP support.
## [0.16.0] - 2010-05-10
### Added
- DSCP handling on Windows.
- Accessors to struct PayloadType.
- new payload type definitions.
### Changed
- update stun api to support new RFC.
### Fixed
- gcc warnings.
## [0.15.0] - 2008-10-13
### Changed
- reduce number of memory allocation: !! attention here ABI/API change !!
If you are using mp=rtp_session_recvm_with_ts(), the payload data is no more pointed by mp->b_cont->b_rptr.
Instead you can use the following to skip the header:
rtp_get_payload(mp,mp->b_rptr);
### Fixed
- telephone event presence detection bug.
## [0.14.3] - 2008-03-14
### Added
- new ortp_set_memory_functions() method.
### Changed
- jitter buffer simplification and improvements
## [0.14.0] - 2007-07-27
### Added
- Number of channels in PayloadType (interface changed !).
- srtp optional support (using libsrtp from http://srtp.sf.net)
### Changed
- optimisations.
## [0.13.1] - 2007-04-11
### Changed
- do not recv rtcp packets from rtp_session_sendm_with_ts() when session is not send-only.
- removed gtk-doc, using doxygen instead.
## [0.13.0] - 2007-01-23
### Added
- new telephone-event types.
- pluggable transport layer.
### Changed
- enables use of different RtpProfile for send and recv directions.
### Fixed
- RTCP memory leak.
## [0.12.0] - 2006-11-09
### Added
- enable 0 ms jitter buffer (implies permissive dequeuing of packets).
- enable optional connected mode: the udp socket is connect()ed so only
packets coming from the connected destination are received.
### Changed
- jitter buffer accuracy improved.
### Fixed
- statistics.
## [0.11.0] - 2006-08-22
### Added
- rtp_session_set_dscp(), rtp_session_send_rtcp_APP().
### Fixed
- statistics.
## [0.10.0] - 2006-05-30
### Added
- new RTCP parser
- new event api
- stun helper routines
- permissive algorithm for video packet enqueueing
This diff is collapsed.
This diff is collapsed.
2007-07-26 Francois-Xavier Kowalski <fix@hp.com>
* pkg.list: 1.3
Do not run makewhatis when installing EPM-generated package.
2007-04-19 Francois-Xavier Kowalski <fix@hp.com>
* ortp.spec.in (Requires): 1.4
Adapt to new documentation generation change from gtk-doc to
Doxygen.
* Makefile.am (docdir): 1.27
automake's docdir is not always defined & is generally not
package specific, so we manually define docdir & pkgdocdir.
2007-03-01 Francois-Xavier Kowalski <fix@hp.com>
* include/ortp/payloadtype.h: 1.28
Encompass every declaration (whether lvalue or not) under extern
"C".
2007-01-18 Francois-Xavier Kowalski <fix@hp.com>
* oRTP/Makefile.am: 1.24
Fix RPM package generattion to cope with
<https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=206841>
2006-10-24 Francois-Xavier 'FiX' KOWALSKI <fix@hp.com>
* include/ortp/port.h: 1.21
* src/scheduler.h (ortp_get_scheduler): 1.13
Disable some Intel C/C++ warnings to build with icc.
* include/ortp/stun_udp.h (__STUN_UDP_H__): 1.6
* include/ortp/stun.h: 1.6
Use <ortp/port.h>
2006-07-10 Francois-Xavier 'FiX' KOWALSKI <fix@hp.com>
* configure.ac: 1.89
* gtk-doc.make (dist-check-gtkdoc): 1.1
Non-fatal but incomplete "make dist" when gtk-doc is not
installed.
2006-07-07 Francois-Xavier 'FiX' KOWALSKI <fix@hp.com>
* src/avprofile.c (NORMAL_BITRATE): 1.27
Use ISO C/99 tagged struct syntax rather than GCC's legacy one.
2006-07-07 Francois-Xavier Kowalski <fix@hp.com>
* src/rtpsession.c (RTP_SEQ_IS_GREATER): 1.132
Fix comment content (using <>) that breaks gtkdoc SGML
generation.
* include/ortp/event.h: 1.3
OrtpEventData cannot be a type a s struct at the same time.
* ortp.spec.in (Requires): 1.2
Drop glib option
* gtk-doc.make:
* docs/Makefile.am (#DOC_MAIN_SGML_FILE): 1.7
* Makefile.am
Use slightly modified gtkdocize.
* ortp.spec.in (Requires): 1.2
Force build of gtk-doc, as the default choice that comes with
GTK_DOC_CHECK m4 macro is "no".
2006-07-06 Francois-Xavier Kowalski <fix@hp.com>
* src/payloadtype.c (rtp_profile_destroy): 1.20
avoid double-free
* configure.ac: 1.88
ortp-0.10.1.1
Friday March 10 2006 : ortp-0.9.1
- fix package name (was 0.9.0.)
Wednesday March 8 2006 : ortp-0.9.0
- a lot of cleanups, glib dropped, win32 port reactivated
Tuesday December 20 2005 : ortp-0.8.1
- change session's clockrate dependant parameters upon payload type changed events at socket level
- rtp_session_set_recv_buf_size() added.
- bugfix in rtp_session_set_remote_addr()
- memory leak fixed in rtp_profile_destroy()
Wednesday December 07 2005: ortp-0.8.0
- make package modifications
- make rpm added
- add support for different payload types for incoming and outgoing stream (which breaks api compatibility)
- prefix all PayloadType with payload_type_* to avoid naming conflicts
Wednesday August 24 2005: ortp-0.7.1
- added patch for pkgconfig support from Jean-Philippe Barrette-LaPierre
Monday August 8 2005: ortp-0.7.1pre5
- adaptive jitter buffer improvements
- timestamp compensated packets returned by rtp_session_recvm_with_ts
- new payload definitions.
Tuesday August 2 2005: ortp-0.7.1pre4
- adaptive jitter buffer cleanups.
- hton24 utility function added for RTCP
Tuesday July 4 2005: ortp-0.7.1pre3
- improve automatic jitter buffer: no more closed-loop; just estimation.
- merge patch for multicast from Samuel Thibault
- merge patch for parsing of rtcp packets from Nicola Baldo
- add static payload definitions for g723.1 and g729.
Wednesday November 17 2004: ortp-0.7.0 series starts
- add automatic jitter buffer:
* compensate clock slides
* estimate the jitter and sets the minimum jitter compensation delay accordingly
- posix timer simplified
- less system calls: use non blocking recv() and don't use select() or poll()
- add new functions for optimized packet sending
- recv() and send() are always made within the rtp_session_recv..() and rtp_session_send..()
functions. That means that scheduled non blocking mode does no more work as it worked before, ie
that packet will be sent immediately rather than being sent on time by the scheduler as it was before.
- HPUX kernel target removed.
- scheduler always built.
Tuesday August 12 2003 : ortp-0.6.3
- some improvements by Aymeric Moizard for Win32 build
- some bug fixes concerning ipv6 support.
Thursday August 7 2003 : ortp-0.6.2
- just some minor improvements for using oRTP in a C++ environment.
Wednesday January 8 2003: ortp-0.6.0
- many bug fixes by Telisma: the most important bug concerned the windows port.
- some new functionnalities concerning the RTP profiles and payload management.
- ported to glib-2.0 .
Monday September 23 2002: ortp-0.5.0
- ortp has been ported to the Microsoft Windows OS (version 2000 and later) by Eloquant
(http://www.eloquant.com)
- some bug fixes and improvements of the windows port have been made by Telisma
(http://www.telisma.com)
Wednesday June 5 2002: ortp-0.4.4
- Some crashing bugs fixed.
Wednesday May 15 2002: ortp-0.4.3
- Install include files properly.
Tuesday May 7 2002: ortp-0.4.2
- First official and public release of oRTP.
This diff is collapsed.
July 20, 2017: ortp-1.0.2
- Bug fixes
February 23, 2017: ortp-1.0.1
- minor enhancements and bugfixes
January 10, 2017: ortp-1.0.0
- oRTP license is changed to be GPLv2
- new adaptive jitter buffer algorithm added
June 1st 2016: ortp-0.27.0
May XX, 2016: 
- Fix DSCP on Windows.
- bctoolbox added as dependency
- fixes around IPv6 support for windows and android
January 22, 2016: ortp-0.26.0
November 2, 2015: ortp-0.25.0
- Support AVPF generic NACK
- Add payload types for RTT (Real-Time Text) and Codec2
- Bug fixes
May 6, 2015: ortp-0.24.2
- Bug fixes
Mar 31, 2015: ortp-0.24.1
- Add support of TMMBR and TMMBN (RFC 5104)
Mar 11, 2015: ortp-0.24.0
- RTCP send algorithm as describe in RFC3550
- RTCP XR (RFC3611)
- RTCP send algorithm as describe in RFC4585: AVPF streams
Feb 19, 2014: ortp-0.23.0
- network simulator improvements
- updated to use ZRTPCPP>=4.0
- security bugfixes
May 27, 2012: ortp-0.22.0
- network simulator improvements for simulating random lost packets
- srtp initialization bugfix
February 22th, 2012: ortp-0.20.0
- fix an issue on video call with ZRTP
February 17th, 2012: ortp-0.19.0
- ZRTP media encryption
December 22th, 2011: ortp-0.18.0
- SRTP media encryption
May XXth, 2011: ortp-0.17.0
- RTCP support fixes
- add rtp_session_get_round_trip_propagation()
March 28th, 2011: ortp-0.16.5
- optimisations in session-set intersection computation
February 7, 2011: ortp-0.16.4
- workaround fix for some versions of uclibc
June 3, 2010 : ortp-0.16.3
- cosmetics improvements for compilation.
May 10, 2010 : ortp-0.16.2
- add support for setting dscp on windows
- add accessors to struct PayloadType
September 17, 2009: ortp-0.16.1
- minor compilation fixes
May 4, 2009 : ortp-0.16.0
- update stun api to support new RFC
- fix gcc warnings
- added new PayloadType
October 13, 2008: ortp-0.15.0
- telephone event detection bugfix
- reduce number of memory allocation: !! attention here ABI/API change !!
If you are using mp=rtp_session_recvm_with_ts(), the payload data is no more pointed by mp->b_cont->b_rptr.
Instead you can use the following to skip the header:
rtp_get_payload(mp,mp->b_rptr);
March 14, 2007: ortp-0.14.3
- new ortp_set_memory_functions() method
- jitter buffer bugfixes, simplification and improvements
July 27, 2007: ortp-0.14.0
- a few optimisations
- support for number of channels in PayloadType (interface changed !)
- srtp optional support (using libsrtp from http://srtp.sf.net)
April, 11 2007: ortp-0.13.1:
- do not recv rtcp packets from rtp_session_sendm_with_ts() when session is not send-only.
- removed gtk-doc, using doxygen instead.
- minor patches
January, 23 2007: ortp-0.13.0
- add support for a pluggable transport layer
- enables use of different RtpProfile for send and recv directions
- fix RTCP memleak
- new telephone-event types added.
November, 9 2006: ortp-0.12.0
- fix statistics
- jitter buffer accuracy improved
- enable 0 ms jitter buffer (implies permissive dequeuing of packets)
- enable optional connected mode: the udp socket is connect()ed so only
packets coming from the connected destination are received.
August, 22 2006: ortp-0.11.0
- added rtp_session_set_dscp, rtp_session_send_rtcp_APP
- fixed statistics little bugs.
May, 30 2006: ortp-0.10.0
- new RTCP parser
- new event api
- stun helper routines
- permissive algorithm for video packet enqueueing
......@@ -3,25 +3,36 @@
oRTP
====
What is it ?
------------
oRTP is a GPLv2 licensed C library implementing the RTP protocol (rfc3550). It is available
oRTP is a C library implementing the RTP protocol (rfc3550). It is available
for most unix clones (primilarly Linux and HP-UX), and Microsoft Windows.
Prior to version 1.0.0, oRTP was licensed under LGPLv2. Due to inclusion of new code licensed under GPLv2, oRTP has become GPLv2.
For the sake of clarity, all source files headers were updated to mention the GPLv2 only.
For additional information, please [visit oRTP's homepage on **linphone.org**](http://www.linphone.org/technical-corner/ortp).
License
-------
<Copyright © Belledonne Communications?>
Liblinphone is dual licensed, available either
- under a GNU GPLv3 license for free (see LICENSE.txt file for details)
- under a proprietary license, for closed source projects. Contact sales@belledonne-communications.com for costs and other service information.
Prior to version 1.0.0, oRTP was licensed under LGPLv2. Due to inclusion of new code licensed under GPLv2, oRTP has become GPLv2,
and later in version 1.1.0, GPLv3.
For the sake of clarity, all source files headers were updated to mention the GPLv3 only.
oRTP versions prior to 1.0.0 of course remain LGPLv2.
What are the build prequisites ?
--------------------------------
Dependencies
------------
*bctoolbox[1]*: portability layer
What build instructions
-----------------------
Compilation
-----------
Autotools procedure is deprecated. Use CMake to configure the source code.
......@@ -76,39 +87,6 @@ See the doxygen generated API documentation in docs/html. Program examples are a
starting point.
What are the current features ?
-------------------------------
- works with ipv6
- packet scheduler
- adaptive jitter compensation
- automatic sending of RTCP SR or RR coumpounded with a SDES
- RTCP parser API
What are the planned features ?
-------------------------------
- multi-endpoint rtp sessions.
In which application oRTP is being used ?
-----------------------------------------
- linphone (http://www.linphone.org) was the first.
- the OCMP platform (a Hewlett Packard product).
How to compile my program using ortp ?
--------------------------------------
gcc -o myprogram `pkg-config --cflags ortp` myprogram.c \
`pkg-config --libs ortp`
What about Windows port ?
-------------------------
There are instructions and Microsoft Visual C++ project files in build/win32native/oRTP.
----------------------------------------
......
#!/bin/sh
##
## Copyright (c) 2010-2019 Belledonne Communications SARL.
##
## This file is part of oRTP.
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
##
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
......
......@@ -24,7 +24,7 @@ if (NOT CPACK_PACKAGE_NAME)
set(CPACK_PACKAGE_NAME "ortp")
ENDIF()
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/../COPYING")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/../LICENSE.txt")
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
......
/*
* Copyright (c) 2010-2019 Belledonne Communications SARL.
*
* This file is part of oRTP.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* ortp-config.h. Generated from ortp-config.h.in by configure. */
/* ortp-config.h.in. Generated from configure.ac by autoheader. */
......
......@@ -100,9 +100,9 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc %{_docdir}/ortp-%{version}/README.md
%doc %{_docdir}/ortp-%{version}/ChangeLog
%doc %{_docdir}/ortp-%{version}/COPYING
%doc %{_docdir}/ortp-%{version}/AUTHORS
%doc %{_docdir}/ortp-%{version}/CHANGELOG.md
%doc %{_docdir}/ortp-%{version}/LICENCE.txt
%doc %{_docdir}/ortp-%{version}/AUTHORS.md
%{_libdir}/*.so.*
%files devel
......
/*
* Copyright (c) 2010-2019 Belledonne Communications SARL.
*
* This file is part of oRTP.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// ISO C9x compliant inttypes.h for Microsoft Visual Studio
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
//
......
/*
* Copyright (c) 2010-2019 Belledonne Communications SARL.
*
* This file is part of oRTP.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// ISO C9x compliant stdint.h for Microsoft Visual Studio
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
//
......
/*
* The oRTP library is an RTP (Realtime Transport Protocol - rfc3550) implementation with additional features.
* Copyright (C) 2017 Belledonne Communications SARL
* Copyright (c) 2010-2019 Belledonne Communications SARL.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* This file is part of oRTP.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef ortp_events_h
......
/*
* The oRTP library is an RTP (Realtime Transport Protocol - rfc3550) implementation with additional features.
* Copyright (C) 2017 Belledonne Communications SARL
* Copyright (c) 2010-2019 Belledonne Communications SARL.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* This file is part of oRTP.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software