Commit graph

362 commits

Author SHA1 Message Date
Thulinma
6276d03522 Fixed track switching mid-stream, improved clarity of related debug messages 2021-10-19 22:29:41 +02:00
Thulinma
764ad599e8 Tweaked debug message verbosity 2021-10-19 22:29:41 +02:00
Thulinma
5a40225046 CMAF debug session 2021-02-04 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
6f035f3bc6 A few extra status for process status 2021-10-19 22:29:41 +02:00
Thulinma
926c5108b4 Fixed nextKeyTime() function 2021-10-19 22:29:41 +02:00
Thulinma
63acbb1ddb Fixes for DTSC metadata handling 2021-10-19 22:29:41 +02:00
Thulinma
97b28bebda Packet loss stats:
- Fixed bug in packet lost stats, added packet loss and packet retransmission percentages in "totals" API
- Fixed totals and clients calls
- Push stats now includes packet loss/retransmission info
2021-10-19 22:29:41 +02:00
Thulinma
7423868de4 Made Util::streamName and exitReason thread-local 2021-10-19 22:29:41 +02:00
Ramkoemar
77aa90d48c SRT edits:
- Increased SRT socket queue from 1 to 100
- Fixed SRT initialization (now clean)
- Made output_ts_base.cpp thread-safe
- Made Output class thread-safe
- SRT TS output can now optionally set open file limit
2021-10-19 22:29:41 +02:00
Thulinma
0bd5d742f6 SRT improvements:
- Made SRT support optional
- Make build options visible in cmake-gui
- Improved generic connection stats for outputs
- Added streamid handling configuration for MistInTSSRT
- Push input support over SRT
- Fixed support for SRT settings in push outputs
- Fix parsing of SRT-passed stream names
- Fixed hostnames in MistOutTSSRT, fixed PUSH_REWRITE trigger payload
- Opus support in TS-SRT
- Fixed SRT socket stats, fixed SRT socket address logic, improved SRT socket rolling restart support
- Fixed SRT push deny
2021-10-19 22:29:41 +02:00
Thulinma
974380ab30 Converted comms system entirely to being bitflag-based instead of integer state based 2021-10-19 22:29:41 +02:00
Thulinma
7297336e46 Rewrite of Comms 2021-10-19 22:29:41 +02:00
Thulinma
dc0cd0d451 Fixed general output shutdown behaviour and logging on end of stream, MP4 output now correctly ends HTTP response on stream end.
Bugfix in HTTP::Parser when calling Chunkify before initializing
2021-10-19 22:29:41 +02:00
Thulinma
fb56a8f9e8 Session cache fix, semaphore verbosity only in dev builds 2021-10-19 22:29:41 +02:00
Thulinma
942ca0c1d1 Fixed input buffering for pages ending in a key > 20s long, added debug message when output reconnects to input during prepareNext. 2021-10-19 22:29:41 +02:00
Thulinma
8b73260194 Output::seek now returns a boolean for success/failure, patched Output::nextKeyTime to no longer crash when the current track is unloaded 2021-10-19 22:29:41 +02:00
Thulinma
027bd5f9da Speed optimizes:
- MP4 output optimizations
- DTSC::Meta::getPageNumberForTime speedup
- RelAccX class speedup
- Generic output optimizations
2021-10-19 22:29:41 +02:00
Thulinma
b8ba101a55 Robustify seeking and track selection 2021-10-19 22:29:41 +02:00
Thulinma
a0de3aeff7 Fix page handling when seeking to last packet on a page 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
3d26741148 Socket library and Config library restructuring, improvement to UDP socket reliability 2021-10-19 22:29:41 +02:00
Thulinma
5019c2418c Moved some less interesting debug messages from INFO to MEDIUM level for better readability 2021-10-19 22:29:41 +02:00
Thulinma
5e57dd57af Fixed track mismatch 100% CPU loop, added some extra logging to relevant parts. 2021-10-19 22:29:41 +02:00
Thulinma
280743051a Fixed high CPU usage on fast-playing recordings that have a dynamic end time 2021-10-19 22:29:41 +02:00
Thulinma
1bbc378458 Fixed skipahead playback timing 2021-10-19 22:29:40 +02:00
Thulinma
e6f61f5643 Do not crash if page load fails during Output::prepareNext 2021-10-19 22:29:40 +02:00
Thulinma
36a1a88cb0 Added ability to mask source tracks for processes 2021-10-19 22:29:40 +02:00
Thulinma
bd9ae56532 Timing improvements for all outputs and DTSC socket input 2021-10-19 22:29:40 +02:00
Thulinma
de4890ac20 Livepeer transcoding support 2021-10-19 22:29:40 +02:00
Thulinma
753da9bd3f Fix for unixrecstart/unixrecstop 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
d522c1d90f Merge branch 'development' into LTS_development
# Conflicts:
#	src/input/input_buffer.cpp
2020-09-30 17:29:49 +02:00
Thulinma
bafe30e234 Improvements/tests for SEM_LIVE locking 2020-09-30 17:24:57 +02:00
Thulinma
7beea43d31 Added basic stream fallback feature, allowing to redirect to a different stream name on stream source load errors 2020-01-23 13:43:31 +01:00
Thulinma
a2e2ddae1e Backport of 3.0 stream selectors 2019-11-27 10:27:14 +01:00
Thulinma
7bffdfe644 Added global configuration mechanism and defaultStream support 2019-10-31 11:19:54 +01:00
Thulinma
5be878bea5 Added support for precise splitting of pushes to disk (i.e. recording) with re-variable-ized target strings at each split 2019-09-30 16:28:10 +02:00
Thulinma
a071b365e5 Added support for duration push parameter, fixed skipping forward in recordings 2019-09-30 16:28:10 +02:00
Thulinma
2cb20efa7a Added pushdelay option for outward pushes, fixed negative starttime for RTMP output 2019-08-22 17:12:21 +02:00
Thulinma
7557cacc17 Updated usage of socket lib in accordance to socket lib edits 2019-08-14 12:09:47 +02:00
Thulinma
118978aafc Updated usage of socket lib in accordance to socket lib edits 2019-08-14 11:42:12 +02:00
Thulinma
cc9e970ea3 More backports from Pro edition, among which HTTPS/TLS support 2019-07-13 14:23:59 +02:00
Thulinma
320c8ab29f Track selector and language code support backported from Pro edition 2019-04-29 14:08:31 +02:00
Thulinma
fd34aa7e32 Merge branch 'development' into LTS_development
# Conflicts:
#	lib/stream.cpp
#	src/output/output.cpp
#	src/output/output_hls.cpp
2019-04-26 17:10:02 +02:00
Thulinma
095a60e0ed HLS stream track selector support in index URLs, fixed source matching when multi-select or type-select is used, handle user agent exceptions in Output::selectDefaultTracks(), added Util::codecString to stream.h library, removed duplicate/wrong code from DASH/HLS outputs 2019-04-26 17:03:42 +02:00
Thulinma
b8415d09c6 HLS/DASH stream track selector support in index URLs, fixed source matching when multi-select or type-select is used, handle user agent exceptions in Output::selectDefaultTracks(), added Util::codecString to stream.h library, removed duplicate/wrong code from DASH/HLS outputs 2019-04-26 13:50:39 +02:00