Alessandro Ros
72aa55a012
log decode errors and lost packets by default ( #380 )
2023-08-25 16:08:28 +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
Alessandro Ros
ed536f1d63
export callback prototypes ( #333 )
2023-07-28 21:05:10 +02:00
Alessandro Ros
294dcf8a52
client: deprecate RedirectDisable ( #324 )
2023-07-09 15:00:27 +02:00
Alessandro Ros
37dc292ee5
client: support URLs with IPv6 and no port ( #313 ) ( #316 )
2023-06-17 11:45:05 +02:00
Alessandro Ros
ccf42f49c7
fix isChannelPairInUse() ( #306 )
2023-06-09 12:34:10 +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
19dcd3e067
update golangci-lint ( #292 )
2023-05-28 13:40:00 +02:00
Alessandro Ros
b50151a0d6
client: rewrite inline functions as methods ( #291 )
2023-05-28 12:31:37 +02:00
Alessandro Ros
1e1e10b031
client: fix OnResponse() not getting called when playing / recording ( #290 )
2023-05-28 12:12:25 +02:00
Alessandro Ros
f254503cf5
client: fix sending keepalives ( https://github.com/bluenviron/mediamtx/issues/1812 ) ( #287 )
...
this fixes a regression introduced with #277
2023-05-20 10:33:16 +02:00
Alessandro Ros
67d4106adc
rtptime: fix time encoding on arm32 ( #274 ) ( #277 )
2023-05-08 13:54:51 +02:00
Alessandro Ros
00f66555e2
fix timeout with some cameras by decreasing interval between keepalives ( #265 )
...
(https://github.com/aler9/mediamtx/issues/1403 )
2023-04-29 22:03:38 +02:00
Alessandro Ros
9e29555063
simplify tests ( #247 )
2023-04-14 11:53:37 +02:00
Alessandro Ros
c56eee37f8
do not listen on IPv6 when host is 0.0.0.0 ( #240 )
...
(https://github.com/aler9/mediamtx/issues/1665 )
2023-04-10 22:42:19 +02:00
Alessandro Ros
2a91a68121
update docs ( #232 )
2023-04-09 17:01:38 +02:00
Alessandro Ros
1694d9086d
use normalized trackID in place of mediaUUID ( #226 )
...
This is needed to support clients like the Grandstream GXV3500.
Fixes #190
2023-04-07 12:38:10 +02:00
Alessandro Ros
2fbba142cc
add OnTransportSwitch, OnPacketLost, OnDecodeError to server and client ( #225 )
...
These new hooks replace the generic hooks Log() and OnWarning().
2023-04-04 17:10:37 +02:00
Alessandro Ros
af3ed2bd83
merge format and formatdecenc into formats ( #222 )
2023-04-01 13:23:16 +02:00
Alessandro Ros
71ce818c97
remove deprecated entities ( #220 )
2023-03-31 12:42:50 +02:00
Alessandro Ros
04f5a4041c
change owner ( #217 )
2023-03-31 12:34:07 +02:00
Alessandro Ros
d369d215c2
client: replace OnWarning with Log ( #208 )
2023-03-19 18:15:33 +01:00
Alessandro Ros
253be9913e
update docs ( #203 )
2023-03-13 18:53:36 +01:00
aler9
1d915dcc81
change error message
2023-01-23 13:52:11 +01:00
Alessandro Ros
a2d6ce8af6
replace OnDecodeError with OnWarning ( #177 )
2023-01-23 12:54:57 +01:00
Alessandro Ros
14fcde1c69
client: call OnDecodeError() during protocol switch from UDP to TCP ( #176 )
2023-01-23 12:41:14 +01:00
aler9
e3f21fc59f
client: send TEARDOWN even when PLAY or RECORD have not been sent yet
2023-01-19 10:31:28 +01: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
aler9
bf12e12afd
client: decrease security issues with AnyPortEnable
...
When AnyPortEnable is true, store the port of the first incoming packet
and check that following packets use the same port
2023-01-07 11:06:10 +01:00
aler9
5a2ea9cf9c
partially revert cabfcd6
2022-12-22 20:36:41 +01:00
aler9
cabfcd627b
client: do not override media controls inside Announce()
...
this fixes the client-read-republish example and allows users to set
their own media controls.
Function medias.SetControls() is provided in order to automatically set
media controls and must be called manually.
2022-12-22 18:54:09 +01:00
aler9
ffe8c87c38
fix overriding of previously-received RTP packets that leaded to crashes
...
RTP packets were previously take from a buffer pool. This was messing
up the Client, since that buffer pool was used by multiple routines at
once, and was probably messing up the Server too, since packets can be
pushed to different queues and there's no guarantee that these queues
have an overall size less than ReadBufferCount.
This buffer pool is removed; this decreases performance but avoids bugs.
2022-12-19 13:51:49 +01:00
aler9
38b24b8e26
rename 'track' references into 'format'
2022-12-13 18:06:41 +01:00
aler9
256877086b
merge serverWriter and clientWriter
2022-12-11 22:54:16 +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
fa95f5a86b
add Client.SetupAll()
2022-12-11 14:25:35 +01:00
aler9
99855bd3a2
allow invalid RTCP packets in both client and server
...
(https://github.com/aler9/rtsp-simple-server/issues/1085 )
Invalid RTCP packets, in both server and client, do not trigger a fatal
error anymore but they're just blocked. OnDecodeError() is called in
order to emit a warning.
2022-12-09 12:48:33 +01:00
aler9
d521a785c4
support tracks without clock rate
2022-11-27 21:17:48 +01:00
aler9
9f5ab03742
headers: simplify usage of Range
2022-11-20 11:33:49 +01:00
Alessandro Ros
7951b2e4af
allow to set NTP of outgoing packets in both client and server ( #148 )
2022-11-14 16:55:40 +01:00
aler9
12c8845fef
client: add variables to store received and sent bytes
2022-11-10 22:15:34 +01:00
aler9
32f611270c
add option to disable automatic RTCP sender reports ( #111 )
2022-11-02 17:32:42 +01:00
Alessandro Ros
7a4c7d6d66
remove h264 decoding and re-encoding ( #144 )
...
* stop re-encoding H264
* stop decoding H264
* improve tests
2022-11-02 14:38:05 +01:00
aler9
58bc92133a
client: generate RTCP sender reports when publishing with TCP too
2022-11-02 12:26:28 +01:00
aler9
d9d6227906
client: simplify usage of Setup()
2022-11-01 09:58:08 +01:00
aler9
b1f72f9392
return error in OnDecodeError when there are oversized UDP packets
2022-10-31 15:53:15 +01:00
aler9
30e029011b
add OnDecodeError callback to both client and server
...
This allows to detect decode errors of RTP and RTCP packets
2022-10-31 12:36:30 +01:00
aler9
9b5071f505
update docs
2022-10-31 10:05:34 +01:00
aler9
92cc1b5ee9
update golangci-lint
2022-09-17 21:19:40 +02:00