Commit graph

592 commits

Author SHA1 Message Date
Thulinma
afbfd504fe Implemented MP4 "wave" box, added support for QuickTime-style ISOBMF AAC audio tracks ( = mp4a containing wave containing esds) 2022-12-12 20:24:38 +01:00
Thulinma
5bd58dff03 Added ATHEIST environment variable to disable angel process in Controller 2022-12-12 20:24:38 +01:00
Thulinma
0db153b7b9 Make MP4 input more consistent and verbose in erroring out during initial read 2022-10-27 16:23:00 +02:00
Thulinma
63afd0b72a Fix MP4 reading from very fast remotes 2022-10-27 16:19:55 +02:00
Thulinma
4181b52857 Silence more compile warnings, fix compilation on MacOS 2022-10-27 14:50:38 +02:00
Ivan Tivonenko
0a13ec1119 Fix compile warnings
Co-authored-by: Thulinma <jaron@vietors.com>
2022-10-27 14:50:38 +02:00
Gijs Peskens
055fb18270 Fix building against modern ffmpeg
Co-authored-by: Thulinma <jaron@vietors.com>
2022-10-27 02:46:35 +02:00
Gijs Peskens
4c6ded647f Fix building TSRist without SRT 2022-10-27 02:07:34 +02:00
Marco van Dijk
7792845238 Fix refreshing from DTSH in HLS input
Co-authored-by: Thulinma <jaron@vietors.com>
2022-10-20 14:53:26 +02:00
Thulinma
55589e4aa9 HLS input fixes + conversion to fully use the URIReader 2022-10-20 14:53:26 +02:00
Thulinma
68b2da461a Fix crash if no tracks are created by readHeader 2022-10-20 14:53:23 +02:00
Thulinma
7098f8430b Update input codec capabilities to be more consistent/accurate, and more easily automatically parsed 2022-10-06 16:23:29 +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
2870ae1ced SRT RAW fixup 🤦 2022-08-25 11:27:55 +02:00
Thulinma
01a2ff54ed Converted MP4 input to use URIReader 2022-08-18 16:11:34 +02:00
Thulinma
747438746c Change VoD data page logic to use wallclock seconds rather than loop iterations for timeouts 2022-08-18 16:11:24 +02:00
Thulinma
44c2809733 Decreased verbosity of harmless data offset warnings, increased verbosity of harmful ones 2022-08-18 16:11:00 +02:00
Phencys
3734c90544 Added support for raw passthrough of MPEG2-TS data 2022-08-08 11:00:39 +02:00
Thulinma
fffe98804c Fixed TS SRT input not closing the connection when stopping for internal reasons rather than external reasons 2022-08-08 11:00:29 +02:00
Thulinma
5bdd4a416e Fix load balancer CPU usage 2022-08-08 10:57:37 +02:00
Matthew James
0430a644df Enable Parameters on TSSRT listener 2022-07-25 13:40:13 +02:00
Thulinma
1c6a483e49 Fix 32-bit compilation 2022-06-24 23:50:02 +02:00
Thulinma
9ba92823bb Updated AAC input 2022-06-23 12:06:34 +02:00
Thulinma
2cd990888f Compile fix for AAC input 2022-06-16 16:48:11 +02:00
Marco
e961d71c16 AAC input 2022-06-16 16:13:27 +02:00
Katri
12246581e6 Added close socket and clean buffer to Downloader URIReader and InputHLS 2022-06-16 16:00:46 +02:00
Thulinma
7aa105748f Fix SRT input 2022-06-01 15:59:37 +02:00
Thulinma
d22604c53a Added TS RIST input 2022-06-01 15:58:37 +02:00
Thulinma
d6bd9bee46 Live stream inputs now track buffer status 2022-06-01 15:58:17 +02:00
Thulinma
e73726a1c7 Simplified TS-SRT input to no longer add/remove a temporary track 2022-06-01 15:56:57 +02:00
Marco
3e73508a6a Added SDP input 2022-02-21 15:51:09 +01:00
Thulinma
431c06e4cd Fixed MP4 VoD input 2022-02-09 15:49:12 +01:00
Siddarth Tegginamani
4a866305e5 DTSC pull input now supports keeping stream UTC offset intact between servers, plus a local fallback calculation for older versions 2022-02-03 13:11:17 +01:00
Thulinma
9fd48f6e2f Fix EBML input for live streams 2022-01-24 14:30:06 +01:00
Thulinma
a5bdaaaa5c Added mkv-exec input and output support 2022-01-24 10:47:47 +01:00
Thulinma
0de5ebfbf3 Fixed TS input disconnect by controller 2022-01-23 00:16:49 +01:00
Thulinma
f560b88bfe Several fixes:
- Fixed bug in stream health function causing loop if track not active
- Fixed DTSC pulls ignoring data before the live point
- Improved async buffers (deque mode) to spread the tracks more fairly
- DTSC pull now implements "ping" and "error" commands
- DTSC pulls report suspicious keyframe intervals to the origin and ask for confirmation
- DTSC output now accepts these reports and disconnects if there is no match in keyframe intervals
- Outputs in async mode now keep the seek point in all tracks when reselecting
- Outputs in async mode now default to a starting position in each track that is at a keyframe roughly halfway in the buffer
- Outputs in async mode now ignore playback rate (always fastest possible)
- Removed code duplication in prepareNext function
- Reordered the prepareNext function somewhat to be easier to follow for humans
- DTSC output no longer overrides initialSeek function, now uses default implementation
- Sanitycheck output now supports both sync and async modes, supports printing multiple timestamps for multiple tracks
2022-01-23 00:03:54 +01:00
Thulinma
ad4c1abd0b Playlist support fixed 2021-12-24 15:09:36 +01:00
Marco van Dijk
684df4b23d Added utcoffset field to metadata to display VoD program time if supported by output 2021-11-24 13:09:11 +01:00
Marco van Dijk
19d7c9fe07 Added HLS DVR mode
Moved some duplicate code to seperate functions for readability
Fix EXT-X-PROGRAM-DATE-TIME tag for VoD
Set bootMSoffset for live DVR streams
Implemented readExistingHeader for HLS input
set zUTC time based on EXT-X-PROGRAM-DATE-TIME tag rather than guessing
2021-11-24 13:09:11 +01:00
Marco van Dijk
3d9ed39396 setstreamVodField and streamLiveField no longer mutually exclusive
Removed curPage map from IO. bufferFrame now creates this variable locally and passes it to bufferStart, bufferFinalize and bufferNext
Fix keyNum selection with mixed live & VoD data
Fix bufferframe to handle mixed VoD and live
Added check to bufferFrame to not start the countdown timer for removing live pages
Fixed countdown timer being set using keyNum rather than pageNumber, which resulted in the wrong pages being deleted
livePage variable moved from static to private variable to correctly handle multithreaded inputs

