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
32f611270c
add option to disable automatic RTCP sender reports ( #111 )
2022-11-02 17:32:42 +01:00
aler9
8883050f63
server: fix freeze caused by race condition
...
it happened when the server tried to send a request to a session that
is being closed.
2022-08-04 18:59:23 +02:00
aler9
c6972424d6
avoid using encoding/binary
2022-07-17 14:54:04 +02:00
aler9
18005a9cde
ringbuffer: force size to be a power of 2
...
otherwise buffer is used partially when writeIndex overflows.
2022-07-05 19:25:53 +02:00
aler9
2c1edabaed
update docs
2022-06-23 10:39:13 +02:00
aler9
92ed04ad6c
optimize RTP packet handling
2022-06-11 19:11:24 +02:00
aler9
bfe4e8cdaa
automatically remux oversized RTP/H264 packets; drop parameter ReadBufferSize
2022-04-09 20:16:14 +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
0515539831
add WriteBufferCount; set both ReadBufferCount and WriteBufferCount to 256
2022-02-19 15:09:00 +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
a5d0128654
update docs
2021-11-28 12:30:28 +01:00
aler9
ecd05eae3d
server: reply with code 454 when session is not found
2021-11-26 15:53:29 +01:00
aler9
d5bdc197be
allow client and server to override most parameters
2021-11-18 12:17:04 +01:00
aler9
3ff70157d0
server: do not send receiver reports when using TCP
2021-11-18 12:17:04 +01:00
aler9
f304ec52fb
server: make Close() wait for all resources to close
2021-11-12 18:01:27 +01:00
aler9
e2b52d0b84
server: do not use StreamType
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
89a1d68973
update docs
2021-11-06 12:40:51 +01:00
aler9
235cc4061b
server: add missing check
2021-10-30 21:57:30 +02:00
aler9
146b923b1e
server: make Close() return before all server resources are shut down
2021-10-30 13:52:37 +02:00
aler9
3bb5c2f12c
server: return 'terminated' error when server is terminated with Close()
2021-10-30 13:30:07 +02:00
aler9
eb7bf2614b
remove duplicate methods
2021-10-27 19:15:22 +02:00
aler9
22501a39dd
update docs
2021-10-22 18:01:12 +02:00
aler9
320c1b6f2c
rename ClientTransport into Transport
2021-10-22 17:53:51 +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
0454e5407f
use crypto/rand instead of math/rand to avoid port conflicts and security issues
2021-09-23 19:37:26 +02:00
aler9
dbfc058f0c
update golangci-lint
2021-09-09 23:05:50 +02:00
aler9
2914af3fda
server: rename session id into secretID
2021-08-04 17:21:25 +02:00
aler9
47637e3ea2
server: fix error message
2021-06-19 19:16:56 +02:00
aler9
c122fb4ec3
server: change type of ports
2021-06-19 19:12:04 +02:00
aler9
63e2864a67
server: use one IP per stream; expose multicast parameters in configuration
2021-06-19 18:48:32 +02:00
aler9
3f3226b53d
server: support reading with multicast
2021-06-17 16:45:24 +02:00
aler9
94e69f9c7f
update golangci-lint
2021-05-23 18:50:50 +02:00
aler9
4d1c2d1831
server: use hierarchical contexts
2021-05-11 14:52:41 +02:00
aler9
fa2830eb22
server: fix race condition
2021-05-11 11:49:34 +02:00
aler9
e052f9b024
reorder variables
2021-05-11 11:08:41 +02:00
aler9
19a18393e5
server: fix race condition
2021-05-10 23:29:06 +02:00
aler9
c878b68b70
fix various race conditions
2021-05-10 21:33:23 +02:00
aler9
e51ee76d92
server: rewrite conn and session closing with contexts to improve reliability
2021-05-10 19:38:02 +02:00
aler9
0c8e04641a
show configuration sections in docs
2021-05-09 18:30:58 +02:00
aler9
994cd442e3
server: allow to call server.Close() twice
2021-05-09 14:10:21 +02:00
aler9
7469a3362a
server: add author to OnSessionOpen
2021-05-08 22:27:05 +02:00
aler9
028ed2b973
server: close session when there are no conns attached to it
2021-05-08 15:35:13 +02:00
aler9
caab8c9082
server: allow to replace ListenPacket
2021-05-07 15:36:48 +02:00
aler9
a8c6af39e3
split configuration into sections
2021-05-07 15:34:54 +02:00
aler9
e52fda806d
add ServerConn.Close(), ServerSession.Close()
2021-05-07 11:42:01 +02:00
aler9
e271c4e6ef
server: add read timeout tests
2021-05-04 16:51:20 +02:00