Commit graph

  • a5bdaaaa5c Added mkv-exec input and output support Thulinma 2021-05-31 22:43:31 +02:00
  • 10b134d062 Allow waiting for specific track counts with specific timeouts Thulinma 2021-01-27 17:23:55 +01:00
  • 4e48896237 Remove USR1 signal handler when spawning child processes Thulinma 2021-10-21 22:25:25 +02:00
  • 0de5ebfbf3 Fixed TS input disconnect by controller Thulinma 2021-06-17 00:09:02 +02:00
  • a8305396a2 Fixed Firefox WebRTC support through temporary hack Thulinma 2022-01-14 16:40:11 +01:00
  • 75559a367b Set livepeer-transcoded track to have a source track, exclude tracks with source track from stream health info Thulinma 2022-01-20 01:52:54 +01:00
  • bb84a5a20c Marco why 😭 Thulinma 2022-01-18 15:26:12 +01:00
  • 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 Thulinma 2022-01-06 12:52:47 +01:00
  • b89875ea37 No longer print warning for page load failures caused by a user disconnect Thulinma 2021-10-03 13:05:16 +02:00
  • 72cfc82a9f Robustified disconnect/reconnect functions in Output Thulinma 2021-10-02 22:01:49 +02:00
  • a7218bc2f8 Fixes for socket remote address Thulinma 2021-09-29 16:17:17 +02:00
  • 28f0f15937 Fixed boolean options in connector/protocol settings Thulinma 2021-04-15 01:49:14 +02:00
  • 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 Thulinma 2021-07-08 14:02:50 +02:00
  • a0eb42f1dd Added human readable name in info JSON output for sources Thulinma 2021-08-02 13:26:34 +02:00
  • 53698eaa49 Added SPS/PPS validation functions, RTP lib now only updates SPS/PPS when valid Thulinma 2021-06-09 00:16:10 +02:00
  • b1740e9bd3 Fixed livepeer process disconnecting track 0 instead of actual track ID Thulinma 2022-01-20 01:40:10 +01:00
  • 6c66a4adb3 Fix AC3 codecstring Thulinma 2022-01-13 10:10:43 +01:00
  • b3eb7443f9 Fixed TS input H265 keyframe detection Thulinma 2021-12-02 11:53:04 +01:00
  • 61c08be425 TS UDP output now defaults to all supported tracks Thulinma 2021-12-20 10:22:31 +01:00
  • ad4c1abd0b Playlist support fixed Thulinma 2021-07-19 16:03:05 +02:00
  • 684df4b23d Added utcoffset field to metadata to display VoD program time if supported by output Marco van Dijk 2021-10-28 16:28:37 +02:00
  • 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 Marco van Dijk 2021-10-28 15:53:53 +02:00
  • 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 Marco van Dijk 2021-11-22 10:47:34 +01:00
  • d1358400f7 Added ability to output locally to playlist & TS files Marco van Dijk 2021-10-28 15:50:09 +02:00
  • 598b384078 Edits for fixing stream names with .m3u in the name. Balder 2021-11-01 14:56:59 +01:00
  • 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 Cat 2021-10-20 13:46:10 +02:00
  • c542155e10 added fallbackstream to tsudp input Balder 2021-11-22 11:44:44 +01:00
  • 6733bf2a20 Fixed all ARM-related issues/warnings/etc Thulinma 2021-05-21 17:54:24 +02:00
  • dae32ede11 Added Util::packetSorter with async/sync modes, set DTSC outputs to use async mode Thulinma 2021-07-04 22:14:40 +02:00
  • 6042c1ea70 Added per-protocol default track sorting option Thulinma 2021-06-03 00:58:17 +02:00
  • 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 Marco van Dijk 2021-09-30 13:08:06 +02:00
  • f8251cc115 Fix fallback stream, added support for stream variables in fallback stream Thulinma 2021-10-27 15:39:34 +02:00
  • aa77d86df1 Have MistInTS set the BootMsOffset correctly for live inputs Thulinma 2021-05-13 17:34:42 +02:00
  • 2ffd320316 JSON::Iter::remove() now resets the internal state back to the beginning of the iteration on the root JSON::Value object. Thulinma 2021-07-27 03:09:42 +02:00
  • 55c03fd886 Livepeer process: - Cleanup - Made everything except for bitrate and name optional, auto-detects and sanitizes and configures sane values in almost all cases. - Fix sorting of profile options - Fixed deadlock when video track does not yet have a valid width and/or height - Fixed race condition during process boot Thulinma 2021-07-27 03:10:51 +02:00
  • 896b15380f Util::Procs::getOutputOf rewrite, now reads data while application is still running instead of waiting for it to exit first (prevents deadlock on boot with small pipe buffers) Thulinma 2021-08-08 21:27:11 +02:00
  • b37a431b41 Fix setting trackFirstmsFieldfirstMS using the correct value (and for live streams as well) Marco van Dijk 2021-08-12 15:40:15 +02:00
  • 8b59c9abe7 Fix recstart/recstop parameters Marco 2021-03-08 10:50:02 +01:00
  • 4a712404ed Added "hold" command to WebRTC Thulinma 2021-08-02 10:05:26 +02:00
  • 76db36dfed Added v2 track selectors Thulinma 2021-09-22 14:30:05 +02:00
  • 9fc805700e CPU usage fix for URIReader::readAll Thulinma 2020-10-30 00:06:06 +01:00
  • 194b6e1388 HLS/HTTP fixes: - Optimize URIReader class to not close connections if not needed - reConnector now works for non-GET requests with GET params - Chunk sending mode correctly kept for HLS - Removed lots of H.Clean() from HLS that weren't needed - Improved HTTP output class request handling logic - Removed firstRun from HTTP output class; no longer needed Thulinma 2021-09-20 13:09:27 +02:00
  • 5774ce3b9e Fixed segfault in StartPiped when out of file descriptors Thulinma 2020-11-10 17:02:21 +01:00
  • c02b9ef265 Fixed WebRTC packet counter for receiving broadcasts Thulinma 2021-08-31 19:40:28 +02:00
  • bf2ce9a422 Implemented new active_streams API, backwards compatible with old API Thulinma 2021-07-26 22:50:22 +02:00
  • 64ad0ad4a9 Added JSON::Value::append() which returns a reference to a newly appended element Thulinma 2021-07-26 22:50:04 +02:00
  • 7d95a75492 Moved inputBuffer::fillBufferDetails to DTSC::Meta::getHealthJSON Thulinma 2021-07-26 16:31:52 +02:00
  • 1f390561c2 Allow setting DISKSERIAL compile variable to lock build to specific HDD serial number Thulinma 2020-11-04 23:51:13 +01:00
  • f8f799422b Fixed statistics returning random data right after stream start and/or reload Thulinma 2021-06-21 14:07:15 +02:00
  • fe6a0777a5 Added socket lib strict mode spool, used in WebSocket::readFrame Thulinma 2021-06-17 14:44:24 +02:00
  • 829c8b7948 Fixed buffer not considering all processes running if there is no stream config. Thulinma 2021-05-11 16:59:19 +02:00
  • ad9e72798a Increase VoD lookahead from 20 to 120 seconds Thulinma 2021-06-04 15:42:54 +02:00
  • 7067e9ae52 Change debugging level for part size checks from WARN to INFO Thulinma 2021-06-04 15:24:51 +02:00
  • 4358215692 Removed target not changed message Thulinma 2021-06-03 14:54:02 +02:00
  • a45239d5ac Improved systemd service file: added reload command and improved logging integration Thulinma 2021-06-02 22:39:28 +02:00
  • 98b10473a4 Added support for MIST_COLOR and MIST_LOG_SYSTEMD environment variables to affect logging Thulinma 2021-06-02 19:45:10 +02:00
  • 8be233ccb2 sharedPage::exists() function cleanup Thulinma 2021-06-01 17:29:42 +02:00
  • f8dc1261e9 Added max<XXbps track selector that picks the highest under a specific bitrate. Thulinma 2021-05-31 15:17:02 +02:00
  • 4cce8baf9b Fixed zero-length sortset causing crash in MP4 output Thulinma 2021-05-27 16:03:41 +02:00
  • 3c09b085c0 Fix recursing flag not being false in initial doSync Thulinma 2021-04-05 23:38:54 +02:00
  • f8c8f68c19 Fix HLS being seen as input during init Thulinma 2021-04-05 15:35:46 +02:00
  • 0a3c399a98 Ensure key and page numbers are all 32 bits, robustify/fix packet handling internals Thulinma 2021-01-08 14:54:33 +01:00
  • 2a5a808107 WebRTC: Fixes to packet timing and loss statistics Thulinma 2020-09-24 12:46:32 +02:00
  • 3ba7723b10 BootMSOffset propagation in MistProcMKVExec Thulinma 2021-05-04 15:27:15 +02:00
  • 5aa459f2c8 Bug fix: Added language information to meta data. Siddarth Tegginamani 2020-11-05 14:35:44 +00:00
  • 616c92eaa5 Improved exit reason logging in Mist::Input Thulinma 2021-04-23 15:44:09 +02:00
  • 118ba102f2 Fixed mkvexec race condition in shutdown on uninitialized streams Thulinma 2021-03-24 15:40:15 +01:00
  • 8cd0bff105 RTMP improvements for rollover behaviour Thulinma 2021-03-10 13:08:53 +01:00
  • 73a73abbd7 Added iceservers property to WebRTC, support passing it to the player. Thulinma 2021-02-24 00:53:04 +01:00
  • 119586c449 Updated .gitignore Thulinma 2020-12-12 18:48:28 +01:00
  • ed1d690610 Fix socket connect issue on interrupt Thulinma 2021-02-05 20:21:03 +01:00
  • 248bb9c61e Sanitycheck extra sanity checks Thulinma 2021-01-22 23:01:55 +01:00
  • e9ed76d361 USP CMAF push: Change to track identifier to allow for resuming Thulinma 2020-12-07 20:23:10 +01:00
  • c95ab07e04 Added loss stats to prometheus output Thulinma 2020-11-10 18:17:01 +01:00
  • 5a53701a88 Fixed no-bframes MKV input unnecessarily delaying the stream by 16 frames every keyframe Thulinma 2020-09-22 23:47:38 +02:00
  • 3d4a3852d8 Typo fix in DTSC lib Thulinma 2020-09-22 23:47:12 +02:00
  • c4e6f0ad31 Restore RTMP parameters in request URLs, handle variable parsing in trigger responses Thulinma 2020-09-10 12:21:22 +02:00
  • 4af7f3e9ed Load balancer: - Tagging system + tweaks to display of offline servers in overviews - Fixed stream name decode + tag_adjust hiding - Added ?ingest=PERCENT to get best ingest point assuming "PERCENT" CPU usage is needed to ingest - Fixed name length bug - Fixed multi-add bug - Improved shutdown speed - Fixed add/remove race condition issues - Robustify Thulinma 2020-08-04 23:51:04 +02:00
  • e884dc0c32 Added tagging system + API to controller Thulinma 2020-08-05 00:14:57 +02:00
  • 9953cd6ee2 Generic HTTP handler Thulinma 2021-04-22 16:35:11 +02:00
  • 6f6827607d Fixed TS stream parser not parsing last PES packet sometimes Thulinma 2021-02-16 13:45:22 +01:00
  • 0c8261bf2f Added timeoffset URL param to RTMP push input, for pushing with forced time offset Thulinma 2021-02-15 15:13:10 +01:00
  • 209cd4c0fc Process system updates: Thulinma 2020-07-29 16:50:09 +02:00
  • f88a8fc51c Downloader improvements: - Added metrics to Downloader::post (only at HIGH level for successful requests) - Improved downloader timing - Robustness improvements Thulinma 2020-08-30 01:20:06 +02:00
  • 36501a618e Fix controller locking up if MstLog pipe was already blocked during start, fixed several shared memory pages not being correctly re-created on crash recovery Thulinma 2021-05-03 11:14:11 +02:00
  • de0423a9da Fixed H264 analyser + H264 pretty printing improvements Thulinma 2021-02-15 21:15:59 +01:00
  • 7124f6070b RTMP header sends now use the current media timestamp instead of a hardcoded 0. Thulinma 2021-01-13 21:06:21 +01:00
  • 0d956dca26 Improvements to MistUtilRAX Thulinma 2020-12-07 20:15:46 +01:00
  • 75642d6d73 Added dash to permissible characters in stream name Thulinma 2020-10-29 00:05:11 +01:00
  • 6b9e9d0c3b Made SSL sockets more silent Thulinma 2021-02-10 00:40:51 +01:00
  • 57ecca2db8 FLV library: improved video init data handling Thulinma 2020-12-22 09:56:36 +01:00
  • 9417fa8dc2 MP4/WS protocol support. Thulinma 2020-11-25 15:39:28 +01:00
  • 6276d03522 Fixed track switching mid-stream, improved clarity of related debug messages Thulinma 2020-10-16 16:47:06 +02:00
  • e7d802836a Fixed protocol display for websocket-based outputs in JSON streaminfo Thulinma 2020-10-13 23:26:31 +02:00
  • 3f6e1c8768 Added "unixoffset" field to stream info JSON, containing the offset between unix time (in milliseconds) and stream timestamps. Thulinma 2021-04-07 15:43:44 +02:00
  • 586c4ab47b Fixed firstms field in live streams that don't start from 0 Thulinma 2021-04-07 15:01:09 +02:00
  • 764ad599e8 Tweaked debug message verbosity Thulinma 2021-04-15 09:44:51 +02:00
  • ea8b3ecb78 CMAF push stats fix Thulinma 2021-02-05 00:31:02 +01:00
  • 5a40225046 CMAF debug session 2021-02-04 Thulinma 2021-02-05 00:12:26 +01:00
  • 4a3204cb1e SDP fix? Thulinma 2021-02-02 16:13:12 +01:00