68 Commits

Author SHA1 Message Date
Ingo Oppermann
c20880d59a Remove data content in error message 2024-05-27 16:22:06 +02:00
Ingo Oppermann
092447b2c2 Add DebugChunks option, add HandleNetConn method 2024-05-27 10:31:22 +02:00
Ingo Oppermann
b621603cf9 Add option to ignore skip invalid messages 2024-05-24 07:36:18 +02:00
Ingo Oppermann
7ac6677927 Report message content on AMF0/3 command message parse error 2024-05-24 07:31:18 +02:00
Ingo Oppermann
3a71447506 Add MaxProbePacketCount to server struct, tell the prober what to expect 2024-05-23 15:50:51 +02:00
Ingo Oppermann
392a77dff1 Fix timestamp anomaly detection to be only enabled at the beginning of a connection 2024-05-15 14:26:35 +02:00
Ingo Oppermann
43bcaf8ef5 Add wraparound for generatedd timestamps 2024-02-29 11:01:36 +01:00
Ingo Oppermann
7448bc5a5c Remove debug print 2024-02-29 10:06:17 +01:00
Ingo Oppermann
4b412d2b2b Add better timestamp anomaly detection 2024-02-29 09:41:05 +01:00
Ingo Oppermann
bfca3b8fd8 Generate wallclock timestamps if publisher doesn't provide increasing timestamps 2024-02-29 00:21:45 +01:00
Ingo Oppermann
24933fbd37 Remove debug print 2024-02-28 21:56:32 +01:00
Ingo Oppermann
cf209e8417 Fix timestamp comparison 2024-02-28 21:53:37 +01:00
Ingo Oppermann
88d9120f4a Fix slice bounds out of range 2024-02-28 21:32:58 +01:00
Ingo Oppermann
77ed436d0f Add chunked write, reduce initial chunk size for compatibility 2024-02-28 21:15:50 +01:00
Ingo Oppermann
c3ec4804ba Reorder basic conf, add StreamBegin event 2024-02-27 21:20:53 +01:00
Ingo Oppermann
b2c6d2e5ff Code cleanup 2024-01-03 15:33:51 +01:00
Ingo Oppermann
1ecb9c2b68 Add support for VP9 and AV1 2024-01-03 15:22:18 +01:00
Ingo Oppermann
4ee14576ae Add HEVC support 2024-01-03 12:59:10 +01:00
Ingo Oppermann
fde0595744 Fix handling error on invalid URL 2023-05-05 09:48:25 +02:00
Ingo Oppermann
23c70d2077 Don't reflect read chunk size if it wasn't set before 2022-09-14 19:06:49 +02:00
Ingo Oppermann
6c0f2974f0 Increase RTMP client compatibility 2022-09-14 14:49:03 +02:00
Ingo Oppermann
f752080f4a Respond to PingRequest messages
If the ACK window is too big, clients may send a PingRequest inbetween
which must be answered, despite an ACK will be sent later anyways. Otherwise
the connection will be torn down.
2022-07-28 20:07:19 +02:00
Ingo Oppermann
7098ea1efd React on WindowAckSize, set PeerBandwidth hard
The SetPeerBandwidth command is now sent with the Hard(0) options
in order to force this value.

The WindowAckSize command from the peer is now respected if it is
not part of the handshake. Before this lead to no window size set
and therefore no ACKs sent to the peer. For clients that expect
such ACK (like Blackmagic ATEM Mini Pro) this caused aborting the
connection.
2022-07-28 18:13:04 +02:00
Ingo Oppermann
2102a8289c Override existing certificates if files are given 2021-01-25 18:25:55 +02:00
Ingo Oppermann
10f57f856f Use and clone provided TLSConfig 2021-01-25 17:53:08 +02:00
Ingo Oppermann
14eb6d9a95 Add RTMPS support for the server 2021-01-25 17:40:41 +02:00
Ingo Oppermann
68d2f4ed42 Allow to close a server 2021-01-12 17:30:00 +01:00
Ingo Oppermann
5c79045481 Allow counting transferred bytes 2020-12-27 18:40:52 +02:00
Ingo Oppermann
6b22b95ecc Flush write buffer after writing AV tag 2020-04-17 17:06:57 +02:00
Ingo Oppermann
3049e1e9fb Store data from onMetaData event 2020-04-17 15:59:41 +02:00
Ingo Oppermann
87468848a4 Fix import paths 2020-04-09 18:14:35 +02:00
Ingo Oppermann
caa009df9c Continue probing even if pushing a tag failes 2020-04-09 18:06:04 +02:00
Josh Allmann
4003a2c806 Handle streams longer than 2^24 ms.
The FLV timestamp field is only 24 bits. A stream will hit this in
less than 5 hours, starting from a timestamp of 0. In this case,
write out the timestamp as an extended field for type-0 chunks
(type0 is the only output chunk type that is supported right now).
2018-02-13 19:44:50 -08:00
nareix
dfc1226880 add bits 2017-11-03 12:10:42 +08:00
Dustin Blackman
40b45c95aa remove unused code 2016-11-05 11:29:50 -04:00
nareix
b3b189ca28 change flvio.Tag from interface to struct 2016-09-19 07:35:10 +08:00
nareix
8802fb5a95 rtmp: add HandleConn / OnPlayOrPublish / rxbytes,txbytes 2016-08-31 19:16:34 +08:00
nareix
39d98a7793 add rtmp UrlMuxer 2016-08-03 13:43:00 +08:00
nareix
4918d07822 rtmp: fix datarace in ListenAndServe 2016-08-02 20:10:21 +08:00
nareix
cb534aa104 rtmp: bufio using pio size 2016-07-30 14:36:28 +08:00
nareix
4b61d9daea mv pio to bits/pio 2016-07-29 23:28:29 +08:00
nareix
87e9318f36 rtmp: send window ack 2016-07-28 23:09:03 +08:00
nareix
3902e48bdb flvio/rtmp: add amf0/tag fill/parse mode 2016-07-23 21:17:42 +08:00
nareix
f4518a79aa rtmp: add debug 2016-07-23 18:05:12 +08:00
nareix
f10cccf962 rtmp/flv: use common metadata 2016-07-18 00:41:21 +08:00
nareix
dc82fb15b3 rtmp: fmt pio 2016-07-18 00:11:15 +08:00
nareix
2df2747753 rtmp: fix handshake S0 != 3 bug 2016-07-18 00:10:45 +08:00
nareix
52b9f172a9 rtmp: improve write 2016-07-18 00:05:20 +08:00
nareix
4ad20c8a65 rtmp: expose SplitPath 2016-07-17 11:15:18 +08:00
nareix
2dea41f479 rewrite handler codec types logic, rm ts unused files 2016-07-14 00:33:57 +08:00