Commit graph

152 commits

Author SHA1 Message Date
Thulinma
f3ba13d6bb Change controller calls that use stream metadata to instantly time out if unavailable, rather than waiting for availability 2023-08-31 15:39:20 +02:00
Thulinma
0ec2800894 Split out jitter timer to be one per metadata, clear out jitter data when clearing as well 2023-07-20 10:39:43 +02:00
Marco van Dijk
2b18a414b4 Added support for external writers 2023-02-22 13:25:42 +01:00
Thulinma
4743769c15 Simplified MP4 input logic significantly, added DTSC::Meta::getPartTime() function, fixed issues with MP4 files with frame durations smaller than 1ms 2022-12-12 20:24:38 +01:00
Siddarth Tegginamani
4033f1d009 Check keyTimingsMatch in DTSC 2022-02-11 22:43:49 +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
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
Thulinma
6733bf2a20 Fixed all ARM-related issues/warnings/etc 2021-11-04 18:49:27 +01:00
Thulinma
7d95a75492 Moved inputBuffer::fillBufferDetails to DTSC::Meta::getHealthJSON 2021-10-19 22:29:42 +02:00
Thulinma
209cd4c0fc Process system updates:
All processes:
- Added process status system and relevant API calls
- Added ability to set track masks for input/output in processes
- Added support for unmasking tracks when there is a push target, by the "unmask" parameter.
- Added track unmasking support for processes on exit/error
- Make processes start faster, if possible, in the first few seconds of a stream
- Delay stream ready state if there are processes attempting to start

Livepeer process updates:
- Added Content-Resolution header to MistProcLivepeer as per Livepeer's request
- Renamed transcode from "Mist Transcode" to source stream name
- Added ability to send audio to livepeer
- Robustified livepeer timing code, shutdown code, and improved GUI
- Prevent "audio keyframes" from starting segments in MistProcLivepeer
- Multithreaded (2 upload threads) livepeer process
- Stricter downloader/uploader timeout behaviour
- Robustness improvements
- Fix small segment size 😒
- Streamname correction
- Prevent getting stuck when transcoding multiple qualities and they are not equal length
- Corrected log message print error
- Race condition fix
- Now always waits for at least 1 video track
2021-10-19 22:29:41 +02:00
Thulinma
4080d141f8 Fix bug in Output::seek() when seeking to a timestamp that is between the last part of a key and the first part of the next key 2021-10-19 22:29:41 +02:00
Thulinma
63acbb1ddb Fixes for DTSC metadata handling 2021-10-19 22:29:41 +02:00
Thulinma
ea49344628 DTSC push output support, fixes for DTSC push input and DTSC pull output 2021-10-19 22:29:41 +02:00
Thulinma
49ee109b50 Added maxKeepAway option for live streams, renamed minkeepaway/keepaway to "jitter" externally, added global jitter and bframe checks in all JSON-like metadata outputs 2021-10-19 22:29:41 +02:00
Thulinma
36a1a88cb0 Added ability to mask source tracks for processes 2021-10-19 22:29:40 +02:00
Thulinma
a8e04e1787 Fixes to CMAF output 2021-10-19 22:29:40 +02:00
Thulinma
0af992d405 Various fixes, among which:
- Fixed segfault when attempting to initialseek on disconnected streams
- Fix 100% CPU bug in controller's stats code
- WebRTC UDP bind socket improvements
- Several segfault fixes
- Increased packet reordering buffer size from 30 to 150 packets
- Tweaks to default output/buffer behaviour for incoming pushes
- Added message for load balancer checks
- Fixed HLS content type
- Stats fixes
- Exit reason fixes
- Fixed socket IP address detection
- Fixed non-string arguments for stream settings
- Added caching for getConnectedBinHost()
- Added WebRTC playback rate control
- Added/completed VP8/VP9 support to WebRTC/RTSP
- Added live seek option to WebRTC
- Fixed seek to exactly newest timestamp
- Fixed HLS input

