Commit Graph

127 Commits

Author SHA1 Message Date
aler9
4940e8faeb server: add Session to ServerHandlerOnSetParameterCtx 2022-08-07 13:43:59 +02:00
Alessandro Ros
df7336b5e8 implement packet reordering for UDP / Multicast transports (#132)
* implement packet reordering for UDP transport

* rtcpreceiver: stop handling unordered / duplicate packets

* remote useless Sleep() from tests
2022-07-05 23:29:03 +02:00
aler9
fb39087150 client: avoid sending/receiving invalid packet when reading with multicast 2022-07-05 22:54:40 +02:00
aler9
18005a9cde ringbuffer: force size to be a power of 2
otherwise buffer is used partially when writeIndex overflows.
2022-07-05 19:25:53 +02:00
aler9
f3b0fc69b4 rename Read / Write into Unmarshal / Marshal when needed
Read() / Write() are used to read / write from streams, while
Unmarshal() / Marshal() are used to decode / encode from / to bytes.
2022-06-27 17:27:16 +02:00
aler9
f4cc42eccc server: correctly close sessions in case of errors during SETUP
(https://github.com/aler9/rtsp-simple-server/issues/965)
2022-06-21 14:55:17 +02:00
aler9
ac910c63db rename rtpproc into rtpcleaner 2022-06-11 19:50:38 +02:00
aler9
92ed04ad6c optimize RTP packet handling 2022-06-11 19:11:24 +02:00
aler9
98b6515c33 move RTP packet handling into separate package 2022-06-11 13:47:26 +02:00
aler9
2fa3148a27 move URL into dedicated folder 2022-06-05 01:27:19 +02:00
aler9
d40205e592 cleanup code 2022-06-02 18:04:22 +02:00
aler9
fdbd0ac73a server: fix RTCP report computation 2022-06-02 13:00:04 +02:00
aler9
206506a8f0 fix wrong RTP-Info header (https://github.com/aler9/rtsp-simple-server/issues/922)
- fix truncation to seconds of RTP time in RTP-Info
- add a small quantity to rtptime in RTP-Info
- add 1 to last sequence number in RTP-Info
2022-05-16 14:34:17 +02:00
aler9
811e189b43 client: support cameras that provide base URL inside control attribute (https://github.com/aler9/rtsp-simple-server/issues/683) 2022-05-11 16:51:48 +02:00
aler9
c1b10a80be allow writing primitives to static buffers 2022-05-11 15:26:44 +02:00
aler9
18f7fab361 update docs 2022-05-10 10:28:52 +02:00
aler9
edeef85e9e accept io.Writer in Write() methods 2022-05-08 14:33:29 +02:00
aler9
7bf907e94c improve performance 2022-04-10 11:29:15 +02:00
aler9
bfe4e8cdaa automatically remux oversized RTP/H264 packets; drop parameter ReadBufferSize 2022-04-09 20:16:14 +02:00
aler9
0463e6b510 server: parse incoming RTP/H264 packets; fix RTCP receiver jitter 2022-04-08 16:45:09 +02:00
aler9
cec5326ccf downgrade pion/rtp to v1 (#110) (#113) 2022-04-01 11:19:43 +02:00
aler9
7d9c882cc9 server: generate RTCP sender reports automatically; remote RTCP routing from examples 2022-03-24 15:27:19 +01:00
aler9
e7efb0c405 client: skip tracks with an invalid clock rate (https://github.com/aler9/rtsp-simple-server/issues/832) 2022-03-15 11:10:56 +01:00
aler9
47caa2ed2c server: remove useless code 2022-03-13 15:02:01 +01:00
aler9
6fad3354e9 restore support for multi-track RTCP reports 2022-03-13 14:52:51 +01:00
aler9
b2a849dbd8 move RTCP sender / receiver writes into dedicate routine 2022-03-13 01:30:37 +01:00
aler9
218e5ae226 server: set timeout in Session header only when client is playing and protocol is UDP 2022-03-09 10:03:15 +01:00
aler9
e12b22ae77 fix encoding of RTP packets with padding
this fixes a SIGSEGV with GStreamer
2022-03-08 12:47:55 +01:00
aler9
0cbd37002b update docs 2022-03-07 19:50:21 +01:00
aler9
dd0904407f cleanup code 2022-03-02 22:19:09 +01:00
aler9
95117f0aa4 server: rename Req field into Request 2022-02-19 22:20:01 +01:00
aler9
d7f6567e20 server: restore authentication support 2022-02-19 21:56:27 +01:00
aler9
0e8595a31d server: remove Session header from ANNOUNCE responses (https://github.com/aler9/rtsp-simple-server/issues/840) 2022-02-19 19:23:30 +01:00
aler9
7dd4842fc0 server: do not allow a connection to communicate with multiple sessions 2022-02-19 18:52:05 +01:00
aler9
eae1e120f1 server: do not allow a client to send TCP frames after TEARDOWN 2022-02-19 18:34:47 +01:00
aler9
c7a36478b4 server: remove useless code 2022-02-19 17:54:11 +01:00
aler9
2844e6dfef fix tests 2022-02-19 15:53:37 +01:00
aler9
0515539831 add WriteBufferCount; set both ReadBufferCount and WriteBufferCount to 256 2022-02-19 15:09:00 +01:00
aler9
86fb4181c7 server: allow calling ServerSession.WritePacketRTCP() inside OnRecord and OnPlay (#99) 2022-02-18 23:19:33 +01:00
aler9
cbc228acbf remove useless code 2022-02-18 23:02:14 +01:00
aler9
fc2dcf1cfe save RAM by allocating interleaved frames only when needed 2022-02-18 22:46:23 +01:00
aler9
fe99404495 server: sync states with client ones 2022-02-18 10:02:20 +01:00
aler9
d44f1eb03a server: save RAM by releasing read buffers earlier 2022-02-18 00:03:39 +01:00
aler9
bca6756cd6 improve performance 2022-02-18 00:03:39 +01:00
aler9
3a2f9adbd5 server: decode and encode RTP/RTCP packets 2022-02-18 00:03:39 +01:00
aler9
b7df36d4ad client: decode and encode RTP/RTCP packets 2022-02-18 00:03:39 +01:00
aler9
6d5bf0c1bb new track system 2022-01-30 15:51:49 +01:00
aler9
b12468d26e server: remove useless check 2022-01-23 12:50:03 +01:00
aler9
f6a86b8789 server: send session timeout to clients through the session header (https://github.com/aler9/rtsp-simple-server/issues/702) 2022-01-20 16:32:32 +01:00
aler9
6f374e3965 server: re-export ServerSession.WritePacketRTP() (#90) 2021-12-12 23:06:44 +01:00