Commit Graph

117 Commits

Author SHA1 Message Date
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
aler9
f3096ec102 improve write performance by
* buffering packets before sending them
* removing mutexes
2021-12-08 17:46:56 +01:00
aler9
ab465820ce server: do not allocate session write buffer when transport is multicast 2021-12-08 12:59:38 +01:00
aler9
bda1f3539c server: slightly improve write performance 2021-12-07 22:46:47 +01:00
aler9
289c272469 server: simplify tcp handling 2021-12-07 22:46:47 +01:00
aler9
066ddd4423 server: write UDP packets in parallel.
A goroutine writer is allocated for each session and
for each multicast stream.

This increases bandwidth and prevents freezes caused
by lagging readers.
2021-12-07 22:45:24 +01:00
aler9
7634076eb5 send receiver reports only after receiving a sender report 2021-12-06 17:09:59 +01:00
aler9
e9bb3e12bf remove tcp/udp comments 2021-12-06 13:55:57 +01:00
aler9
8ecd0869f3 server: run checkStreamTimer only when transport is udp 2021-12-06 13:52:55 +01:00
aler9
4621d5f7be server: unexport ServerSession.WritePacketRTP 2021-12-04 22:30:21 +01:00
aler9
d5bdc197be allow client and server to override most parameters 2021-11-18 12:17:04 +01:00