Aaro Altonen
36d76a3ca5
Add Doxygen main page
2021-03-23 01:19:47 +02:00
Aaro Altonen
8271bfb34d
Update Doxygen documentation
2021-03-23 01:19:27 +02:00
Aaro Altonen
737d1d0056
Update build instructions
2021-03-23 01:18:59 +02:00
Aaro Altonen
4bacbaf36d
Update VVC packet handler
...
Save the frame info to the media object and fetch it from there
when a packet is received, update the code to better handle out-of-order
packets and add support for RCE_H26X_PREPEND_SC
2021-03-23 01:18:59 +02:00
Aaro Altonen
5b3a70adad
Update sending_generic.cc example code
2021-03-23 01:18:59 +02:00
Aaro Altonen
663f0242e3
Allow sending small packets using RCE_FRAGMENT_GENERIC
...
Before, if RCE_FRAGMENT_GENERIC was enabled, the sender would
set marker bit to every outgoing packet which the receiver
would then interpret to be a fragment of a larger frame.
This is not correct behaviour because one can also send small packets
using the RCE_FRAGMENT_GENERIC in which case the packet is handled
normally.
2021-03-23 01:18:59 +02:00
Aaro Altonen
e574a2a786
Rename RCE_HEVC_NO_INTRA_DELAY to RCE_NO_H26X_INTRA_DELAY
...
Now the functionality of all three (AVC, HEVC and VVC) can be controlled
through one flag
2021-03-23 01:18:59 +02:00
Aaro Altonen
0e12e57a47
Rename uvg_rtp to uvgrtp
...
I have no idea why the name had an underscore but now it's gone.
The old namespace is kept as an alias for backwards-compatibility
but it may be removed in the future
2021-03-23 01:18:59 +02:00
Aaro Altonen
871242b149
Fix RTCP socket initialization
2021-03-23 01:18:59 +02:00
Aaro Altonen
13989c66f1
Add Doxygen documentation support
...
Some of the API is still undocumented
2021-03-23 01:18:59 +02:00
Aaro Altonen
41011487ba
Implement RCE_HOLEPUNCH_KEEPALIVE
2021-03-23 01:18:59 +02:00
Aaro Altonen
4d561a5b28
Implement RCC_MTU_SIZE
2021-03-23 01:18:59 +02:00
Aaro Altonen
b1ccd7f788
Increase MAX_PAYLOAD by 3 bytes
...
1443 is the maximum payload size for H26X Fragmentation Units but
for generic frames there is no NAL + FU header meaning the 3 bytes
can be used for payload data
2021-03-23 01:18:59 +02:00
Aaro Altonen
5ad18e3284
Add documentation
2021-03-23 01:18:56 +02:00
Aaro Altonen
3244d1bc47
Update uvgRTP configuration example code
2021-03-23 01:16:42 +02:00
Aaro Altonen
c950179790
Implement RCC_DYN_PAYLOAD_TYPE
...
This change removes set_dynamic_payload() as ctx_configure() function
should be used for all context configuration instead of separate functions
for some configurations
2021-03-23 01:16:42 +02:00
Aaro Altonen
ca66f6f8dc
Implement RCC_PKT_MAX_DELAY
2021-03-23 01:16:42 +02:00
Aaro Altonen
755fe99d88
Implement RCE_H26X_PREPEND_SC
2021-03-23 01:16:42 +02:00
Aaro Altonen
fc90e335aa
Update copyright
2021-03-23 01:16:42 +02:00
Aaro Altonen
8619ac5252
Update build instructions
2021-01-12 11:13:14 +02:00
Aaro Altonen
a7f4ce58a1
Combine uvgRTP and dependencies into one archive
2021-01-12 11:13:10 +02:00
Aaro Altonen
7727be0017
Make sure Crypto++ and POSIX threads exist before linking
2021-01-11 08:14:32 +02:00
Aaro Altonen
39f4e036cf
Build uvgRTP as a shared library
...
Switch from static to shared library format and use whole-archive
option to include POSIX threads and Crypto++ into the output library
2020-12-11 07:56:55 +02:00
Aaro Altonen
171b73af21
Update uvgRTP build information
...
Remove the old GNU Makefile, update building documentation
and convert tabs to spaces in CMakeLists.txt
2020-12-11 07:56:54 +02:00
Aaro Altonen
f87b4e8e72
Use __has_include to detect the presence of Crypto++ automatically
...
Use __has_include to check if all needed headers are present in the
system and if so, build uvgRTP with crypto enabled.
Introduce new define, __RTP_NO_CRYPTO__ which disables SRTP/ZRTP
support even if Crypto++ is present in the system
2020-12-11 07:56:02 +02:00
Aaro Altonen
b99c0711ce
Fix SRTP ROC calculation near sequence number overflow boundary
2020-12-11 07:37:16 +02:00
Aaro Altonen
2833161d3a
Add support for H.266/VVC
...
This code is based on the most recent draft of VVC RTP payload
format and is subjet to changes as the draft evolves
2020-12-11 07:37:16 +02:00
Aaro Altonen
7e72bdbf32
Use correct directory when installing headers
2020-12-04 14:57:37 +02:00
Aaro Altonen
3f1c4b4092
Release exit_mtx_ before packet dispatcher is destroyed
...
It seems that with MSVC, the mutex must be released before it is
destroyed.
2020-11-25 08:22:05 +02:00
Aaro Altonen
b263262538
Use strncmp() to check ZRTP version
...
For some reason, when uvgRTP is used with Kvazzup, sscanf() does
not convert the value correctly
2020-11-23 09:19:03 +02:00
Aaro Altonen
601209e295
Fix ZRTP header padding for MSVC
2020-11-23 09:18:58 +02:00
Aaro Altonen
5248ad15b4
Protect top-level init function of ZRTP with mutex
2020-11-18 09:03:34 +02:00
Aaro Altonen
d61a6cf4dc
Protect access to create_stream() with a mutex
...
Multiple threads may access create_stream() for the same session
simultaneously which can cause problems if the access is not protected.
2020-11-18 08:39:53 +02:00
Aaro Altonen
2d44980384
Merge branch 'develop' into master
2020-11-11 08:03:05 +02:00
Aaro Altonen
b6ff9b808c
Enable Aggregation Packet support
2020-11-11 08:00:59 +02:00
Aaro Altonen
b59cf9146d
Update README
2020-11-11 08:00:45 +02:00
Aaro Altonen
3195a271e9
Use NTP to calculate RTP timestamps
2020-10-26 07:28:10 +02:00
Aaro Altonen
0102bb2801
Set marker bit only if there are multiple packets
2020-10-22 14:39:33 +03:00
Aaro Altonen
e185160f94
Implement RTP_SLICE
2020-10-22 14:38:59 +03:00
Aaro Altonen
9154f5554f
Fix NTP timestamp difference calculation
2020-10-22 11:58:44 +03:00
Aaro Altonen
c74d6a75a7
Implement RCE_FRAGMENT_GENERIC for the new architecture
2020-10-13 03:39:19 +03:00
Aaro Altonen
4253f636bf
Remove the old HEVC receiver
...
This thread-based approach is no longer supported and optimistic
packet reception isn't possible to implement properly using the
new packet dispatcher architecture
2020-10-12 18:46:52 +03:00
Aaro Altonen
e9be9ae7e8
Fix buffer duplication when encryption is used
...
Previously the code did not append the copied buffer to the transaction
so uvgRTP only sent the RTP header. It also incremented an incorrect
pointer while it was making the copy
2020-10-12 09:13:00 +03:00
Aaro Altonen
74fc452e06
Pass HEVC frame info to auxiliary handler when using SRTP
2020-10-12 09:07:47 +03:00
Aaro Altonen
9a9ae7dab4
Remove examples/sending_fragmented.cc
...
This kind of usage of push_frame() is no longer supported by uvgRTP
2020-10-10 03:36:35 +03:00
Aaro Altonen
a856b79f6b
Merge branch 'new-develop' into master
2020-10-10 03:15:58 +03:00
Aaro Altonen
2a2baf88fa
Implement STAP-A support for H.264
2020-10-10 03:02:35 +03:00
Aaro Altonen
497d9a9a80
Set correct initial timeout for DHPart1
2020-10-10 03:02:33 +03:00
Aaro Altonen
56ef10e88b
Do not print error if blocked_recv() timeouts
2020-10-10 03:02:33 +03:00
Aaro Altonen
3541212cc1
Remove SEND_ONLY/RECV_ONLY options from media_stream
...
The media_stream object acts as uni-/bidirectional based on usage
so there is no need to explicitly define it as send/recv only
2020-10-09 04:09:07 +03:00