Commit graph

1556 commits

Author SHA1 Message Date
Thulinma
94b6976dfa Improvements to logParser and ResizeablePointer::append 2022-11-29 03:49:31 +01: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
Thulinma
d9c7e0f3ca Fixes to Downloader and URIReader classes, fix S3 support not liking range requests anymore after 15 minutes 2022-10-20 14:52:50 +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
3e85da2afd Match libav's RTMP receive window rollover behaviour 2022-10-03 11:53:15 +02:00
Thulinma
f3c003481d Made FLV memory-based loader functions use const pointers 2022-09-26 12:44:30 +02:00
Thulinma
54a46146c2 Fix TS inputs taking more and more memory over time in some cases 2022-09-05 12:51:43 +02:00
Marco van Dijk
8aceff951d Fix connections getting closed on interrupted system call 2022-08-31 14:29:01 +02:00
Thulinma
a9ddc37789 Why, Haivision, why? 😭 2022-08-25 11:28:00 +02:00
Thulinma
2740d65a0f Improved RTP timestamp logging, fixed bug related to firstTime value 2022-08-18 16:20:38 +02:00
Thulinma
b210b4f5af Fixed seek-related bugs in URIReader for HTTP sources 2022-08-18 16:11:24 +02:00
Thulinma
df4076a06e Added ResizeablePointer::shift operator to shift data forward in buffer 2022-08-18 16:11:00 +02:00
Alex Kordic
6c117b63cf Add s3 protocol to URIReader 2022-08-10 09:19:22 +02:00
Thulinma
267a74f0f6 Fix track selector logic when multiple selections are considered 2022-08-08 11:00:39 +02:00
Thulinma
14bc94ece5 Prevent eternal sleep when waiting for RelAccX structure to become ready 2022-08-08 10:57:28 +02:00
Thulinma
508506c241 Fixes to UDP socket behaviour 2022-08-02 12:47:09 +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
Marco
d8f67e84b7 RTMP custom audio loop support for streams containing copyrighted audio 2022-06-19 15:50:05 +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
Marco
503a9591c9 URL parser bugfix 2022-06-16 15:50:56 +02:00
Marco van Dijk
2485c16dfc FEC 2022-06-01 16:27:15 +02:00
Thulinma
d2d12bc908 Options that are blank or zero but do not default to that value, now work. 2022-06-01 15:58:54 +02:00
Thulinma
840a1f5f4e Cleanup TS SRT output code 2022-06-01 15:41:18 +02:00
Thulinma
1ec18d83b8 Make TS inputs slightly more robust against packet loss 2022-06-01 15:40:37 +02:00
Thulinma
6cb734357a Fix socket remote address for accepted sockets 2022-05-09 10:08:53 +02:00
Thulinma
9993dfafa2 Implemented exponential backoff for shared memory related waits 2022-04-18 10:30:14 +02:00
Marco
3e73508a6a Added SDP input 2022-02-21 15:51:09 +01:00
Marco
dd2382e858 Added SDP output 2022-02-21 15:30:16 +01:00
Siddarth Tegginamani
ccee512b3d Bug Fix: CMAF DASH playback works
- syntax error fixed
- removed unnecessary track id simplification
2022-02-11 22:52:20 +01:00
Siddarth Tegginamani
e9d5920a80 HLS CMAF updated to use hls_support library for (LL)HLS manifest generation.
- also removed duplicate CMAF library methods
2022-02-11 22:47:28 +01:00
Siddarth Tegginamani
c54690d346 hls_support: A new library for (LL)HLS manifest generation 2022-02-11 22:47:28 +01:00
Siddarth Tegginamani
97f040cefd Added global config value with unix time of system boot, for system-wide consistent time calculations 2022-02-11 22:43:55 +01:00
Siddarth Tegginamani
4033f1d009 Check keyTimingsMatch in DTSC 2022-02-11 22:43:49 +01:00
Thulinma
82883d39ea Removed licensing system related code 2022-02-09 12:14:58 +01:00
Siddarth Tegginamani
c2c94bb4b4 fixed fragment datatype: uint32_t to uint64_t 2022-02-03 13:14:25 +01:00
Siddarth Tegginamani
ba07c5444f Bug Fix: check "video" as type instead of codec in maintrack() 2022-02-03 13:13:44 +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
f9e97a350f Standard signal handler now also closes stdin when shutting down, to prevent read-loops getting stuck 2022-01-24 14:42:20 +01:00
Thulinma
a8305396a2 Fixed Firefox WebRTC support through temporary hack 2022-01-23 00:04:57 +01:00
Thulinma
75559a367b Set livepeer-transcoded track to have a source track, exclude tracks with source track from stream health info 2022-01-23 00:04:48 +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
a7218bc2f8 Fixes for socket remote address 2022-01-23 00:00:03 +01:00
Thulinma
200e1e4a1c WS/MP4 reliability edits:
- Stream selecting now obeys new "maxdelay" capa entry
- Output::liveSeek now takes an optional bool argument to indicate only rate control should be applied (no seeking)
- dataWaitTimeout is now configurable per-output, defaults to the old 25s
- WS/MP4 uses the new liveSeek with rate-control only
- WS/MP4 uses the new dataWaitTimeout and sets it to 4.5s
- WS/MP4 uses the new maxdelay capa, sets it to 5s
- WS/MP4 will now auto-reselect tracks if a track is dropped for data wait timeout or disappeared from metadata reasons
- Added support for jitter information in WS/MP4 protocol
- Robustify sendWebsocketCodecData being ran when sendHeader is ran
- Fix race condition when switching video tracks before previous video track has sent a single frame
2022-01-22 23:59:09 +01:00
Thulinma
53698eaa49 Added SPS/PPS validation functions, RTP lib now only updates SPS/PPS when valid 2022-01-22 23:52:03 +01:00
Thulinma
6c66a4adb3 Fix AC3 codecstring 2022-01-13 10:10:55 +01:00