Commit graph

427 commits

Author SHA1 Message Date
Thulinma
f2bb7ffa94 Prevent crash when applying limiter to a non-existing main track 2024-07-03 12:04:32 +02:00
Balder
caffcd9935 Disable liveSeek function when specified start time is used. 2024-07-03 12:00:12 +02:00
Thulinma
a4828c087d Prevent 100% CPU usage when no packet is available and we're inserting ghost packets repeatedly. 2024-06-26 17:24:33 +02:00
Thulinma
320ed53212 Fix DTSC pull output key mismatch errors, fix not starting at keyframes 2024-06-10 15:46:11 +02:00
Marco van Dijk
41039483d3 (Hopefully) fix output segfaults on full shared memory page 2024-06-10 15:44:43 +02:00
Thulinma
b103353cf9 Improve WebRTC things, fix CPU usage 2024-05-23 13:50:52 +02:00
Thulinma
db30be38c5 Fix header includes to be a bit more consistent 2024-04-25 12:44:38 +02:00
Thulinma
3987cfec3f Support for WebRTC data tracks (output only, for now), rewrite of dTLS integration (now part of socket lib), support for multi-path WebRTC connections 2024-02-22 17:45:44 +01:00
Thulinma
ac58015e02 Added Meta::packetTimeToUnixMs, fixed datetimes in m3u8 recordings 2023-12-13 16:00:31 +01:00
Marco van Dijk
d2d4b0acbe Segmenter: added noendlist url param to omit the ENDLIST tag 2023-12-13 16:00:18 +01:00
Thulinma
b9819eb40f MistInHLS improvements and speedups, part 4/2 2023-11-27 15:02:12 +01:00
Balder
431d03c733 Fix VoD seek timing issues introduced with getNowms feature 2023-10-17 00:13:45 +02:00
Thulinma
b61aab8719 Speedups to output code in general and MP4 in particular 2023-10-17 00:13:45 +02:00
Thulinma
963d7846a8 Fix empty segment being written, fix playlist updating at all when no data was written 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
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
Balder
22e0036b8b Fix output timeout while waiting for delay buffer 2023-07-20 10:39:43 +02:00
Thulinma
e6621fc09c Fix last-half-segment split prevention to _actually_ only work for VoD, excluding live-with-VoD 2023-06-19 17:28:56 +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
0af85de22d UDP API port is now stored in and read from global config 2023-05-01 15:21:10 +02:00
Marco van Dijk
9779940c76 Segmenter: do not split if this results in a tiny segment at the end, added flag for adjusting split time, always adjust targetDuration upwards to the largest segment found 2023-04-13 09:53:57 +02:00
Thulinma
c979acff52 Fixing all of the things. 😩 2023-04-10 14:15:00 +02:00
Thulinma
69f84d4409 Cleaner exit when stream source shuts down 2023-04-10 14:15:00 +02:00
Thulinma
d6e2da90f5 No longer reconnect to metadata - happens automatically as-needed. 2023-04-10 14:15:00 +02:00
Thulinma
6b88525e2f Generic input page loading re-prioritization edit 2023-04-10 14:15:00 +02:00
Thulinma
c2bb0e62b7 Bugfix: don't get stuck waiting for requests when pushing out fails to connect to input 2023-03-08 10:26:30 +01:00
Thulinma
e9ea839996 32-bit fixes 2023-02-27 10:43:02 +01:00
Marco van Dijk
2b18a414b4 Added support for external writers 2023-02-22 13:25:42 +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
Marco van Dijk
ea25d4b74b Scheduled Pushes
Change-Id: I3d3a75f4a45d96e6a7849b14634caedd0899ac69
2023-02-09 17:51:45 +01:00
Alex Kordic
39af304e0c size_t != uint64_t
Change-Id: Idf7137a7e385dec6600fe73be5d978af2fde76f0
2023-01-26 19:43:55 +01:00
Marco
03771ccac2 Changed HTTPTS-based playlist writer into a generic format-agnostic playlist writer
Change-Id: I503110bca3a557342ce9a21c64824a916725a79b
2023-01-24 02:17:28 +01:00
Thulinma
877216efd0 connectToFile edit that allows for custom socket passing
Change-Id: Id5da9d9c50d1997f997c9e738d8f680098901509
2023-01-24 01:40:41 +01:00
Marco van Dijk
67168b9644 Fix segfault when all selectable tracks dissappear
Change-Id: Ia3a80face7e3e08aa0c7e04fd30e4cf261337573
2023-01-05 14:24:29 +01:00
AlexKordic
1aaaeebb24 Hard to reproduce & hard to spot race condition. (#136)
In case shared memory was resized, under `loadPageForKey()`, `loadPageForKey()` was looking at outdated data set.
2022-12-12 20:24:38 +01:00
Thulinma
0864a6324b Fix edge case in seeking where seek happens at exact time of packet header write 2022-12-12 20:24:38 +01:00
Thulinma
b571d1c0c5 Removed extraKeepAway value, superseded by MinKeepAway from track metadata 2022-12-12 20:24:38 +01:00
Thulinma
4181b52857 Silence more compile warnings, fix compilation on MacOS 2022-10-27 14:50:38 +02:00
Thulinma
0674443066 Fix push outputs to use the correct remote addresses 2022-10-10 14:16:48 +02:00
Marco van Dijk
8ac486b815 Completed new sessions system
Co-authored-by: Thulinma <jaron@vietors.com>
2022-10-05 03:13:52 +02:00
Ramkoemar
074e757028 Sessions rework 2022-10-05 03:09:58 +02:00
Thulinma
4084768a3e Improved incoming push accept timing 2022-08-08 10:57:22 +02:00
Thulinma
35a54dbd61 Fixed auto-seeking when adding tracks to an existing track selection 2022-03-10 10:32:00 +01:00
Thulinma
c3a09f5fe2 Fix RTMP push delay, specifically 2022-02-11 17:25:34 +01:00
Thulinma
4d1046f72a Fix pushdelay option 2022-02-09 12:15:12 +01:00
Thulinma
0951758d2f Fix track dropping if userSelect empty but buffer is not 2022-01-24 16:07:54 +01:00
Thulinma
10b134d062 Allow waiting for specific track counts with specific timeouts 2022-01-23 00:18:27 +01:00