Commit graph

4869 commits

Author SHA1 Message Date
Cat
b19c642034 LSP: for buildOptions, if the list of inputs is sorted, keep the split of required and optional fields 2022-02-11 20:11:35 +01:00
Thulinma
1e6143bc88 Further fixes to WS/MP4 (implemented "auto" track, implemented dropping video voluntarily) 2022-02-11 17:54:21 +01:00
Cat
a1ffc383cb Embed: mews: after a track switch, always do overzealous seeking even if the codecs are the same 2022-02-11 17:27:50 +01:00
Thulinma
22e720c9d1 Fixed WS/MP4 initial seek not happening 2022-02-11 17:25:41 +01:00
Thulinma
c3a09f5fe2 Fix RTMP push delay, specifically 2022-02-11 17:25:34 +01:00
Cat
31c5b81f4d Embed: videojs: fixes to get a consistent timestamp with other players 2022-02-10 17:19:05 +01:00
Cat
48260e6bc5 Embed: mews: prevent javascript error "Cannot read properties of undefined (reading 'add')" 2022-02-10 13:52:07 +01:00
Cat
15ff0dcb9f Embed: fix javascript error for audio players on touch devices 2022-02-10 13:49:50 +01:00
Cat
615fad6be9 Embed: remove forbidden modern code (blegh! filthy modern stuff brrr) from the webrtc wrapper 2022-02-10 13:46:54 +01:00
Cat
b6068f4627 Embed: mews: added subtitle support 2022-02-10 11:02:33 +01:00
Thulinma
431c06e4cd Fixed MP4 VoD input 2022-02-09 15:49:12 +01:00
Thulinma
4d1046f72a Fix pushdelay option 2022-02-09 12:15:12 +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
9403d34eb4 Add a quarter frame offset to MPEG-TS AAC timestamp rounding 2022-02-03 13:08:06 +01:00
Thulinma
c60c085d09 Robustified controller rolling reloads 2022-01-27 10:22:45 +01:00
Thulinma
233110da90 Make sure MistProcMKVExec is not tracked as a viewer. 2022-01-24 17:08:26 +01:00
Thulinma
0951758d2f Fix track dropping if userSelect empty but buffer is not 2022-01-24 16:07:54 +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
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
10b134d062 Allow waiting for specific track counts with specific timeouts 2022-01-23 00:18:27 +01:00
Thulinma
4e48896237 Remove USR1 signal handler when spawning child processes 2022-01-23 00:17:03 +01:00
Thulinma
0de5ebfbf3 Fixed TS input disconnect by controller 2022-01-23 00:16:49 +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
bb84a5a20c Marco why 😭 2022-01-23 00:03:54 +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
b89875ea37 No longer print warning for page load failures caused by a user disconnect 2022-01-23 00:02:50 +01:00
Thulinma
72cfc82a9f Robustified disconnect/reconnect functions in Output 2022-01-23 00:00:42 +01:00
Thulinma
a7218bc2f8 Fixes for socket remote address 2022-01-23 00:00:03 +01:00
Thulinma
28f0f15937 Fixed boolean options in connector/protocol settings 2022-01-22 23:59:44 +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
a0eb42f1dd Added human readable name in info JSON output for sources 2022-01-22 23:53:57 +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
b1740e9bd3 Fixed livepeer process disconnecting track 0 instead of actual track ID 2022-01-22 23:47:38 +01:00
Thulinma
6c66a4adb3 Fix AC3 codecstring 2022-01-13 10:10:55 +01:00
Thulinma
b3eb7443f9 Fixed TS input H265 keyframe detection 2021-12-24 15:09:46 +01:00
Thulinma
61c08be425 TS UDP output now defaults to all supported tracks 2021-12-24 15:09:41 +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
Marco van Dijk
d1358400f7 Added ability to output locally to playlist & TS files 2021-11-22 14:29:43 +01:00
Balder
598b384078 Edits for fixing stream names with .m3u in the name. 2021-11-22 14:29:43 +01:00
Cat
67d992e352 Embed: more fixes to do with showing the correct seek window in the progress bar
Embed: display more consistent timestamps across protocols and correctly show seekable range
Embed: fix: don't force nonexistent forcePlayer value
Embed: when info.unixoffset is known, display clock time based timestamps
2021-11-22 14:29:39 +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