Commit Graph

55 Commits

Author SHA1 Message Date
Alessandro Ros
cf2ff2b564 add Transport.Profile, media.Profile (#873)
this will allow to support AVPF in the future.
2025-09-04 18:08:51 +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
1021950db8 update linter settings (#840) 2025-07-26 16:28:03 +02:00
Alessandro Ros
616fa7ea89 support encrypted streams with SRTP and MIKEY (#520) (#809) 2025-07-05 12:48:13 +02:00
Alessandro Ros
4f3337f56c set SSRC of outgoing packets (#803)
In client and server, each format now has a fixed, unique, known in
advance SSRC, that is applied to outgoing packets belonging to each
format.

This is needed to support SRTP/MIKEY, that require each format to have
a fixed, unique, and known in advance SSRC.

A secondary effect is that SETUP responses now always contain SSRCs of
each format, regardless of the fact that the first packet has been
produced or not (previously we needed at least one packet, from which
the SSRC was extracted).
2025-07-05 11:08:57 +02:00
Alessandro Ros
6cf27aac05 remove useless code from tests (#815) 2025-06-30 10:15:11 +02:00
Alessandro Ros
904b0a1920 client: enable keepalives in most cases (#775) 2025-05-04 15:39:07 +02:00
Alessandro Ros
61372cfa68 rename OnPacketLost2 into OnPacketsLost (#736) 2025-03-24 18:42:48 +01:00
Alessandro Ros
fcb018151b make ServerStream return an error if initialized before Server (#719) (#728) 2025-03-23 16:17:34 +01:00
Alessandro Ros
376fb9e821 replace New* with Initialize (#723) 2025-03-16 13:58:35 +01:00
Alessandro Ros
87c6d81053 add statistics to Client, ServerSession, ServerConn, ServerStream (#556) (#656) 2024-12-25 13:30:08 +01:00
Alessandro Ros
93b012b3ca server: always open firewall before sending messages (#666) 2024-12-24 16:50:53 +01:00
Alessandro Ros
a2df9d83b3 client: fix BytesSent / BytesReceived computation (#612) (#654)
When the TCP transport protocol is in use, BytesSent and BytesReceived
were increased twice.
2024-12-13 20:55:50 +01:00
Alessandro Ros
a19432fd87 bump Golang to 1.23 (#610) 2024-11-04 13:39:10 +01:00
Alessandro Ros
72e74f349e server: use relative control attributes (#620) 2024-09-15 22:51:55 +02:00
Alessandro Ros
c682ff53bf server: fix compatibility with rtspclientsink and query parameters (bluenviron/mediamtx#3295) (#619) 2024-09-15 22:18:23 +02:00
Alessandro Ros
5865d7b7ac server: fix panic when recording with wrong transport header (https://github.com/bluenviron/mediamtx/issues/3677) (#604) 2024-08-25 20:40:31 +02:00
Alessandro Ros
363b48e632 update golangci-lint (#554) 2024-04-28 18:20:25 +02:00
Alessandro Ros
24ed937861 update golangci-lint (#535) 2024-03-19 12:50:26 +01:00
Alessandro Ros
2d0c530d97 replace new() with initialize() (#490) 2023-12-26 12:48:35 +01:00
Alessandro Ros
93b02bc0e8 simplify tests (#461) 2023-11-07 23:21:33 +01:00
Alessandro Ros
2f7ed32139 server: add methods SetuppedStream, SetuppedPath, SetuppedQuery (#444) 2023-10-17 20:31:54 +02:00
Alessandro Ros
4495e7d689 move most errors into pkg/liberrors (#408) 2023-09-10 17:32:16 +02:00
Alessandro Ros
8f18a0d83b check SPS/PPS of H264/H265 SDPs (#394) 2023-09-01 18:31:52 +02:00
Alessandro Ros
efc7783650 server: fix crash when calling RECORD and PAUSE (#392) 2023-08-31 22:42:17 +02:00
aler9
cdbecb1f5d allow setting additional properties of streams through description.Stream 2023-08-22 16:46:18 +02:00
aler9
4e000eb2dd emit a decode error in case of packets with wrong SSRC 2023-08-18 18:20:13 +02:00
aler9
bfef17b717 add Client.PacketNTP(), ServerSession.PacketNTP() 2023-08-17 13:23:16 +02:00
aler9
5e5a21240d rename pkg/formats into pkt/format 2023-08-16 13:26:17 +02:00
aler9
e2c526b3b8 remove ServerHandler.Server 2023-08-16 13:26:17 +02:00
aler9
7532484041 add option MaxPacketSize to Client and Server 2023-08-16 13:26:17 +02:00
aler9
68d4bf8da0 add *Server argument to NewServerStream() 2023-08-16 13:26:17 +02:00
aler9
80106144e6 bump to v4 2023-08-16 13:26:17 +02:00
aler9
482b047999 server: allow ServerSession.WritePacket*() to return an error 2023-08-14 12:13:35 +02:00
aler9
18ddae4c50 enable errcheck 2023-08-13 16:29:53 +02:00
Alessandro Ros
0f97e8158c client: return an error in case of invalid packet (#305)
when reading with TCP and packet has an unknown format.
2023-06-08 23:33:29 +02:00
Alessandro Ros
19dcd3e067 update golangci-lint (#292) 2023-05-28 13:40:00 +02:00
Alessandro Ros
a9a7426412 client, server: print number of lost packets even when using TCP (#269) 2023-05-02 14:30:32 +02:00
Alessandro Ros
a955288571 replace Format.Marshal() with RTPMap() and FMTP() (#253) 2023-04-15 13:46:19 +02:00
Alessandro Ros
9e29555063 simplify tests (#247) 2023-04-14 11:53:37 +02:00
Alessandro Ros
1f19f3cdb8 simplify tests (#245) 2023-04-13 12:01:57 +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
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
af3ed2bd83 merge format and formatdecenc into formats (#222) 2023-04-01 13:23:16 +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
aler9
d75c8e4788 speedup tests 2023-02-13 13:18:22 +01:00
Alessandro Ros
a2d6ce8af6 replace OnDecodeError with OnWarning (#177) 2023-01-23 12:54:57 +01:00
aler9
645f9462e2 server: support publishing/reading to/from path '/' or '' 2023-01-11 00:39:58 +01:00
aler9
8320b1aceb improve coverage 2022-12-23 14:27:44 +01:00