Commit Graph

24 Commits

Author SHA1 Message Date
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
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
4495e7d689 move most errors into pkg/liberrors (#408) 2023-09-10 17:32:16 +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
ed4bbe3986 client: support server-sent requests (#93) (#378) 2023-08-24 16:07:09 +02:00
aler9
80106144e6 bump to v4 2023-08-16 13:26:17 +02:00
Alessandro Ros
e583556d86 server, client: allow using odd interleaved IDs (#304)
(https://github.com/bluenviron/mediamtx/issues/1762)
2023-06-08 23:40:37 +02:00
Alessandro Ros
04f5a4041c change owner (#217) 2023-03-31 12:34:07 +02:00
Alessandro Ros
71bd86cff9 client: improve automatic protocol switching (#169)
(https://github.com/aler9/rtsp-simple-server/issues/1105)

when a camera receives a UDP request and replies with a TCP response,
switch protocol from UDP to TCP.
2023-01-19 09:41:24 +01:00
Alessandro Ros
a1396206b5 convert Tracks into Medias and Formats (#155)
* split tracks from medias

* move tracks into dedicated package

* move media into dedicated package

* edit Medias.Marshal() in order to return SDP

* add medias.Find() and simplify examples

* improve coverage

* fix rebase errors

* replace TrackIDs with MediaIDs

* implement media-specific and track-specific callbacks for reading RTCP and RTP packets

* rename publish into record, read into play

* add v2 tag

* rename tracks into formats
2022-12-11 22:03:22 +01:00
aler9
d9d6227906 client: simplify usage of Setup() 2022-11-01 09:58:08 +01:00
aler9
71855ddc79 client: make WritePacket* return the fatal error 2021-11-12 18:01:27 +01:00
aler9
0440a926b8 client: use a single goroutine during play / record 2021-11-12 18:01:27 +01:00
aler9
c1ca81eb74 client: rename error 2021-11-03 21:49:24 +01:00
aler9
accfc7cd5d client: support servers that change interleaved IDs (#72) 2021-08-25 18:04:22 +02:00
aler9
9595e298f8 client: support reading with UDP-multicast 2021-06-18 17:47:25 +02:00
aler9
363871d658 client: support server_port=0-1 (https://github.com/aler9/rtsp-simple-server/issues/407) 2021-06-03 23:41:39 +02:00
aler9
f8ef945dae client: allow to call client.Close() always 2021-05-10 17:18:41 +02:00
aler9
259043685d server: implement sessions 2021-05-04 16:51:20 +02:00
aler9
fc3d84be56 client: apply TCP timeout correctly (https://github.com/aler9/rtsp-simple-server/issues/335) 2021-04-04 19:40:21 +02:00
aler9
2df9029f01 client: switch to TCP if no UDP packets have been received within a timeout (https://github.com/aler9/rtsp-simple-server/issues/173) 2021-03-26 23:02:36 +01:00
aler9
437b4cc87e move errors into subpackage 2021-03-21 11:19:35 +01:00