Commit Graph

144 Commits

Author SHA1 Message Date
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
c1b10a80be allow writing primitives to static buffers 2022-05-11 15:26:44 +02:00
aler9
ff34f5ac1d improve performance 2022-04-10 15:12:33 +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
9d12c345f8 support go 1.18 2022-04-07 12:57:23 +02: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
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
c7a36478b4 server: remove useless code 2022-02-19 17:54:11 +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
f3096ec102 improve write performance by
* buffering packets before sending them
* removing mutexes
2021-12-08 17:46:56 +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
9b88ede6a9 server: remove useless line 2021-12-07 21:53:55 +01:00
aler9
e9bb3e12bf remove tcp/udp comments 2021-12-06 13:55:57 +01:00
aler9
e98cb8b108 rename tcpFrameBuffer into tcpReadBuffer 2021-12-04 22:11:10 +01:00
aler9
d5bdc197be allow client and server to override most parameters 2021-11-18 12:17:04 +01:00
aler9
3ff70157d0 server: do not send receiver reports when using TCP 2021-11-18 12:17:04 +01:00
aler9
1411cb33f5 server: support reading with VLC and multicast 2021-11-15 17:40:17 +01:00
aler9
b81267e310 server: improve performance 2021-11-13 12:36:12 +01:00
aler9
e2b52d0b84 server: do not use StreamType 2021-11-12 18:01:27 +01:00
aler9
e8e2059b0d remove StreamType from base 2021-11-12 18:01:27 +01:00
aler9
6d340cdf39 rtcp*: split ProcessFrame into ProcessPacketRTP and ProcessPacketRTCP 2021-11-12 18:01:27 +01:00
aler9
2882bacdf2 server: split WriteFrame into WritePacketRTP and WritePacketRTCP 2021-11-12 18:01:27 +01:00
aler9
472430f900 server: split OnFrame into OnPacketRTP and OnPacketRTCP 2021-11-12 18:01:27 +01:00
aler9
1d5f3c92ae add VLC authentication workaround 2021-10-30 14:47:58 +02:00
aler9
653b3ee993 update golangci-lint 2021-10-30 13:06:23 +02:00
aler9
57dbac2f3a server: allow a TCP session to be used by another connection after PAUSE 2021-10-27 19:25:08 +02:00
aler9
b9042282ab update doc 2021-09-23 20:03:53 +02:00
aler9
239b71d975 server: do not allow a client to control a session created with a different IP 2021-09-23 19:52:57 +02:00
aler9
84837b9751 server: fill ctx.Query correctly (#73) 2021-09-23 08:53:10 +02:00
aler9
2914af3fda server: rename session id into secretID 2021-08-04 17:21:25 +02:00
aler9
15425ca26e server: unexport session id 2021-08-04 09:26:57 +02:00
Daniel Mack
23458a27b6 serverconn: allow passing of raw base.Response.Body from Describe callbacks
When a server handler implements `OnDescribe()` it may return a
`base.Reponse` that carries a body, along with a `nil` stream.

`handleRequest()` should support that, and not override `res.Body`, and,
more importantly, not dereference the returned `nil` pointer.
2021-07-25 10:32:58 +02:00
aler9
a512762ba0 server: support setupping tracks with arbitrary interleaved IDs (#47) 2021-06-26 12:51:45 +02:00
aler9
63e2864a67 server: use one IP per stream; expose multicast parameters in configuration 2021-06-19 18:48:32 +02:00
aler9
3f3226b53d server: support reading with multicast 2021-06-17 16:45:24 +02:00
aler9
94e69f9c7f update golangci-lint 2021-05-23 18:50:50 +02:00
aler9
ea6138c282 server: make sure that OnFrame() is never called after OnSessionClose() 2021-05-16 21:30:13 +02:00