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
ead4471b5c
support RTSP-over-HTTP ( #433 ) ( #768 ) ( #887 )
2025-09-15 19:00:50 +02:00
Alessandro Ros
65da49ffc0
optimize code ( #878 )
...
* remove unused code
* initialize UDP listeners and SRTP before initializing medias
* make rtpSender and rtpReceiver available before PLAY / RECORD
* use writerMutex to protect writer only
2025-09-05 23:11:51 +02:00
Alessandro Ros
1f543a0331
rename rtcpreceiver into rtpreceiver, rtcpsender into rtpsender ( #874 )
...
These utilities were originally meant to handle RTCP only, now they are
in charge of every QoS mechanism.
2025-09-04 19:06:56 +02:00
Alessandro Ros
572dedc400
remove redundant code ( #843 )
2025-08-02 14:25:17 +02:00
Alessandro Ros
c7da004e03
merge rtplossdetector and rtpreorderer into rtcpreceiver ( #842 )
2025-08-02 12:41:10 +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
ff85f6156a
client: fix reading sources without server ports (bluenviron/mediamtx#4253) ( #796 )
...
RTCP packets were sent out to nil addresses, due to the lack of server
ports, causing an error.
2025-06-08 12:45:05 +02:00
Alessandro Ros
74a65e4c08
expose back rtcpreceiver, rtcpsender, rtpreorderer, rtplossdetector ( #755 )
2025-04-12 10:10:05 +02:00
Alessandro Ros
61372cfa68
rename OnPacketLost2 into OnPacketsLost ( #736 )
2025-03-24 18:42:48 +01:00
Alessandro Ros
c0c275e6a6
expose number of lost packets without passing through an error ( #735 )
2025-03-24 16:39:55 +01:00
Alessandro Ros
87c6d81053
add statistics to Client, ServerSession, ServerConn, ServerStream ( #556 ) ( #656 )
2024-12-25 13:30:08 +01:00
Alessandro Ros
8c4a3ca018
unexport RTCPSender, RTCPReceiver, LossDetector, Reorderer ( #667 )
2024-12-24 21:21:11 +01:00
Alessandro Ros
5506eb2f7f
use a single TCP outgoing buffer each client / session ( #665 )
...
this saves memory.
2024-12-24 10:24:24 +01:00
Alessandro Ros
8f74559616
close connections in case of write errors ( #613 ) ( #655 )
2024-12-14 13:45:11 +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
4495e7d689
move most errors into pkg/liberrors ( #408 )
2023-09-10 17:32:16 +02:00
Alessandro Ros
3bdae4ed46
make WritePacket*() return errors when write queue is full ( #388 )
2023-08-26 18:09:45 +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
4ad57d6a75
preserve NTP when generating sender reports
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
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
aler9
7b2e4d9564
remove workaround for pion/rtp < 1.8.1
2023-08-01 11:38:26 +02:00
aler9
8b8b52e689
return an error in case the random number generator fails
2023-07-30 22:40:34 +02:00
Alessandro Ros
320a2b99af
fix race condition in WritePacketRTP() ( #334 )
2023-07-28 23:40:31 +02:00
Alessandro Ros
ed536f1d63
export callback prototypes ( #333 )
2023-07-28 21:05:10 +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
30af49c412
rename maxPacketSize into udpMaxPayloadSize ( #249 )
2023-04-15 12:24:48 +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
d369d215c2
client: replace OnWarning with Log ( #208 )
2023-03-19 18:15:33 +01:00
Alessandro Ros
a2d6ce8af6
replace OnDecodeError with OnWarning ( #177 )
2023-01-23 12:54:57 +01:00
Alessandro Ros
7b6a5f8cb3
Add proxy example ( #141 ) ( #175 )
...
* cleanup
* add proxy example
2023-01-23 11:23:16 +01:00
Alessandro Ros
f6438ed8d1
normalize file names ( #173 )
2023-01-22 11:44:20 +01:00