Ingo Oppermann
b140734590
Fix metadata conversion, allow to add additional metadata
2024-06-03 21:08:08 +02:00
Ingo Oppermann
bd2982e917
Add stale RTMP connection creator
2024-06-03 21:07:16 +02:00
Ingo Oppermann
9c6cb8a1c9
Be more specific in error message
2024-05-30 22:41:35 +02:00
Ingo Oppermann
4341d71645
Cleanup
2024-05-30 22:38:34 +02:00
Ingo Oppermann
09a60de368
Add DialOptions
2024-05-30 22:38:09 +02:00
Ingo Oppermann
cd4e842111
Add LocalAddr() and RemoteAddr() methods
2024-05-30 11:03:59 +02:00
Ingo Oppermann
6b449f5261
Fix close of uninitialized channel
2024-05-29 16:29:48 +02:00
Ingo Oppermann
3aeb406414
Implement idle timeout
2024-05-29 14:55:12 +02:00
Ingo Oppermann
cb090aab8d
Add an optional connection idle timeout
2024-05-29 14:54:08 +02:00
Ingo Oppermann
41de82f500
Use a named constant for max timestamp
2024-05-28 20:14:26 +02:00
Ingo Oppermann
da80d79b64
Disable debugging
2024-05-28 14:18:36 +02:00
Ingo Oppermann
41276a835f
Fix missing chunk type 3 ext timestamp handling, add checks for valid sources, fix readAckSize
2024-05-28 14:18:17 +02:00
Ingo Oppermann
c20880d59a
Remove data content in error message
2024-05-27 16:22:06 +02:00
Ingo Oppermann
08168fd297
Allow to set listen address
2024-05-27 16:21:48 +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
b4272fb408
Remove debug prints
2024-05-23 21:35:14 +02:00
Ingo Oppermann
096ed8063e
Extend example to use a different MaxProbePacketCount value
2024-05-23 15:51:36 +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
5ef0874b60
Add MaxProbePacketCount to Prober
2024-05-23 15:48:23 +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
ed3f1bc7a1
Add .gitignore
2024-02-29 10:08:02 +01:00
Ingo Oppermann
710098b690
Ignore binary
2024-02-29 10:06:53 +01:00
Ingo Oppermann
7448bc5a5c
Remove debug print
2024-02-29 10:06:17 +01:00
Ingo Oppermann
884e41ee7c
Print out basic information
2024-02-29 10:05:49 +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
704dff2c27
Properly handle PacketTypeMPEG2TSSequenceStart
2024-01-03 16:53:26 +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
9636023787
Adjust filters in example app
2023-05-05 09:47:49 +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
a305ac55f9
go fmt, add rtmp_publish_sink example
2022-07-28 18:32:17 +02:00
Ingo Oppermann
01b5cd703f
go fmt
2022-07-28 18:31:52 +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