# Conflicts:
#	src/io.cpp
#	src/output/output.cpp
2021-11-22 15:38:58 +01:00
Balder
c542155e10 added fallbackstream to tsudp input 2021-11-22 11:44:44 +01:00
Thulinma
6733bf2a20 Fixed all ARM-related issues/warnings/etc 2021-11-04 18:49:27 +01:00
Marco van Dijk
01f11dcfda HLS input improvements:
- Added isOpen flag to the SegmentDownloader, so that we do not parse the data remaining from parseStreamHeader
- In inputHLS::firstSegment, use streamIsLive to determine vod vs live, rather than the size of userSelect
- Replaced check against 'smaller than zero', which always fails due to overflow of unsigned int
- Added print before downloading main playlist
2021-11-01 16:39:09 +01:00
Thulinma
aa77d86df1 Have MistInTS set the BootMsOffset correctly for live inputs 2021-10-20 13:41:20 +02:00
Thulinma
7d95a75492 Moved inputBuffer::fillBufferDetails to DTSC::Meta::getHealthJSON 2021-10-19 22:29:42 +02:00
Thulinma
829c8b7948 Fixed buffer not considering all processes running if there is no stream config. 2021-10-19 22:29:42 +02:00
Thulinma
ad9e72798a Increase VoD lookahead from 20 to 120 seconds 2021-10-19 22:29:42 +02:00
Thulinma
7067e9ae52 Change debugging level for part size checks from WARN to INFO 2021-10-19 22:29:42 +02:00