579 Commits

Author SHA1 Message Date
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
Ingo Oppermann
5c79045481 Allow counting transferred bytes 2020-12-27 18:40:52 +02:00
Ingo Oppermann
10f28bf6fd Cosmetics 2020-04-18 12:29:17 +02:00
Ingo Oppermann
6b22b95ecc Flush write buffer after writing AV tag 2020-04-17 17:06:57 +02:00
Ingo Oppermann
871b36770d Create module 2020-04-17 17:06:16 +02:00
Ingo Oppermann
c44be377af Add example server 2020-04-17 16:00:36 +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
101a483372 Add .editorconfig 2020-04-09 18:06:17 +02:00
Ingo Oppermann
caa009df9c Continue probing even if pushing a tag failes 2020-04-09 18:06:04 +02:00
Ingo Oppermann
f2718847ae Updates features 2020-04-09 18:05:02 +02:00
Ingo Oppermann
83fb5c250e Remove cgo part 2020-04-09 17:58:03 +02:00
Eric Tang
3ddbc8f9d4
Merge pull request #51 from ericxtang/master
Fix write trailer bug
2018-10-21 20:22:02 -07:00
Eric Tang
96fe07ee6b
Merge pull request #73 from szook/reorder-comments-to-match-field
reorder comments to match field
2018-10-15 00:05:31 -07:00
szook
35491038e3
reorder comments to match field 2018-10-01 11:37:59 -04:00
Eric Tang
7d93fa5e2a
Merge pull request #61 from sprucehealth/master
Fix panic in ReadPanic when no streams
2018-08-14 18:15:33 -04:00
Samuel Stauffer
b85074b277 Fix panic in ReadPanic when no streams 2018-05-15 12:26:55 -07:00
Eric Tang
f98bf9bd9e
Merge pull request #55 from j0sh/tsrollover
Handle streams longer than 2^24 ms.
2018-02-26 18:31:45 -05: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
Eric Tang
5a7f5d7453 fix write trailer bug 2018-01-12 15:48:21 -05: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
58973ae6c6
Merge pull request #22 from DavidJFelix/patch-1
Add license file to make it more official
2017-11-02 23:20:07 -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
nareix
261fd7f9b0 Merge pull request #34 from netroby/master
time import , but not usage. CROS must set
2017-07-21 18:08:52 +08:00
netroby
44a568431b time import , but not usage. CROS must set 2017-07-13 18:02:10 +08:00
Aaron Shumway
69dc07881c use basic auth or digest auth, not both 2017-04-20 11:05:33 -06:00
David J. Felix
9f0fbcd6e0 Add license file to make it more official
The README specifies an MIT license, but this should comply more closely with github norms.
2017-02-24 18:30:14 -05: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
nareix
4b82a8ce74 Merge pull request #19 from ericxtang/master
update example code to the new version
2017-01-10 13:08:03 +08:00
Eric Tang
bf48f24655 update example code to the new version 2017-01-09 19:57:07 -05:00
nareix
cdca0d649c Merge pull request #18 from nareix/develop
dev => master
2016-12-21 20:44:39 +08:00