Commit Graph

57 Commits

Author SHA1 Message Date
Alessandro Ros
7951b2e4af allow to set NTP of outgoing packets in both client and server (#148) 2022-11-14 16:55:40 +01:00
aler9
62f597457b fix support for 32bit architectures 2022-11-10 22:06:33 +01:00
Alessandro Ros
95d1562735 server: add methods to get read and written bytes (#147)
ServerConn.ReadBytes()
ServerConn.WrittenBytes()
ServerSession.ReadBytes()
ServerSession.WrittenBytes()
2022-11-09 13:41:48 +01:00
Alessandro Ros
7a4c7d6d66 remove h264 decoding and re-encoding (#144)
* stop re-encoding H264

* stop decoding H264

* improve tests
2022-11-02 14:38:05 +01:00
aler9
0e6a0b8b25 call OnDecodeError when rtpcleaner returns an error 2022-10-31 18:51:29 +01:00
aler9
b1f72f9392 return error in OnDecodeError when there are oversized UDP packets 2022-10-31 15:53:15 +01:00
aler9
e8fde26d55 return error in OnDecodeError when there are lost RTP packets 2022-10-31 15:05:42 +01:00
aler9
30e029011b add OnDecodeError callback to both client and server
This allows to detect decode errors of RTP and RTCP packets
2022-10-31 12:36:30 +01: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
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
aa09a71cf4 server: fix reading with multicast on macOS (https://github.com/aler9/rtsp-simple-server/issues/895) 2022-04-21 13:52:18 +02:00
aler9
ff34f5ac1d improve performance 2022-04-10 15:12:33 +02:00
aler9
3123346397 improve performance 2022-04-10 13:28:45 +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
b1a4b52090 fix multicast TTL; set default multicast TTL to 16 (https://github.com/aler9/rtsp-simple-server/issues/873) 2022-04-09 11:26:23 +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
94aaa6719d client: fix support for ReadBufferCount > 1 2022-03-07 22:36:19 +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
9a0eed07b3 server: improve performance 2022-02-17 21:23:10 +01:00
aler9
f2c1b88453 server: fix multicast listen error on Windows (https://github.com/aler9/rtsp-simple-server/issues/742)
This happened when the system has network interfaces that don't support multicast.
2022-02-02 18:27:28 +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
015cbf660d server: rename readBuf into readBuffer 2021-12-04 22:45:09 +01:00
aler9
d5bdc197be allow client and server to override most parameters 2021-11-18 12:17:04 +01:00
aler9
ed2f712db2 improve UDP performance 2021-11-12 21:56:32 +01:00
aler9
e2b52d0b84 server: do not use StreamType 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
63e2864a67 server: use one IP per stream; expose multicast parameters in configuration 2021-06-19 18:48:32 +02:00
aler9
2cff0d51d3 listen on IPv6 too in case of multicast 2021-06-19 16:32:21 +02:00
aler9
8dc27ca9a7 avoid using net.ResolveUDPAddr() 2021-06-19 16:26:45 +02:00
aler9
d165f1fead server: use user-provided ListenPacket in case of multicast 2021-06-18 16:43:51 +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
4d1c2d1831 server: use hierarchical contexts 2021-05-11 14:52:41 +02:00
aler9
caab8c9082 server: allow to replace ListenPacket 2021-05-07 15:36:48 +02:00
aler9
6f749e6ba8 server: rewrite timeout system 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
aler9
35705a86ac rename ServerConf into Server 2021-05-04 16:51:20 +02:00
aler9
b47ebbee01 server: expose both setupped tracks and published tracks 2021-03-16 10:21:35 +01:00
aler9
d902b7da93 server: provide path to OnSetup() 2021-03-14 16:48:49 +01:00
aler9
9be2e5f4ed server: allow reading RTCP packets from readers (#27) 2021-03-13 16:54:52 +01:00