Alessandro Ros
c0c275e6a6
expose number of lost packets without passing through an error ( #735 )
2025-03-24 16:39:55 +01:00
Alessandro Ros
55556f1ecf
add ServerConn.VerifyCredentials() ( #555 )
2025-02-18 17:39:04 +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
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
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
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
2342abb240
server: support TCP read requests without interleaved IDs ( #246 )
...
(https://github.com/aler9/mediamtx/issues/1650 )
2023-04-13 17:03:50 +02:00
Alessandro Ros
04f5a4041c
change owner ( #217 )
2023-03-31 12:34:07 +02:00
Nils Zottmann
1c50779598
Allow RTCP packets for keepalive also in state PLAY ( #185 ) ( #186 )
...
* Allow RTCP packets for keepalive also in state PLAY (#185 )
* use sessionTimeout instead of ReadTimeout
* reset udpLastPacketTime before PLAY and RECORD
* change error message in case of timeouts
* fix comment
---------
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2023-02-13 13:22:38 +01:00
aler9
82f69e94f6
server: update error message
...
replace 'teared down' with 'torn down'
2023-02-05 19:02:42 +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
2a5b3e3ee5
server: return error in case of unexpected interleaved frames
2022-12-11 17:59:58 +01:00
aler9
9029c3a9a3
clarify error
2022-11-09 12:54:35 +01:00
aler9
630b1ebce1
change and check error message
2022-10-28 15:28:05 +02:00
aler9
a2c6a7fb97
server: change behavior in case of unhandled methods
...
(https://github.com/aler9/rtsp-simple-server/issues/1066 )
Return 501 and keep connection open instead of returning 400 and
closing the connection.
2022-08-07 13:51:12 +02:00
aler9
4940e8faeb
server: add Session to ServerHandlerOnSetParameterCtx
2022-08-07 13:43:59 +02:00
aler9
e7efb0c405
client: skip tracks with an invalid clock rate ( https://github.com/aler9/rtsp-simple-server/issues/832 )
2022-03-15 11:10:56 +01:00
aler9
95117f0aa4
server: rename Req field into Request
2022-02-19 22:20:01 +01:00
aler9
066ddd4423
server: write UDP packets in parallel.
...
A goroutine writer is allocated for each session and
for each multicast stream.
This increases bandwidth and prevents freezes caused
by lagging readers.
2021-12-07 22:45:24 +01:00
aler9
3ead94477f
server: cleanup error
2021-11-12 18:01:27 +01:00
aler9
1a59346356
server: change error
2021-11-06 12:37:41 +01:00
aler9
70137268fb
server: return dedicated error when a session is closed by the fact that there are no associated conns anymore
2021-10-27 19:39:28 +02:00
aler9
31a34d81c1
server: return the author of a tear down request
2021-10-27 19:11:19 +02:00
aler9
0ff969397d
server: make errors more clear
2021-10-27 18:55:57 +02:00
aler9
d43d52fdff
server: update error message
2021-10-27 18:46:05 +02:00
aler9
239b71d975
server: do not allow a client to control a session created with a different IP
2021-09-23 19:52:57 +02:00
aler9
5ef9076357
server: do not allow a reader to use the same UDP ports of another reader
2021-09-23 19:16:01 +02:00
aler9
7ac0d79ae9
server: do not allow a session to setup UDP tracks from different IPs
2021-09-23 19:12:46 +02:00
aler9
0840425ed2
server: return specific error message in case interleaved IDs are in use
2021-08-25 09:47:12 +02:00
aler9
45db8582b0
server: do not allow a client to change path name during PLAY or RECORD
2021-07-31 21:26:57 +02:00
aler9
a512762ba0
server: support setupping tracks with arbitrary interleaved IDs ( #47 )
2021-06-26 12:51:45 +02:00
aler9
7238502094
server: normalize errors
2021-06-18 00:08:04 +02:00
aler9
11a5fb68ad
server: test invalid paths
2021-05-08 16:01:06 +02:00
aler9
e52fda806d
add ServerConn.Close(), ServerSession.Close()
2021-05-07 11:42:01 +02:00
aler9
9d42a63102
server: add error to OnSessionClose()
2021-05-04 16:51:20 +02:00
aler9
6f749e6ba8
server: rewrite timeout system
2021-05-04 16:51:20 +02:00
aler9
b4dba4bfdd
server: test invalid methods and double sessions
2021-05-04 16:51:20 +02:00
aler9
1906c9f776
server: test invalid session
2021-05-04 16:51:20 +02:00
aler9
ab7ede2c00
server: shut down session after a TEARDOWN request
2021-05-04 16:51:20 +02:00
aler9
259043685d
server: implement sessions
2021-05-04 16:51:20 +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