Commit Graph

101 Commits

Author SHA1 Message Date
Alessandro Ros
6107dea9a0 add RTSP-over-WebSocket (#891) (#898) 2025-09-17 21:30:11 +02:00
Alessandro Ros
ec81d388d1 switch to v5 (#890)
* switch from v4 to v5

* remove deprecated entities

* remove "2" suffix from entities

* rename TransportProtocol into Protocol
2025-09-16 11:46:52 +02:00
Alessandro Ros
8c7e4320bc server: fix panic due to regression in #887 (#892)
This happened when writing a TCP packet to a conn after a read error.
2025-09-16 10:36:06 +02:00
Alessandro Ros
ead4471b5c support RTSP-over-HTTP (#433) (#768) (#887) 2025-09-15 19:00:50 +02:00
Alessandro Ros
7a5df14b2c add UDPReadBufferSize option (#857) 2025-08-11 10:49:54 +02:00
Alessandro Ros
1021950db8 update linter settings (#840) 2025-07-26 16:28:03 +02:00
Baranov Victor
9bb174e76d server: improve log messages (#820) 2025-07-06 21:07:42 +02:00
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