# Conflicts:
#	lib/defines.h
#	src/input/input.cpp
2021-10-19 22:29:40 +02:00
Phencys
2b99f2f5ea New Meta commit 2021-10-19 22:29:40 +02:00
DDVTech
fccf66fba2 Restyle 2021-10-19 22:29:40 +02:00
Thulinma
ead45b4fb8 Fixes to playlist support 2020-01-23 13:43:55 +01:00
Thulinma
775d25947c Merge branch 'development' into LTS_development
# Conflicts:
#	lib/dtsc.h
2019-09-09 15:56:45 +02:00
Thulinma
a25fa0596e Lowered default segment duration to 1900ms, lowered audio virtual "keyframe" interval to 2000ms. 2019-09-09 15:53:46 +02:00
Thulinma
9e1539a2b9 Merge branch 'development' into LTS_development
# Conflicts:
#	src/controller/controller_statistics.cpp
#	src/input/input_buffer.cpp
#	src/input/input_dtsc.cpp
#	src/input/input_ebml.cpp
#	src/input/input_flv.cpp
#	src/input/input_mp3.cpp
#	src/output/output_httpts.cpp
#	src/output/output_progressive_mp3.cpp
#	src/output/output_progressive_mp4.cpp
2019-01-25 23:57:42 +01:00
Thulinma
7565704fdc Fixed 32-bit compile issues 2019-01-25 23:49:56 +01:00
Erik Zandvliet
10fa4b7e7b libmist backport from new metadata branch with improved typing and styling 2018-12-06 11:07:07 +01:00
Erik Zandvliet
2607113727 Library code style update + some minor backports from Pro edition 2018-12-04 13:11:48 +01:00
Thulinma
57e40fe921 Merge branch 'development' into LTS_development 2018-10-11 15:15:40 +02:00
Thulinma
2aa86ccf01 Fix memory leak in live inputs 2018-10-11 15:15:18 +02:00
Thulinma
b496023d7f Added support for local variables in MistIn processes, stored in the DTSH header. 2018-07-20 14:22:54 +02:00
Thulinma
7f770b27b7 Added support for local variables in MistIn processes, stored in the DTSH header. 2018-07-18 21:22:28 +02:00
Thulinma
ee195f0089 Implemented basic version of DTSC::RetimedPacket 2018-07-04 11:50:53 +02:00
Thulinma
2a028fa309 Added bootMsOffset to DTSC::Meta, RTMP now syncs on it. 2018-07-04 11:50:44 +02:00
Thulinma
a984243d56 Implemented basic version of DTSC::RetimedPacket 2018-07-04 11:48:36 +02:00
Thulinma
43934cf69c Added bootMsOffset to DTSC::Meta, RTMP now syncs on it. 2018-07-04 11:48:14 +02:00
Thulinma
b2c5843d54 Merge branch 'development' into LTS_development 2017-11-01 15:25:43 +01:00
Thulinma
6b5016691d Bumped DTSH version number to 4 for peak/average bit rate calculations 2017-11-01 15:25:36 +01:00
Thulinma
3a8b9e2a8a Merge branch 'development' into LTS_development 2017-10-24 14:42:24 +02:00
Erik Zandvliet
cba0c0b38b Calculate both average and peak bit rates 2017-10-24 14:42:16 +02:00
Thulinma
bb2e6de56a Merge branch 'development' into LTS_development
# Conflicts:
#	src/input/input.cpp
2017-08-03 15:08:48 +02:00
Thulinma
f3f2802844 Added minKeepAway support to DTSC::Track object, senders and parsers 2017-08-03 15:06:12 +02:00
Thulinma
dc8bae8dd3 Merge branch 'development' into LTS_development
# Conflicts:
#	src/output/output.h
2017-07-28 18:39:49 +02:00
Thulinma
3eb69ff2c7 Changed bufferLivePacket and related functions to have const DTSC::Packet references 2017-07-28 18:38:54 +02:00
Thulinma
e608ef69fd Merge branch 'development' into LTS_development 2017-07-27 18:57:50 +02:00
Thulinma
e8db89319a DTSC getInt is now uint64_t instead of int 2017-07-27 18:56:28 +02:00
Thulinma
f3cc7b0a4e Merge branch 'development' into LTS_development 2017-07-25 15:57:01 +02:00
Ramkoemar
c7816c42f0 updated appendNal and added upgradeNal in DTSC lib, nal lib speedup 2017-07-25 15:56:38 +02:00
Thulinma
288cc5d3ce Improved NAL unit and keyframe handling 2017-05-15 17:12:48 +02:00
Thulinma
1f3ab6e473 Improved NAL unit and keyframe handling 2017-05-15 17:11:24 +02:00
Thulinma
0c87ba1f7b Merge branch 'development' into LTS_development
# Conflicts:
#	src/input/input.cpp
2017-05-12 12:48:58 +02:00