Commit Graph

226 Commits

Author SHA1 Message Date
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
Alessandro Ros
d273452e83 client: accept responses only if their CSeq corresponds to requests (#410) 2023-09-10 18:26:32 +02:00
Alessandro Ros
dfa09dd125 client: log every incoming response (#409) 2023-09-10 18:08:06 +02:00
Alessandro Ros
4495e7d689 move most errors into pkg/liberrors (#408) 2023-09-10 17:32:16 +02:00
Alessandro Ros
af14144d2c client: fix enforcing timeout to responses (#406) 2023-09-10 16:45:12 +02:00
Alessandro Ros
e9295e073b client: add OnServerRequest and OnServerResponse callbacks (#405) 2023-09-10 16:28:10 +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
6f961c1bbb client: stop main routine immediately in case of a read error (#379) 2023-08-24 18:20:22 +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
70c719a211 allow publishers to set the title of the stream
(https://github.com/bluenviron/mediamtx/issues/979)
2023-08-22 18:59:39 +02:00
aler9
cdbecb1f5d allow setting additional properties of streams through description.Stream 2023-08-22 16:46:18 +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
4ad57d6a75 preserve NTP when generating sender reports 2023-08-17 13:23:16 +02:00
aler9
939c065f6f client: invert arguments of Setup() and SetupAll() 2023-08-17 13:23:15 +02:00
aler9
5e5a21240d rename pkg/formats into pkt/format 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