Alessandro Ros 
							
						 
					 
					
						
						
							
						
						9db34842c8 
					 
					
						
						
							
							move host resolution from headers to client/server ( #883 )  
						
						
						
						
					 
					
						2025-09-07 15:39:02 +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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						7a5df14b2c 
					 
					
						
						
							
							add UDPReadBufferSize option ( #857 )  
						
						
						
						
					 
					
						2025-08-11 10:49:54 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						314288ef12 
					 
					
						
						
							
							client: prevent setting up undesired back channels ( #856 )  
						
						
						
						
					 
					
						2025-08-09 17:14:22 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						5cbe14c918 
					 
					
						
						
							
							remove useless check ( #849 )  
						
						
						
						
					 
					
						2025-08-07 16:31:12 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						e9db56f913 
					 
					
						
						
							
							client: use server interface as multicast interface ( #762 ) ( #847 )  
						
						... 
						
						
						
						this fixes most errors "found no interface that is multicast-capable
and can communicate with IP". 
						
						
					 
					
						2025-08-04 15:17:49 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						63f7ffc3e3 
					 
					
						
						
							
							improve Stats performance ( #839 )  
						
						... 
						
						
						
						Build aggregated statistics by using already-available data. 
						
						
					 
					
						2025-07-26 14:01:17 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						9c1011567a 
					 
					
						
						
							
							client: add Start2; deprecate Start ( #801 )  
						
						
						
						
					 
					
						2025-07-05 13:02:45 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						616fa7ea89 
					 
					
						
						
							
							support encrypted streams with SRTP and MIKEY ( #520 ) ( #809 )  
						
						
						
						
					 
					
						2025-07-05 12:48:13 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						2c2f99e1a3 
					 
					
						
						
							
							client: open firewall before sending PLAY request ( #821 )  
						
						... 
						
						
						
						this prevents losing some initial packets. 
						
						
					 
					
						2025-07-05 11:13:51 +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 
							
						 
					 
					
						
						
							
						
						d7f40e5026 
					 
					
						
						
							
							client: when reading UDP streams, write reports to right IP ( #818 )  
						
						... 
						
						
						
						source IPs sent by the server were not taken into consideration. This
fixes the issue. 
						
						
					 
					
						2025-06-30 20:07:48 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						3055b4f9a1 
					 
					
						
						
							
							client: when reading multicast streams, write unicast reports ( #817 )  
						
						... 
						
						
						
						Previously, receiver reports were broadcasted to all connected clients. Now they are sent to the server only. 
						
						
					 
					
						2025-06-30 20:07:19 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						bf3ce11479 
					 
					
						
						
							
							client: prevent downgrading from RTSPS to RTSP during redirect ( #816 )  
						
						
						
						
					 
					
						2025-06-30 16:03:05 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						33a87b2270 
					 
					
						
						
							
							client: deprecate Seek() ( #806 )  
						
						
						
						
					 
					
						2025-06-29 10:27:54 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						5681eddb28 
					 
					
						
						
							
							update documentation ( #788 )  
						
						
						
						
					 
					
						2025-05-29 19:40:03 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						4e3c5e6c0d 
					 
					
						
						
							
							client: skip firewall opening when writing back channels ( #776 )  
						
						
						
						
					 
					
						2025-05-04 15:47:06 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						904b0a1920 
					 
					
						
						
							
							client: enable keepalives in most cases ( #775 )  
						
						
						
						
					 
					
						2025-05-04 15:39:07 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						2cbdc2a0b7 
					 
					
						
						
							
							client: fix timeout when writing to back channels ( #575 ) ( #774 )  
						
						... 
						
						
						
						Keep alives are now sent when writing to back channels too. 
						
						
					 
					
						2025-05-04 13:17:53 +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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						ca6286321d 
					 
					
						
						
							
							fix various race conditions when writing packets to closed clients or server sessions ( #684 )  
						
						
						
						
					 
					
						2025-01-19 12:07:59 +01:00 
						 
				 
			
				
					
						
							
							
								Sijmen 
							
						 
					 
					
						
						
							
						
						b2cfa93d13 
					 
					
						
						
							
							client: fix panic when writing packets after connection error ( #681 )  
						
						... 
						
						
						
						* Fix writer nullpointer panic on network reconnect
* add additional code and tests
---------
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com > 
						
						
					 
					
						2025-01-18 19:40:47 +01:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						4d3d6bc108 
					 
					
						
						
							
							prevent RTPPacketsJitter from being NaN ( #670 )  
						
						
						
						
					 
					
						2024-12-25 15:32:16 +01:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						5d44205cbe 
					 
					
						
						
							
							rename RTPJitter into RTPPacketsJitter ( #669 )  
						
						
						
						
					 
					
						2024-12-25 15:14:40 +01:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						87c6d81053 
					 
					
						
						
							
							add statistics to Client, ServerSession, ServerConn, ServerStream ( #556 ) ( #656 )  
						
						
						
						
					 
					
						2024-12-25 13:30:08 +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 
							
						 
					 
					
						
						
							
						
						a19432fd87 
					 
					
						
						
							
							bump Golang to 1.23 ( #610 )  
						
						
						
						
					 
					
						2024-11-04 13:39:10 +01:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						01fd8033a2 
					 
					
						
						
							
							use new time decoder in place of deprecated one ( #643 )  
						
						
						
						
					 
					
						2024-11-04 13:26:14 +01:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						9ac016c5dd 
					 
					
						
						
							
							client: fix resetting time decoder ( #642 )  
						
						
						
						
					 
					
						2024-11-04 13:21:49 +01:00 
						 
				 
			
				
					
						
							
							
								Kevin Wang 
							
						 
					 
					
						
						
							
						
						21e06b0f68 
					 
					
						
						
							
							Support relative Content-Base paths ( #636 )  
						
						
						
						
					 
					
						2024-10-23 22:22:41 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						2ca0bffa20 
					 
					
						
						
							
							use native timestamps instead of time.Duration ( #627 )  
						
						... 
						
						
						
						this improves timestamp precision 
						
						
					 
					
						2024-10-07 15:58:43 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						c9bf79f340 
					 
					
						
						
							
							client: omit mode from Transport header ( #611 ) ( #574 ) ( #614 )  
						
						
						
						
					 
					
						2024-09-09 10:28:34 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						ff5bda0e67 
					 
					
						
						
							
							client: prevent switching protocol when protocol is fixed to UDP ( #607 )  
						
						
						
						
					 
					
						2024-08-25 20:40:56 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						363b48e632 
					 
					
						
						
							
							update golangci-lint ( #554 )  
						
						
						
						
					 
					
						2024-04-28 18:20:25 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						9cd54f56b4 
					 
					
						
						
							
							client: prevent UDP listener from closing twice ( #515 )  
						
						
						
						
					 
					
						2024-01-31 22:10:31 +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 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						7632ae5615 
					 
					
						
						
							
							client: support receiving responses with spaces in CSeq ( #437 ) ( #446 )  
						
						
						
						
					 
					
						2023-10-22 13:58:12 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						78198a588b 
					 
					
						
						
							
							fix reading and writing multicast packets in case of multiple interfaces ( #413 )  
						
						... 
						
						
						
						(https://github.com/bluenviron/mediamtx/issues/2029 ) 
						
						
					 
					
						2023-09-11 23:36:53 +02:00 
						 
				 
			
				
					
						
							
							
								Alessandro Ros 
							
						 
					 
					
						
						
							
						
						8fdc7193f2 
					 
					
						
						
							
							client: support cameras that don't reply to keepalives ( #412 )  
						
						... 
						
						
						
						(https://github.com/bluenviron/mediamtx/issues/2302 ) 
						
						
					 
					
						2023-09-11 17:49:46 +02:00