Commit graph

1577 commits

Author SHA1 Message Date
Thulinma
9953cd6ee2 Generic HTTP handler
# Conflicts:
#	src/output/output_mp4.cpp
#	src/output/output_mp4.h
2021-10-19 22:29:41 +02:00
Thulinma
6f6827607d Fixed TS stream parser not parsing last PES packet sometimes 2021-10-19 22:29:41 +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
f88a8fc51c Downloader improvements:
- Added metrics to Downloader::post (only at HIGH level for successful requests)
- Improved downloader timing
- Robustness improvements
2021-10-19 22:29:41 +02:00
Thulinma
de0423a9da Fixed H264 analyser + H264 pretty printing improvements 2021-10-19 22:29:41 +02:00
Thulinma
0d956dca26 Improvements to MistUtilRAX 2021-10-19 22:29:41 +02:00
Thulinma
75642d6d73 Added dash to permissible characters in stream name 2021-10-19 22:29:41 +02:00
Thulinma
6b9e9d0c3b Made SSL sockets more silent 2021-10-19 22:29:41 +02:00
Thulinma
57ecca2db8 FLV library: improved video init data handling 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
586c4ab47b Fixed firstms field in live streams that don't start from 0 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
4a3204cb1e SDP fix? 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
f862263354 Speed up MistInBuffer shutdown time 2021-10-19 22:29:41 +02:00
Thulinma
3baa8d1524 TS::Packet classes no longer rely on global PMT tracking 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
ea49344628 DTSC push output support, fixes for DTSC push input and DTSC pull output 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
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
6e316663fc ADTS lib pragma once header 2021-10-19 22:29:41 +02:00
Thulinma
dd58912756 Added support for DVB subtitle and teletext descriptors 2021-10-19 22:29:41 +02:00
Thulinma
e6489f2d6a WebRTC certificate improvement 2021-10-19 22:29:41 +02:00
Thulinma
37af199a1c Added client mode support to HTTP::Websocket, added websockettest binary, added ws/wss protocol support to HTTP::URL, added support for websockets and socket overriding to HTTP::Downloader, fixed HTTP parser not handling response codes 1XX, 204 and 304 correctly. 2021-10-19 22:29:41 +02:00
Thulinma
57b930020b Fix infinite loop in AMF parser 2021-10-19 22:29:41 +02:00
Thulinma
7297336e46 Rewrite of Comms 2021-10-19 22:29:41 +02:00
Thulinma
67c0d6666f Fix for file descriptors getting hammered by StartPiped if 100, 101 or 102 were open. 2021-10-19 22:29:41 +02:00
Thulinma
d45e78387d Removed code duplication in MP4::TRAF (reimplemented MP4::containerBox) 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
854e71c06f STUN lib tweak 2021-10-19 22:29:41 +02:00
Thulinma
540694df1f Socket::UDPConnection now uses its currently bound socket type for destinations 2021-10-19 22:29:41 +02:00
Thulinma
b9c03ccb18 URIReader: Allow overriding user agent through public member variable, fix for readAll() deadlock 2021-10-19 22:29:41 +02:00
Thulinma
6307428476 Attempt to make cygwin compiles work again 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
b0c8bdfa21 AAC RTMP/FLV input now ignore metadata and instead parse init data for channel count and sampling rate 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
e28743db54 Bugfixes HTTP::Downloader, downloadertest now outputs data immediately without buffering 2021-10-19 22:29:41 +02:00
Thulinma
d47603615f Downloader::post() timeouts should not keep the socket connected for reuse 2021-10-19 22:29:41 +02:00
Thulinma
b0b5e2ebcc Fix DTSC::Meta::clear() using a semaphore to clear uninitialized state 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
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
ca63abae14 Added STAT_CUTOFF compile flag 2021-10-19 22:29:41 +02:00
Thulinma
19a55828a3 WebRTC fixes/improvements:
- Added public host setting
- Implemented Sender Report based  track time syncing
- Added 10 second timeout for output connections (no timeout for input connections)
- Timing fixes
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