Commit Graph

66 Commits

Author SHA1 Message Date
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
aler9
7532484041 add option MaxPacketSize to Client and Server 2023-08-16 13:26:17 +02:00
aler9
1a3e6ad092 remove return value from Close() 2023-08-16 13:26:17 +02:00
aler9
e26ccf0858 remove deprecated functions 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