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
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
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
a951ccbc77
Minor enhancements
2020-04-17 16:00:14 +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
Samuel Stauffer
b85074b277
Fix panic in ReadPanic when no streams
2018-05-15 12:26:55 -07: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
bd41a3b90f
Merge pull request #21 from DigitallyImported/validate-adts-aot
...
ATDS: add AOT validation
2017-11-02 23:20:16 -05:00
nareix
af80c44445
Merge pull request #31 from acls/rtsp-digest-auth
...
RTSP Use basic auth or digest auth, not both
2017-11-02 23:19:52 -05:00
nareix
dfc1226880
add bits
2017-11-03 12:10:42 +08:00
Aaron Shumway
69dc07881c
use basic auth or digest auth, not both
2017-04-20 11:05:33 -06:00
Anton Baklanov
717b3e0122
ATDS: add AOT validation
...
MPEG 4 ADTS frame can not have AOT value greater than AAC_LTP.
For HE AAC (both v1 and v2) AOT should be set to AAC_LC. Clients are
supposed to use implicit SBR signaling to detect presence of SBR.
Ref:
https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/adtsenc.c#L65
https://developer.apple.com/library/content/technotes/tn2236/_index.html
2017-02-04 23:27:25 +02:00
Dustin Blackman
40b45c95aa
remove unused code
2016-11-05 11:29:50 -04:00
nareix
00d8696937
fmt; ts: fix crc32 bug
2016-09-25 17:06:39 +08: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
0400eb8009
add mp4io/atoms.go
2016-07-30 00:06:38 +08:00
nareix
4b61d9daea
mv pio to bits/pio
2016-07-29 23:28:29 +08:00
nareix
c06f934d9e
add NewMuxer(writeFlusher) for ts/flv
2016-07-29 16:19:17 +08:00
nareix
d5c3f87b5c
ts: add probe func
2016-07-29 07:50:21 +08:00
nareix
563991132c
mp4: add probe
2016-07-29 07:30:08 +08:00
nareix
525606422e
mp4: fix fmt
2016-07-29 07:10:41 +08:00
nareix
6752dafead
add new mp4io interface
2016-07-29 01:05:47 +08:00
nareix
1c1d351104
mp4: add bufio for reader, improve speed
2016-07-28 23:38:37 +08:00
nareix
87e9318f36
rtmp: send window ack
2016-07-28 23:09:03 +08:00
nareix
747c21a957
mp4: rewrite mp4io improve atom parse
2016-07-28 23:06:08 +08:00
nareix
3fec89ce48
flv: use new fill/parse interface
2016-07-24 13:02:13 +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
8c783210d2
pio func change
2016-07-18 08:14:59 +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
e2fb4a644f
ts: fix FillPSI BUG and ParsePSI datalen bug
2016-07-17 15:35:08 +08:00
nareix
4ad20c8a65
rtmp: expose SplitPath
2016-07-17 11:15:18 +08:00