Commit graph

489 commits

Author SHA1 Message Date
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
dd5ae98002 Fix -1 since last update error in Buffer 2021-10-19 22:29:41 +02:00
Thulinma
63acbb1ddb Fixes for DTSC metadata handling 2021-10-19 22:29:41 +02:00
Thulinma
f862263354 Speed up MistInBuffer shutdown time 2021-10-19 22:29:41 +02:00
Thulinma
9f2fe22074 Fixed buffer disconnecting pushed inputs if they shared a PID with a viewer that disconnected 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
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
Phencys
19199cbff8 TSSRT Support 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
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
f4051b5916 Fixed RTSP input in newMeta build 2021-10-19 22:29:41 +02:00
Thulinma
bc3ca638cd Fixed MistInAV compiling in newMeta branches 2021-10-19 22:29:41 +02:00
Thulinma
c434d792c4 Fixed MistInBuffer compile 2021-10-19 22:29:41 +02:00
Thulinma
fc7a460c49 Added ability to set debug level for MistProc* binaries, added support for global debug level for same. 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
15c132f6f8 Added MistUtilNuke, added input PID and pull PID fields, added nuke_stream API call 2021-10-19 22:29:41 +02:00
Thulinma
1fff195f77 Various TS improvements 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
97752f2c2d Opus in TS input/output support 2021-10-19 22:29:41 +02:00
Thulinma
561c073977 MistInEBML fix 2021-10-19 22:29:41 +02:00
Thulinma
3dfe377b9c Removed unneeded userSelect reload in inputs 2021-10-19 22:29:41 +02:00
Thulinma
dc2239e70f Slight improvements + more sanity checks in page buffering 2021-10-19 22:29:40 +02:00
Thulinma
0a51e95d1a Improved EBML B-frame detection/handling 2021-10-19 22:29:40 +02:00
Thulinma
5edf06ab68 More checks on connection quality 2021-10-19 22:29:40 +02:00
Thulinma
de4890ac20 Livepeer transcoding support 2021-10-19 22:29:40 +02:00
Thulinma
b5b09f21b4 Improvements to ResizeablePointer 2021-10-19 22:29:40 +02:00
Thulinma
3ca1ea3b30 Temp fix for invalid tracks 2021-10-19 22:29:40 +02:00
Thulinma
771fad390a Allow overriding application name with -DAPPNAME="Name here" 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
fff62656ba Added autostarting for processes through buffer 2021-10-19 22:29:39 +02:00
Thulinma
637c57be5e FFMPEG process fixes/improvements 2021-10-19 22:29:39 +02:00
Thulinma
dbafdf6744 Correct handling of reaper thread in forking binaries 2021-03-19 22:47:06 +01:00
Thulinma
5f8518fe23 Fix playlist support not resuming on the correct page number and/or with the correct timestamp 2021-02-19 22:45:51 +01:00
Marco
c9cd529927 Fixes for playlist support
Track matching fixes:
  Input MP4 is not getting dimensions properly, causing resume to not find a collision
    Fixed by overwriting dimensions when media frames are read
  Detecting collisions using track identifier can cause issues (ie audio_AAC_2ch_44100hz_eng VS audio_AAC_2ch_44100hz)
    Fixed by matching using init data, then check by identifier if there is more than 1 match

Fixed buffering code for playlist streams, ensuring correct page creation:
  In resume mode new pages do not get created, but existing one(s) fill up
    Keyframes were not being recognized due to them being deleted during track switching
      Fixed by changing negotiationProxy::bufferNext:
        Removed seemingly unnecessary function which cleared keyframes
      Lastly, the offset of a resumed track seems wrong
        Added to NegotiationProxy::continueNegotiate
          pagesByTrack[tid][firstPage].curOffset = 0;
        Added to negotiationProxy::bufferSinglePacket:
          if (!pagesByTrack[tid][currentPageNum].curOffset) {
            pagesByTrack[tid][currentPageNum].firstTime = packet.getTime();
          }

Fixed numbering for keys from the buffer when accepting tracks (was amount of buffered keys, not last key number)
2021-02-19 22:43:26 +01:00
Thulinma
f38ec0322e Improvements/tests for SEM_LIVE locking for iRankLocally 2020-09-30 17:31:13 +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
431fecb67b RTSP input fixes 2020-09-24 20:11:44 +02:00
Thulinma
19f1df18aa HLS input converted to URIReader, temporarily disabled clearkey encryptionHLS input fixes:
- Re-enabled file-based input
- Added support for clearkey-encrypted file-based input
- Converted to HTTP::URIReader for all input types
- Both live and VoD functional
 support
2020-09-14 10:57:00 +02:00
Thulinma
eb8694052d Merge branch 'development' into LTS_development
# Conflicts:
#	lib/http_parser.cpp
2020-03-03 17:04:10 +01:00
Thulinma
08e5ceca2b Improvements and backports for HLS input 2020-02-12 12:19:34 +01:00
Thulinma
e9832ac723 Added stats entry for RTSP pull input 2020-02-03 16:34:05 +01:00
Thulinma
d58e860a2c HLS: support for handling and syncing on ISO8601 timestamps in input 2020-01-23 13:55:08 +01:00
Thulinma
384afb6508 RTSP allow lowercase Content-[Tt]ype, fixed Soliton Systems RTSP server implementation 2020-01-23 13:44:20 +01:00
Thulinma
ead45b4fb8 Fixes to playlist support 2020-01-23 13:43:55 +01:00
Erik Zandvliet
907be3b1f4 Playlist support 2020-01-23 13:43:51 +01:00