Commit graph

131 commits

Author SHA1 Message Date
Thulinma
4181b52857 Silence more compile warnings, fix compilation on MacOS 2022-10-27 14:50:38 +02:00
Thulinma
267a74f0f6 Fix track selector logic when multiple selections are considered 2022-08-08 11:00:39 +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
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
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
6c66a4adb3 Fix AC3 codecstring 2022-01-13 10:10:55 +01:00
Thulinma
6733bf2a20 Fixed all ARM-related issues/warnings/etc 2021-11-04 18:49:27 +01:00
Thulinma
dae32ede11 Added Util::packetSorter with async/sync modes, set DTSC outputs to use async mode 2021-11-03 14:15:52 +01:00
Thulinma
6042c1ea70 Added per-protocol default track sorting option 2021-11-03 14:15:46 +01:00
Thulinma
76db36dfed Added v2 track selectors 2021-10-19 22:29:42 +02:00
Thulinma
f8dc1261e9 Added max<XXbps track selector that picks the highest under a specific bitrate. 2021-10-19 22:29:42 +02:00
Thulinma
75642d6d73 Added dash to permissible characters in stream name 2021-10-19 22:29:41 +02:00
Thulinma
6276d03522 Fixed track switching mid-stream, improved clarity of related debug messages 2021-10-19 22:29:41 +02:00
Thulinma
ffcc2b3473 Added mono/stereo/surround/Xch track selectors for audio tracks 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
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
a11a6f1b4a Added mono/stereo/surround/Xch track selectors for audio tracks 2020-10-16 14:48:08 +02:00
Thulinma
52a10eaea7 Decreased trigger verbosity, fixed RTMP_PUSH_REWRITE and PUSH_OUT_START triggers not properly ignoring response when ran in non-blocking mode. 2020-09-24 16:06:56 +02:00
Thulinma
c2ecab2e6b Fix mac compile 2020-09-22 14:36:09 +02:00
Thulinma
606fce296a Merge branch 'development' into LTS_development
# Conflicts:
#	lib/stream.cpp
2020-02-12 11:55:56 +01:00
Thulinma
3736d28eed Fix for correctly passing stream configuration options to MistIn processes 2020-02-12 11:11:19 +01:00
Thulinma
ead45b4fb8 Fixes to playlist support 2020-01-23 13:43:55 +01: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
6e125707f1 Added $wday, $yday and $week variables 2020-01-23 13:43:04 +01:00
Thulinma
a2e2ddae1e Backport of 3.0 stream selectors 2019-11-27 10:27:14 +01:00
Thulinma
c64160f4d8 Merge branch 'development' into LTS_development 2019-11-27 10:26:41 +01:00
Thulinma
9a1b4fb872 Fixed support for inputs with URL parameters 2019-11-27 10:25:58 +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
3c3489e7eb Merge branch 'development' into LTS_development
# Conflicts:
#	src/output/output_progressive_mp4.cpp
2019-06-25 14:30:27 +02:00
Thulinma
4fcae749da Improved blacklisting/whitelisting code + MP3 in MP4 output blacklist for Trident browsers under Windows 7 and lower 2019-06-25 14:29:55 +02:00
Thulinma
b2bcef16c9 Merge branch 'development' into LTS_development 2019-05-15 09:19:11 +02:00
Thulinma
4c324c1b19 Fixed semaphore problems on MacOS 2019-05-15 09:15:34 +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
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
9ba2619b9f Merge branch 'development' into LTS_development 2018-12-03 17:31:26 +01:00
Thulinma
cb0b69690a Don't wait for non-existent DTSCShmReader pages 2018-12-03 17:31:02 +01:00
Thulinma
5812406139 Merge branch 'development' into LTS_development 2018-12-03 15:04:38 +01:00
Thulinma
a7607ad037 Fix for crashing of non-configured streams 2018-12-03 14:12:57 +01:00
Thulinma
ec0b19b92c Socket library updates to support detecting sockets passed as FDs, removed use of peek() in HTTP request handler, fixed 100% CPU usage problem for unfinished HTTP requests 2018-11-28 12:01:57 +01:00
Thulinma
6a6dd5d7ed Socket library updates to support detecting sockets passed as FDs, removed use of peek() in HTTP request handler, fixed 100% CPU usage problem for unfinished HTTP requests 2018-11-28 11:59:54 +01:00
Thulinma
98e3940079 Robustify accesses to server config 2018-11-28 11:46:33 +01:00
Thulinma
ac92e09262 Robustify accesses to server config 2018-11-28 11:46:22 +01:00
Thulinma
78101d8c91 Merge branch 'development' into LTS_development 2018-10-30 14:59:37 +01:00
Thulinma
ee9b076b76 Limit how long startInput() will wait for an input to finish booting or shutting down 2018-10-30 14:59:32 +01:00
Thulinma
6ddc4adadf Merge branch 'development' into LTS_development 2018-08-27 14:17:20 +02:00