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
bfef17b717
add Client.PacketNTP(), ServerSession.PacketNTP()
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
ca87733ded
remove suffix from new functions
2023-08-16 13:26:17 +02:00
aler9
80106144e6
bump to v4
2023-08-16 13:26:17 +02:00
aler9
98e6e8239e
simplify tests
2023-08-14 16:56:54 +02:00
aler9
18ddae4c50
enable errcheck
2023-08-13 16:29:53 +02:00
aler9
8ef42a27e9
restore API compatibility
2023-07-31 10:07:25 +02:00
aler9
8b8b52e689
return an error in case the random number generator fails
2023-07-30 22:40:34 +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
0f97e8158c
client: return an error in case of invalid packet ( #305 )
...
when reading with TCP and packet has an unknown format.
2023-06-08 23:33:29 +02:00
Alessandro Ros
b0947c133e
move each goroutine in a dedicated struct ( #285 )
2023-05-17 21:14:00 +02:00
Alessandro Ros
7c67221494
auth: add Validate() and deprecate Validator{} ( #272 )
2023-05-07 19:34:20 +02:00
Alessandro Ros
a9a7426412
client, server: print number of lost packets even when using TCP ( #269 )
2023-05-02 14:30:32 +02:00
Alessandro Ros
a955288571
replace Format.Marshal() with RTPMap() and FMTP() ( #253 )
2023-04-15 13:46:19 +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
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
f905598d2e
link to mediacommon ( #223 )
...
* move codecs and bits to mediacommon
* add SafeSetParams() to H264 and H265
* update README
2023-04-01 16:38:08 +02:00
Alessandro Ros
af3ed2bd83
merge format and formatdecenc into formats ( #222 )
2023-04-01 13:23:16 +02:00
Alessandro Ros
04f5a4041c
change owner ( #217 )
2023-03-31 12:34:07 +02:00
Alessandro Ros
1ad059a80b
server: use absolute RTSP URL as control attribute ( #210 )
...
this is necessary in order to make GStreamer's rtspsrc to send query parameters correctly in SETUP requests.
2023-03-24 10:54:14 +01:00
Alessandro Ros
d369d215c2
client: replace OnWarning with Log ( #208 )
2023-03-19 18:15:33 +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
5f2ac979c5
move pkg/mpeg4audio into pkg/codecs/mpeg4audio
2022-12-27 17:30:53 +01:00
Alessandro Ros
ae9dac0ad3
use random UUIDs as media IDs ( #163 )
...
* remove Medias.Clone(), Media.Clone(), Format.Clone()
* server: use random UUIDs as media IDs
* client: use random UUIDs as media IDs
2022-12-22 20:32:28 +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
6141afcfc4
add H264 NALU types
2022-12-14 14:57:02 +01:00
aler9
38b24b8e26
rename 'track' references into 'format'
2022-12-13 18:06:41 +01:00
aler9
46cbb885b7
improve coverage
2022-12-11 23:40:01 +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