Commit Graph

125 Commits

Author SHA1 Message Date
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
aler9
e052f9b024 reorder variables 2021-05-11 11:08:41 +02:00
aler9
19a18393e5 server: fix race condition 2021-05-10 23:29:06 +02:00
aler9
c878b68b70 fix various race conditions 2021-05-10 21:33:23 +02:00
aler9
e51ee76d92 server: rewrite conn and session closing with contexts to improve reliability 2021-05-10 19:38:02 +02:00
aler9
994cd442e3 server: allow to call server.Close() twice 2021-05-09 14:10:21 +02:00
aler9
7469a3362a server: add author to OnSessionOpen 2021-05-08 22:27:05 +02:00
aler9
11a5fb68ad server: test invalid paths 2021-05-08 16:01:06 +02:00
aler9
028ed2b973 server: close session when there are no conns attached to it 2021-05-08 15:35:13 +02:00
aler9
e52fda806d add ServerConn.Close(), ServerSession.Close() 2021-05-07 11:42:01 +02:00
aler9
353382175b server: add ServerConn to OnResponse 2021-05-05 18:54:37 +02:00
aler9
9e618910ac server: fix race condition 2021-05-04 16:51:20 +02:00
aler9
9d42a63102 server: add error to OnSessionClose() 2021-05-04 16:51:20 +02:00
aler9
6f749e6ba8 server: rewrite timeout system 2021-05-04 16:51:20 +02:00
aler9
b4dba4bfdd server: test invalid methods and double sessions 2021-05-04 16:51:20 +02:00
aler9
1906c9f776 server: test invalid session 2021-05-04 16:51:20 +02:00
aler9
c2a7a2ef47 server: remove OnOptions 2021-05-04 16:51:20 +02:00
aler9
ab7ede2c00 server: shut down session after a TEARDOWN request 2021-05-04 16:51:20 +02:00
aler9
259043685d server: implement sessions 2021-05-04 16:51:20 +02:00
aler9
4f8336c1ad server: rewrite working principle 2021-05-04 16:51:20 +02:00