Commit Graph

66 Commits

Author SHA1 Message Date
aler9
fb39087150 client: avoid sending/receiving invalid packet when reading with multicast 2022-07-05 22:54:40 +02:00
aler9
f3b0fc69b4 rename Read / Write into Unmarshal / Marshal when needed
Read() / Write() are used to read / write from streams, while
Unmarshal() / Marshal() are used to decode / encode from / to bytes.
2022-06-27 17:27:16 +02:00
aler9
9f4fea8a01 change track initialization method 2022-06-23 13:13:36 +02:00
aler9
aa08f973dd server: fix crash that happens when a reader tries to setup a closed stream (https://github.com/aler9/rtsp-simple-server/issues/866) 2022-06-14 15:32:16 +02:00
aler9
2fa3148a27 move URL into dedicated folder 2022-06-05 01:27:19 +02:00
aler9
206506a8f0 fix wrong RTP-Info header (https://github.com/aler9/rtsp-simple-server/issues/922)
- fix truncation to seconds of RTP time in RTP-Info
- add a small quantity to rtptime in RTP-Info
- add 1 to last sequence number in RTP-Info
2022-05-16 14:34:17 +02:00
aler9
c1b10a80be allow writing primitives to static buffers 2022-05-11 15:26:44 +02:00
aler9
edeef85e9e accept io.Writer in Write() methods 2022-05-08 14:33:29 +02:00
aler9
bfe4e8cdaa automatically remux oversized RTP/H264 packets; drop parameter ReadBufferSize 2022-04-09 20:16:14 +02:00
aler9
d0cab3c8bd server: add parameter 'containsKeyFrame' to WritePacketRTP; fix RTCP sender reports and RTP-Info 2022-04-08 16:45:09 +02:00
aler9
cec5326ccf downgrade pion/rtp to v1 (#110) (#113) 2022-04-01 11:19:43 +02:00
aler9
7d9c882cc9 server: generate RTCP sender reports automatically; remote RTCP routing from examples 2022-03-24 15:27:19 +01:00
aler9
7f6383aa3c server: make calling ServerStream.Close() mandatory 2022-03-24 12:44:20 +01:00
aler9
8ad42f8339 server: add multicast read timeout test 2022-03-24 12:22:55 +01:00
aler9
58557ecd5e fix tests 2022-03-08 17:11:30 +01:00
aler9
e12b22ae77 fix encoding of RTP packets with padding
this fixes a SIGSEGV with GStreamer
2022-03-08 12:47:55 +01:00
aler9
2844e6dfef fix tests 2022-02-19 15:53:37 +01:00
aler9
86fb4181c7 server: allow calling ServerSession.WritePacketRTCP() inside OnRecord and OnPlay (#99) 2022-02-18 23:19:33 +01:00
aler9
3a2f9adbd5 server: decode and encode RTP/RTCP packets 2022-02-18 00:03:39 +01:00
aler9
b7df36d4ad client: decode and encode RTP/RTCP packets 2022-02-18 00:03:39 +01:00
aler9
ad69a8957b support h264 tracks with extradata in sprop-parameter-sets 2022-01-30 15:51:49 +01:00
aler9
6d5bf0c1bb new track system 2022-01-30 15:51:49 +01:00
aler9
f6a86b8789 server: send session timeout to clients through the session header (https://github.com/aler9/rtsp-simple-server/issues/702) 2022-01-20 16:32:32 +01:00
aler9
f3096ec102 improve write performance by
* buffering packets before sending them
* removing mutexes
2021-12-08 17:46:56 +01:00
aler9
a1de5ffdf9 add client TLS publish tests 2021-12-08 17:23:03 +01:00
aler9
a4c43fc1e8 use UDP in sender / receiver report tests 2021-11-18 11:51:32 +01:00
aler9
1411cb33f5 server: support reading with VLC and multicast 2021-11-15 17:40:17 +01:00
aler9
9d26c94e2d server: improve test 2021-11-13 11:31:32 +01:00
aler9
f304ec52fb server: make Close() wait for all resources to close 2021-11-12 18:01:27 +01:00
aler9
19568f2d42 fix tests 2021-11-12 18:01:27 +01:00
aler9
1f5dec4a02 server: move address into Server struct 2021-11-12 18:01:27 +01:00
aler9
2882bacdf2 server: split WriteFrame into WritePacketRTP and WritePacketRTCP 2021-11-12 18:01:27 +01:00
aler9
472430f900 server: split OnFrame into OnPacketRTP and OnPacketRTCP 2021-11-12 18:01:27 +01:00
aler9
6e38851a09 add non standard frame tests 2021-11-06 13:28:16 +01:00
aler9
78bfa5d6a8 use require.EqualError() in tests 2021-11-03 17:52:45 +01:00
aler9
b5f1d7ccb6 fix tests 2021-10-30 14:58:02 +02:00
aler9
653b3ee993 update golangci-lint 2021-10-30 13:06:23 +02:00
aler9
61c39f9062 rename StreamProtocol and StreamDelivery into TransportProtocol and TransportDelivery 2021-10-22 17:59:36 +02:00
aler9
e7ab15750c server: replace SetuppedProtocol() with SetuppedTransport() 2021-10-22 17:40:18 +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
d744a2e0d3 change way tracks are initialized
A config object is now required to initialize tracks.
Config objects are provided for H264 and AAC.
This allows to pass parameters easily and treat AAC
parameters explicitly.
2021-08-25 19:16:51 +02:00
aler9
a512762ba0 server: support setupping tracks with arbitrary interleaved IDs (#47) 2021-06-26 12:51:45 +02:00
aler9
ff8c485b11 headers: change Transport.Destination type to net.IP 2021-06-19 18:58:31 +02:00
aler9
63e2864a67 server: use one IP per stream; expose multicast parameters in configuration 2021-06-19 18:48:32 +02:00
aler9
2cff0d51d3 listen on IPv6 too in case of multicast 2021-06-19 16:32:21 +02:00
aler9
ea1c7c69be server: support receiving RTCP packets from multicast clients 2021-06-18 17:34:25 +02:00
aler9
db28e87ecb server: fill SSRC in SETUP responses and RTP-Info in PLAY responses automatically 2021-06-17 16:45:24 +02:00
aler9
3f3226b53d server: support reading with multicast 2021-06-17 16:45:24 +02:00
aler9
4c5e81f478 server: do not sent non-setupped tracks to clients 2021-06-16 21:09:05 +02:00
aler9
d3f34b1c74 server: use localhost instead of 127.0.0.1 in tests 2021-06-06 12:41:04 +02:00