Commit Graph

94 Commits

Author SHA1 Message Date
Alessandro Ros
616fa7ea89 support encrypted streams with SRTP and MIKEY (#520) (#809) 2025-07-05 12:48:13 +02:00
Alessandro Ros
5681eddb28 update documentation (#788) 2025-05-29 19:40:03 +02:00
Alessandro Ros
f290b464b8 server: close server automatically with StartAndWait() (#734) 2025-03-23 19:02:02 +01:00
Alessandro Ros
55556f1ecf add ServerConn.VerifyCredentials() (#555) 2025-02-18 17:39:04 +01:00
Alessandro Ros
2d0c530d97 replace new() with initialize() (#490) 2023-12-26 12:48:35 +01:00
Alessandro Ros
4495e7d689 move most errors into pkg/liberrors (#408) 2023-09-10 17:32:16 +02:00
Alessandro Ros
b97aed00fe remove ReadBufferCount; rename WriteBufferCount into WriteQueueSize (#384) 2023-08-26 12:57:33 +02:00
aler9
bfef17b717 add Client.PacketNTP(), ServerSession.PacketNTP() 2023-08-17 13:23:16 +02:00
aler9
7532484041 add option MaxPacketSize to Client and Server 2023-08-16 13:26:17 +02:00
aler9
1a3e6ad092 remove return value from Close() 2023-08-16 13:26:17 +02:00
aler9
80106144e6 bump to v4 2023-08-16 13:26:17 +02:00
aler9
18ddae4c50 enable errcheck 2023-08-13 16:29:53 +02:00
Alessandro Ros
e583556d86 server, client: allow using odd interleaved IDs (#304)
(https://github.com/bluenviron/mediamtx/issues/1762)
2023-06-08 23:40:37 +02:00
Alessandro Ros
b0947c133e move each goroutine in a dedicated struct (#285) 2023-05-17 21:14:00 +02:00
Alessandro Ros
744dec8257 server: remove dashes from session ID (#278) 2023-05-08 16:44:22 +02:00
Alessandro Ros
a54a5946c7 add 32-bit tests; return errors in case of string-to-int overflows (#276) 2023-05-08 13:10:31 +02:00
Alessandro Ros
c56eee37f8 do not listen on IPv6 when host is 0.0.0.0 (#240)
(https://github.com/aler9/mediamtx/issues/1665)
2023-04-10 22:42:19 +02:00
Alessandro Ros
2fbba142cc add OnTransportSwitch, OnPacketLost, OnDecodeError to server and client (#225)
These new hooks replace the generic hooks Log() and OnWarning().
2023-04-04 17:10:37 +02:00
Alessandro Ros
04f5a4041c change owner (#217) 2023-03-31 12:34:07 +02:00
aler9
7137d8534a isolate UDP listeners from client / server 2023-01-07 10:59:15 +01:00
aler9
389252b621 server: use UUIDs as session secrets 2022-12-22 20:40:42 +01:00
Alessandro Ros
a1396206b5 convert Tracks into Medias and Formats (#155)
* split tracks from medias

* move tracks into dedicated package

* move media into dedicated package

* edit Medias.Marshal() in order to return SDP

* add medias.Find() and simplify examples

* improve coverage

* fix rebase errors

* replace TrackIDs with MediaIDs

* implement media-specific and track-specific callbacks for reading RTCP and RTP packets

* rename publish into record, read into play

* add v2 tag

* rename tracks into formats
2022-12-11 22:03:22 +01:00
aler9
32f611270c add option to disable automatic RTCP sender reports (#111) 2022-11-02 17:32:42 +01:00
aler9
8883050f63 server: fix freeze caused by race condition
it happened when the server tried to send a request to a session that
is being closed.
2022-08-04 18:59:23 +02:00
aler9
c6972424d6 avoid using encoding/binary 2022-07-17 14:54:04 +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
2c1edabaed update docs 2022-06-23 10:39:13 +02:00
aler9
92ed04ad6c optimize RTP packet handling 2022-06-11 19:11:24 +02:00
aler9
bfe4e8cdaa automatically remux oversized RTP/H264 packets; drop parameter ReadBufferSize 2022-04-09 20:16:14 +02:00
aler9
7d9c882cc9 server: generate RTCP sender reports automatically; remote RTCP routing from examples 2022-03-24 15:27:19 +01:00
aler9
7f6383aa3c server: make calling ServerStream.Close() mandatory 2022-03-24 12:44:20 +01:00
aler9
0515539831 add WriteBufferCount; set both ReadBufferCount and WriteBufferCount to 256 2022-02-19 15:09:00 +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
f3096ec102 improve write performance by
* buffering packets before sending them
* removing mutexes
2021-12-08 17:46:56 +01:00
aler9
a5d0128654 update docs 2021-11-28 12:30:28 +01:00
aler9
ecd05eae3d server: reply with code 454 when session is not found 2021-11-26 15:53:29 +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
f304ec52fb server: make Close() wait for all resources to close 2021-11-12 18:01:27 +01:00
aler9
e2b52d0b84 server: do not use StreamType 2021-11-12 18:01:27 +01:00
aler9
1f5dec4a02 server: move address into Server struct 2021-11-12 18:01:27 +01:00
aler9
89a1d68973 update docs 2021-11-06 12:40:51 +01:00
aler9
235cc4061b server: add missing check 2021-10-30 21:57:30 +02:00
aler9
146b923b1e server: make Close() return before all server resources are shut down 2021-10-30 13:52:37 +02:00
aler9
3bb5c2f12c server: return 'terminated' error when server is terminated with Close() 2021-10-30 13:30:07 +02:00
aler9
eb7bf2614b remove duplicate methods 2021-10-27 19:15:22 +02:00
aler9
22501a39dd update docs 2021-10-22 18:01:12 +02:00
aler9
320c1b6f2c rename ClientTransport into Transport 2021-10-22 17:53:51 +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
0454e5407f use crypto/rand instead of math/rand to avoid port conflicts and security issues 2021-09-23 19:37:26 +02:00