diff --git a/.circleci/config.yml b/.circleci/config.yml index 549dd8ee..578531d2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,4 @@ # Simple CircleCI configuration for building uvgRTP -# ToDo: add tests - - version: 2.1 @@ -57,10 +54,8 @@ jobs: - run: name: Run user managed SRTP key example command: 'build/examples/srtp_user' - -# the SRTP + ZRTP example does not have an end so it is not included - - run: name: Run ZRTP + SRTP multistream key example command: 'build/examples/zrtp_multistream' +# the SRTP + ZRTP example does not have an end so it is not included \ No newline at end of file diff --git a/README.md b/README.md index 257fd0db..61065d90 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ uvgRTP is an *Real-Time Transport Protocol (RTP)* library written in C++ with a focus on simple to use and high-efficiency media delivery over the Internet. It features an intuitive and easy-to-use *Application Programming Interface (API)*, built-in support for transporting *Versatile Video Coding (VVC)*, *High Efficiency Video Coding (HEVC)*, *Advanced Video Coding (AVC)* encoded video and Opus encoded audio. uvgRTP also supports *End-to-End Encrypted (E2EE)* media delivery using the combination of *Secure RTP (SRTP)* and ZRTP. According to [our measurements](https://researchportal.tuni.fi/en/publications/open-source-rtp-library-for-high-speed-4k-hevc-video-streaming) uvgRTP is able to reach a goodput of 600 MB/s (4K at 700fps) for HEVC stream when measured in LAN. The CPU usage is relative to the goodput value, and therefore smaller streams have a very small CPU usage. -uvgRTP is licensed under the permissive BSD 2-Clause License. This cross-platform library can be run on both Linux and Windows operating systems. Mac OS is also supported, but the support relies on community contributions. For SRTP/ZRTP support, uvgRTP uses [Crypto++ library](https://www.cryptopp.com/). +uvgRTP is licensed under the permissive BSD 2-Clause License. This cross-platform library can be run on both Linux and Windows operating systems. Mac OS is also supported, but the support relies on community contributions. For SRTP/ZRTP support, uvgRTP uses [Crypto++ library](https://www.cryptopp.com/). Currently supported specifications: * [RFC 3550: RTP: A Transport Protocol for Real-Time Applications](https://tools.ietf.org/html/rfc3550) diff --git a/cmake/ProjectDetails.cmake b/cmake/ProjectDetails.cmake index 57ac0427..16ea9c00 100644 --- a/cmake/ProjectDetails.cmake +++ b/cmake/ProjectDetails.cmake @@ -1,3 +1,3 @@ -set(uvgrtp_VER 2.0.1) +set(uvgrtp_VER 2.1.0) set(uvgrtp_DESCR "uvgRTP is an Real-Time Transport Protocol (RTP) library written in C++ with a focus on simple to use and high-efficiency media delivery over the internet") set(uvgrtp_URL "https://github.com/ultravideo/uvgRTP") \ No newline at end of file diff --git a/docs/Doxyfile b/docs/Doxyfile index e033dd8f..bd00fe5d 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -48,7 +48,7 @@ PROJECT_NAME = uvgRTP # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2.0.1 +PROJECT_NUMBER = 2.1.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -1705,7 +1705,7 @@ FULL_SIDEBAR = NO # Minimum value: 0, maximum value: 20, default value: 4. # This tag requires that the tag GENERATE_HTML is set to YES. -ENUM_VALUES_PER_LINE = 4 +ENUM_VALUES_PER_LINE = 1 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used # to set the initial width (in pixels) of the frame in which the tree is shown. diff --git a/docs/README.md b/docs/README.md index 278cfd27..60d18506 100644 --- a/docs/README.md +++ b/docs/README.md @@ -21,7 +21,7 @@ Find the full documentation for uvgRTP's public API [here](https://ultravideo.gi ### Formats with packetization support: * AVC ([RFC 6184](https://tools.ietf.org/html/rfc6184)) * HEVC ([RFC 7798](https://tools.ietf.org/html/rfc7798)) -* VVC ([Draft](https://tools.ietf.org/html/draft-ietf-avtcore-rtp-vvc-08)) +* VVC ([Draft](https://tools.ietf.org/html/draft-ietf-avtcore-rtp-vvc-18)) ### Formats which don't need packetization (See [RFC 3551](https://www.rfc-editor.org/rfc/rfc3551)): * PCMU diff --git a/docs/html/annotated.html b/docs/html/annotated.html index aee877b2..64591df3 100644 --- a/docs/html/annotated.html +++ b/docs/html/annotated.html @@ -21,7 +21,7 @@
uvgRTP is licensed under the permissive BSD 2-Clause License. This cross-platform library can be run on both Linux and Windows operating systems. Mac OS is also supported, but the support relies on community contributions. For SRTP/ZRTP support, uvgRTP uses Crypto++ library.
Currently supported specifications:
Set the enumerator of frame rate enforced by uvgRTP.
+Set the numerator of frame rate used by uvgRTP.
Default is 30.
-Setting a positive value enables this functionality. Setting it to 0 or less, disables it.
-The fps API paces the sending of the RTP packets so that receiver is under less strain to receive all. Setting this is not neccessary for small frame sizes, but even then it makes the stream smoother. The cost is at most one frame extra latency.
+Setting the fps for uvgRTP serves two possible functions:
+1) if RCE_FRAME_RATE has been set, the fps is enforced and uvgRTP tries to send frames at this exact frame rate,
+2) if RCE_PACE_FRAGMENT_SENDING has been set, the fragments are set at a constant pace spaced out evenly within frame interval
Set the denominator of frame rate enforced by uvgRTP.
-Default is 1.
-Setting a positive value enables this functionality. Setting it to 0 or less, disables it.
-Setting the denominator is only necessary for fractional fps values as setting the enumerator already enables the fps functionality.
-
Set the denominator of frame rate used by uvgRTP.
+Default is 1
+See RCC_FPS_NUMERATOR for more info.
Definition at line 273 of file util.hh.
+Definition at line 287 of file util.hh.
@@ -317,7 +346,13 @@Definition at line 160 of file util.hh.
+Definition at line 164 of file util.hh.
@@ -430,9 +465,7 @@Enumerator | ||
---|---|---|
RTP_NO_FLAGS | No flags - | |
RTP_OBSOLETE | Obsolete flags + | |
Enumerator | ||
RTP_NO_FLAGS | Use this if you have no RTP flags. | |
RTP_COPY | Make a copy of the frame and perform operation on the copy. Cannot be used with unique_ptr. | |
- uvgRTP 2.0.1
+ uvgRTP 2.1.0
An open-source library for RTP/SRTP media delivery
|
@@ -98,267 +98,277 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-||
- uvgRTP 2.0.1
+ uvgRTP 2.1.0
An open-source library for RTP/SRTP media delivery
|
diff --git a/docs/html/wrapper__c_8hh_source.html b/docs/html/wrapper__c_8hh_source.html
index 9c84ecb3..68101ce1 100644
--- a/docs/html/wrapper__c_8hh_source.html
+++ b/docs/html/wrapper__c_8hh_source.html
@@ -21,7 +21,7 @@
||
- uvgRTP 2.0.1
+ uvgRTP 2.1.0
An open-source library for RTP/SRTP media delivery
|