38 Commits

Author SHA1 Message Date
Alessandro Ros
da8f2c69b2 format code (#900) 2025-09-18 10:53:38 +02:00
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
c466c342ba expose transport details (#850)
add Client.Transport, ServerConn.Transport ServerSession.Transport
2025-09-06 16:28:40 +02:00
Alessandro Ros
3c2625c7cf make most methods thread safe (#882)
Client: Stats

ServerConn: Session, Stats

ServerSession: State, Stats, Medias, Path, Query, Stream,
SetuppedSecure, SetuppedTransport, AnnouncedDescription
2025-09-06 15:42:07 +02:00
Alessandro Ros
367eb4dffd fix encoding and decoding of NTP fractional part (#869) (#870)
Fractional part now is in 1/(2^32) units, while it was in 1/(1^9) units.
2025-08-31 12:36:17 +02:00
Alessandro Ros
616fa7ea89 support encrypted streams with SRTP and MIKEY (#520) (#809) 2025-07-05 12:48:13 +02:00
Alessandro Ros
b407cb1dd0 server: support reading back channels (#597) (#777) 2025-05-04 17:04:15 +02:00
Yuriy Gabuev
d162df21ec Allow setting response body in OnDescribe (#758)
* Allow setting response body in OnDescribe

Since commit 8c6495c33b, the server can no
longer directly specify the response body to DESCRIBE requests. This is
a breaking change and is a limitation for users who manually handle their
SDPs. This commit allows setting the body explicitly and takes it into
account if the `ServerStream` part of the `OnDecsribe` return value is
nil. If neither the stream, nor the body are set, the application panics.

* Add test for non-nil body for Describe
2025-04-17 12:43:01 +02:00
Alessandro Ros
8c6495c33b server: prevent wrong OnSetup / OnDescribe usage (#732) 2025-03-23 16:42:29 +01:00
Alessandro Ros
376fb9e821 replace New* with Initialize (#723) 2025-03-16 13:58:35 +01:00
Alessandro Ros
55556f1ecf add ServerConn.VerifyCredentials() (#555) 2025-02-18 17:39:04 +01:00
Alessandro Ros
9b72f5242f server: add ServerConn.Session() method (#668) 2024-12-25 16:01:54 +01:00
Alessandro Ros
87c6d81053 add statistics to Client, ServerSession, ServerConn, ServerStream (#556) (#656) 2024-12-25 13:30:08 +01:00
Alessandro Ros
8f74559616 close connections in case of write errors (#613) (#655) 2024-12-14 13:45:11 +01:00
Alessandro Ros
72e74f349e server: use relative control attributes (#620) 2024-09-15 22:51:55 +02:00
Alessandro Ros
363b48e632 update golangci-lint (#554) 2024-04-28 18:20:25 +02:00
Alessandro Ros
6371b78b5b update documentation (#506) 2024-01-21 16:18:51 +01:00
Alessandro Ros
7d30b5f1b7 update golangci-lint (#494) 2024-01-03 21:12:19 +01:00
Alessandro Ros
2d0c530d97 replace new() with initialize() (#490) 2023-12-26 12:48:35 +01:00
Alessandro Ros
f78b04cf4e client: support writing to ONVIF back channels (#101) (#462) 2023-11-15 13:20:29 +01:00
Alessandro Ros
01b3bfc6ab move url.URL into base.URL (#459) 2023-11-07 16:51:45 +01:00
database64128
b8838ca595 server: fix crash in case of requests with nil URL (#458)
---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2023-11-07 16:50:57 +01:00
Alessandro Ros
ed4bbe3986 client: support server-sent requests (#93) (#378) 2023-08-24 16:07:09 +02:00
aler9
cab426e350 support routing ULPFEC group definitions 2023-08-22 20:11:37 +02:00
aler9
70c719a211 allow publishers to set the title of the stream
(https://github.com/bluenviron/mediamtx/issues/979)
2023-08-22 18:59:39 +02:00
aler9
cdbecb1f5d allow setting additional properties of streams through description.Stream 2023-08-22 16:46:18 +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
19dcd3e067 update golangci-lint (#292) 2023-05-28 13:40:00 +02:00
Alessandro Ros
b0947c133e move each goroutine in a dedicated struct (#285) 2023-05-17 21:14:00 +02:00
Alessandro Ros
1694d9086d use normalized trackID in place of mediaUUID (#226)
This is needed to support clients like the Grandstream GXV3500.

Fixes #190
2023-04-07 12:38:10 +02:00
Alessandro Ros
04f5a4041c change owner (#217) 2023-03-31 12:34:07 +02:00
Alessandro Ros
1ad059a80b server: use absolute RTSP URL as control attribute (#210)
this is necessary in order to make GStreamer's rtspsrc to send query parameters correctly in SETUP requests.
2023-03-24 10:54:14 +01:00
Alessandro Ros
f6438ed8d1 normalize file names (#173) 2023-01-22 11:44:20 +01:00