Commit graph

1633 commits

Author SHA1 Message Date
Marco van Dijk
d040421df9 WHIP: packet pacing fixup for WHIP/WHEP output 2023-12-13 12:58:13 +01:00
Thulinma
b9819eb40f MistInHLS improvements and speedups, part 4/2 2023-11-27 15:02:12 +01:00
Marco van Dijk
382e1eec03 MistInHLS improvements and speedups, part 3/2 2023-11-27 15:02:12 +01:00
Thulinma
26746c139d Fix buffer behaviour after changes for MistInHLS 2023-11-27 14:18:16 +01:00
Marco van Dijk
9e30444476 MistInHLS improvements and speedups, part 2/2 2023-10-23 14:21:45 +02:00
Thulinma
4d3f86aec1 Fixes to MistOutSanityCheck utility 2023-10-17 00:13:45 +02:00
Marco van Dijk
5af441d16b Fixes for segfaults when the connection to the metadata gets lost
Set stream RelAccx pages to null pointers if we cannot reload those pages
2023-10-17 00:13:45 +02:00
Balder
d63190387a Fixes to better support Safari/MacOS/iOS playback of MP4 output
Co-authored-by: Marco van Dijk <marco@stronk.rocks>
Co-authored-by: Thulinma <jaron@vietors.com>
2023-10-17 00:13:45 +02:00
Thulinma
7dbd60b208 Support limiting output range for most outputs and outgoing pushes 2023-10-17 00:13:45 +02:00
Thulinma
3e2a17ff93 Various metadata-related features and improvements:
- Added support for new "NowMs" field that holds up to where no new packets are guaranteed to show up, in order to lower latency.
- Added support for JSON tracks over all TS-based protocols (input and output)
- Added support for AMF metadata conversion to JSON (RTMP/FLV input)
- Fixed MP4 input subtitle tracks
- Generalized websocket-based outputs to all support the same commands and run the same core logic
- Added new "JSONLine" protocol that allows for generic direct line-by-line ingest of subtitles and/or JSON metadata tracks over a TCP socket or console standard input.
2023-09-26 17:10:23 +02:00
Thulinma
f3ba13d6bb Change controller calls that use stream metadata to instantly time out if unavailable, rather than waiting for availability 2023-08-31 15:39:20 +02:00
Marco
b0d4422d27 Added machine readable exit reasons, INPUT_END trigger, OUTPUT_END trigger, and updated RECORDING_END trigger to include all of these. 2023-08-23 10:55:53 +02:00
Thulinma
41cf557b48 TSSRT and TSRIST outputs in listen mode will now request not to be killed by the Comms library, since they handle multiple users 2023-07-24 10:37:42 +02:00
Thulinma
0ec2800894 Split out jitter timer to be one per metadata, clear out jitter data when clearing as well 2023-07-20 10:39:43 +02:00
Thulinma
a9abfa531e Support for AV1 MP4 input and output 2023-07-17 18:46:16 +02:00
Thulinma
8b8a28c4ec Added some HTTP parser unit tests, fixed HTTP support for zero content length, added gcovr file for coverage reports 2023-07-17 18:22:03 +02:00
Thulinma
9a599a06de Fix local file path writing 2023-07-17 18:17:35 +02:00
Thulinma
b7d5964512 Keep capabilities and protocol config around after close, retry opening pages for ~50ms, no longer warn in save situations of SHM re-use 2023-07-17 18:10:23 +02:00
Marco van Dijk
e0eb624e53 Change "always on" behaviour to simulate always having viewers rather than forcibly keeping inputs active 2023-07-06 13:06:18 +02:00
Thulinma
b3a0e28159 Fix broken UTF-8/UTF-16 conversion in JSON library 2023-07-06 10:56:36 +02:00
Thulinma
b8caa9c398 Fix segfault when using a blank or extremely short source parameter 2023-06-19 17:29:40 +02:00
Thulinma
d7ec340d7e Fix local file targets when pushing to non-full-path 2023-06-19 17:25:08 +02:00
Thulinma
2a8f2f75d3 Implemented UDP socket packet send pacing, WebRTC now makes use of this new feature. 2023-06-15 12:34:25 +02:00
Thulinma
a1232d56af RTP library fixes and improvements.
- Fixes marker bit bug in H264 output over RTP-based protocols
- Fixes RTCP packets going over the wrong channel in TCP-based RTSP
- Fixes RTSP RTCP packets having wrong timestamps
- Fixes payload padding parser bug in H264, H265, VP8 and VP9 RTP-based inputs.
- Cleans up WebRTC's needless use of thisPacket.getTime() to use thisTime instead
2023-06-15 12:33:24 +02:00
Thulinma
132e59db51 Support for reloading config from disk, writing config to disk after 60 seconds of no changes, reloading config from disk on API call request 2023-06-12 11:47:28 +02:00
Thulinma
cac86fff57 Various small fixes to SRT sockets and SRT socket statistics 2023-06-08 17:31:39 +02:00
Thulinma
0af85de22d UDP API port is now stored in and read from global config 2023-05-01 15:21:10 +02:00
Thulinma
a784b63f36 Added "bframes" stream selector 2023-04-13 10:09:14 +02:00
Thulinma
f29d48154f URIReader support for TS input 2023-04-10 15:13:20 +02:00
Thulinma
1df76eff16 URIReader optimizations/improvements, support for getHost/getBinHost functions, socket lib improvements + related improvements 2023-04-10 14:31:26 +02:00
Thulinma
4df771eb02 Optimization that allows Socket::Buffer to write directly to a Util::ResizeablePointer 2023-04-10 14:31:26 +02:00
Thulinma
364441c435 EBML input from S3 support 2023-04-10 14:31:26 +02:00
Thulinma
ff32a55ddd Tweaks to page load interval in input 2023-04-10 14:31:23 +02:00
Thulinma
d097273859 Fixes to downloader range requests, improvements to input bufferFrame code 2023-04-10 14:15:00 +02:00
Thulinma
c979acff52 Fixing all of the things. 😩 2023-04-10 14:15:00 +02:00
Thulinma
652835cedd HLS input improvements 2023-04-10 14:15:00 +02:00
Thulinma
d96524968d Send boot-up progress percentages to status websocket for HLS input 2023-04-10 14:15:00 +02:00
Thulinma
bf15ec6741 HTTP backport
Change-Id: Iaa33c15bbd19b000b0bc8c5389e95109938c2e48
2023-04-10 14:12:54 +02:00
Thulinma
5860719ec7 Remove Content-Length header when chunked reply is used, only close connection when Content-Length is unknown.
Change-Id: I12726fb8b08417f7e7b429f525ee2c7980f22375
2023-04-10 14:12:40 +02:00
Thulinma
696e04d6a0 Add support for dual-'?' params in RIST push outputs, fix a small memory leak in RIST output 2023-03-29 00:47:48 +02:00
Thulinma
2d4a2f5835 Fixed compiling with CMake 2023-03-16 14:31:27 +01:00
Thulinma
cc9aae7926 Ah yes, bug from 2018, a great vintage. 2023-03-16 14:19:27 +01:00
Thulinma
e9ea839996 32-bit fixes 2023-02-27 10:43:02 +01:00
Thulinma
dc0ec77f26 Improvements to FLAC library and analyser 2023-02-27 10:20:14 +01:00
Ramkoemar
a7183aedc5 FLAC support:
- FLAC container input and output support
- FLAC container analyser
- FLAC codec support in EBML input and output
2023-02-26 20:37:15 +01:00
Thulinma
0f692233e8 Generalize DTSH header reading and writing; generalize input override prefixes; support external writer targets for pushing 2023-02-22 13:27:09 +01:00
Marco van Dijk
2b18a414b4 Added support for external writers 2023-02-22 13:25:42 +01:00
Thulinma
ff36880cc8 Fixes to urltest binary, added and tweaked tests for 100% coverage of URL library (fixed a few URL library bugs in the process, too)
Change-Id: I24a1f014cb21b8ec0062ee79e3e6ba717b392496
2023-02-17 03:38:20 +01:00
Marco van Dijk
211d9eac30 Various fixes to generic segmenter code
Segmenter: when using the external writer, do not re-open a playlist to adjust the target duration
Segmenter: edit comments and fix logic for opening the playlist with streams which are live and vod at the same time
Segmenter: fix init of playlist data when using an external writer
2023-02-17 03:38:20 +01:00
Thulinma
d9f5c2ca6d Fix/improve stream variables
Change-Id: I184aca32ff4ac25b946c949fb2db2dd2200694e9
2023-02-15 10:01:35 +01:00