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
a2d6ce8af6
replace OnDecodeError with OnWarning ( #177 )
2023-01-23 12:54:57 +01:00
aler9
645f9462e2
server: support publishing/reading to/from path '/' or ''
2023-01-11 00:39:58 +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
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
Alessandro Ros
51b8063325
rtph264: return error in decoder if packetization-mode is 2 ( #153 )
2022-11-14 21:23:13 +01:00
Jon Lech Johansen
76460d6404
Fix parsing of Transport header with multiple transports. ( #145 )
...
* Fix parsing of Transport header with multiple transports.
* Lint.
* Add test for Transport header with multiple transports.
* Filter out unsupported transports.
* Handle multicast properly when filtering out unsupported transports.
* Minor code cleanup.
* add Transports.Unmarshal(), add additional tests
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2022-11-09 12:00:33 +01:00
aler9
ededb490bc
server: when a session is closed, close all associated connections
...
regardless of the fact that they use TCP or UDP
2022-11-03 21:10:26 +01:00
aler9
9216576d49
server: allow to associate user data to connections
2022-11-03 12:57:42 +01:00
aler9
08a16e7b38
server: allow to associate user data to sessions ( #50 )
2022-11-03 12:02:38 +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
27f8015ac6
simplify usage of Conn
2022-08-15 00:10:21 +02:00
aler9
06bed24dd9
add intermediate layer between net.Conn and client / server
2022-08-14 23:43:01 +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
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
f4cc42eccc
server: correctly close sessions in case of errors during SETUP
...
(https://github.com/aler9/rtsp-simple-server/issues/965 )
2022-06-21 14:55:17 +02:00
aler9
322a7e2f95
split high level tests from standard tests
2022-06-03 11:08:11 +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
9d12c345f8
support go 1.18
2022-04-07 12:57:23 +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
95117f0aa4
server: rename Req field into Request
2022-02-19 22:20:01 +01:00
aler9
d7f6567e20
server: restore authentication support
2022-02-19 21:56:27 +01:00
aler9
0e8595a31d
server: remove Session header from ANNOUNCE responses ( https://github.com/aler9/rtsp-simple-server/issues/840 )
2022-02-19 19:23:30 +01:00
aler9
7dd4842fc0
server: do not allow a connection to communicate with multiple sessions
2022-02-19 18:52:05 +01:00
aler9
3a2f9adbd5
server: 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
73f1c632c5
client: set ServerName when using TLS ( https://github.com/aler9/rtsp-simple-server/issues/708 )
2021-12-03 22:56:35 +01:00
aler9
1876546d05
fix tests
2021-11-26 16:58:59 +01:00
aler9
1411cb33f5
server: support reading with VLC and multicast
2021-11-15 17:40:17 +01:00
aler9
f304ec52fb
server: make Close() wait for all resources to close
2021-11-12 18:01:27 +01:00
aler9
3ead94477f
server: cleanup error
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
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