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
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
ff08b85700
server: add ServerStreamStatsFormat.LocalSSRC ( #804 )
2025-06-28 16:56:44 +02:00
Alessandro Ros
b407cb1dd0
server: support reading back channels ( #597 ) ( #777 )
2025-05-04 17:04:15 +02:00
Alessandro Ros
74a65e4c08
expose back rtcpreceiver, rtcpsender, rtpreorderer, rtplossdetector ( #755 )
2025-04-12 10:10:05 +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
64309126c6
server: fix panic during PAUSE due to race condition ( #689 ) ( #692 )
2025-02-07 16:30:10 +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
6240aa2847
server: fix resetting writer when OnPlay fails ( #683 )
2025-01-18 19:12:59 +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
db334b3a8d
server: fix crash with invalid SETUP request (bluenviron/mediamtx#4025) ( #652 )
2024-12-08 18:58:13 +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
49ee03f0b1
reuse UDP buffers when possible ( #639 )
2024-10-24 14:28:53 +02:00
Alessandro Ros
d43cce3086
server: fix error message ( #634 )
...
Return error 'can't setup medias with different protocols' when trying
to use UDP and TCP in sequence.
2024-10-14 12:28:03 +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
6ed93de46c
server: fix SETUP in case of no track ID and query parameters ( #623 )
2024-09-15 23:24:34 +02: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
Katie Holly
9f6428bdb8
avoid returning partial RTP-Info header, omit seq/rtptime if needed ( #568 )
...
* avoid returning partial RTP-Info header, omit seq/rtptime if needed
* adjust test to align with new behavior of RTP-Info header
2024-05-09 22:17:26 +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
9cd54f56b4
client: prevent UDP listener from closing twice ( #515 )
2024-01-31 22:10:31 +01: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
01b3bfc6ab
move url.URL into base.URL ( #459 )
2023-11-07 16:51:45 +01:00
Alessandro Ros
2f7ed32139
server: add methods SetuppedStream, SetuppedPath, SetuppedQuery ( #444 )
2023-10-17 20:31:54 +02:00
Alessandro Ros
644cd50e3a
server: stop sending multicast packets when all multicast readers have disconnected ( #411 )
2023-09-11 10:57:49 +02:00
Alessandro Ros
4495e7d689
move most errors into pkg/liberrors ( #408 )
2023-09-10 17:32:16 +02:00
Alessandro Ros
efc7783650
server: fix crash when calling RECORD and PAUSE ( #392 )
2023-08-31 22:42:17 +02:00
Alessandro Ros
3bdae4ed46
make WritePacket*() return errors when write queue is full ( #388 )
2023-08-26 18:09:45 +02:00
Alessandro Ros
b97aed00fe
remove ReadBufferCount; rename WriteBufferCount into WriteQueueSize ( #384 )
2023-08-26 12:57:33 +02:00
aler9
67062787f6
Merge branch 'main' into v4
2023-08-25 16:10:42 +02:00
Alessandro Ros
72aa55a012
log decode errors and lost packets by default ( #380 )
2023-08-25 16:08:28 +02:00
Alessandro Ros
ed4bbe3986
client: support server-sent requests ( #93 ) ( #378 )
2023-08-24 16:07:09 +02:00
Alessandro Ros
29ddbbbbf5
align PacketPTS() and PacketNTP(); add example ( #374 )
2023-08-22 20:53:23 +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
8b047b545b
decode RTP time globally
2023-08-17 13:41:01 +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