Commit graph

5227 commits

Author SHA1 Message Date
Balder
be8a348998 remove spam for UDP 2024-07-04 14:13:55 +02:00
Thulinma
40e9fb26d2 Fix segfault in MistUtilRAX 2024-07-04 14:13:31 +02:00
Thulinma
e712527d42 Fix RTMP outgoing push timestamps 2024-07-04 13:25:19 +02:00
Thulinma
a1737cdf8b Fix websockets pausing and then playing when the live point is out of the DVR window 2024-07-04 11:49:29 +02:00
Thulinma
56dc2db051 Improve default seeking behaviour for websocket-based outputs 2024-07-04 11:30:58 +02:00
Balder
bd238e367e fixup for websocket based outputs 2024-07-04 10:30:01 +02:00
Thulinma
2f6cc46f88 Fix various RTMP push issues:
- Fix RTMPS pushes, fix RTMP push "secret" Adobe handshake
- Switch RTMP URL parsing to split at last slash rather than first slash
- "Fix" compatibility with GO-RTMP-based RTMP implementations.
- Fix compatibility with Odysee, which does a strict RTMP version check and doesn't like our version 1.2.3.4 I guess..?
2024-07-03 12:33:22 +02:00
Thulinma
7b18307981 Fix segfault in MistInRTSP when connection to buffer lost 2024-07-03 12:04:32 +02:00
Thulinma
8846c35b1b Change metadata to make afreecatv happy 2024-07-03 12:04:32 +02:00
Thulinma
b9de1e1d90 Optimize MistInBuffer to only check STREAM_BUFFER trigger when it could possibly fire 2024-07-03 12:04:32 +02:00
Thulinma
f2bb7ffa94 Prevent crash when applying limiter to a non-existing main track 2024-07-03 12:04:32 +02:00
Thulinma
90b16439cd Various HLS fixes:
- Fix HLS streamname length mismatch problems
- Prevent segfault on invalid track ID in HLS
- Fix segfault in HLS output when requesting an index for a track with exactly 1 segment available in the buffer
- Fix another HLS segfault
2024-07-03 12:04:05 +02:00
Thulinma
5c8e91b07b Dozens of hours of debugging, yet only 1 character of changed code. 😩 2024-07-03 12:03:11 +02:00
Thulinma
cf475a7c07 Prevent simultaneous access to the push list 2024-07-03 12:03:11 +02:00
Thulinma
aca4623a8a Fix various subtle concurrency issues in the controller 2024-07-03 12:02:53 +02:00
Thulinma
6eec3661ca Add support for non-URL-compatible parameter parsing (taking + to not mean space, not encoding as such either) and uses it for RTMP auth 2024-07-03 12:02:53 +02:00
Thulinma
8664daeb9a Improve and robustify local UDP port handling 2024-07-03 12:00:12 +02:00
Thulinma
c6c20c3e7c 🤦 2024-07-03 12:00:12 +02:00
Thulinma
9dc9bf64ee Added X-Attempt header to HEAD and POST requests in Downloader 2024-07-03 12:00:12 +02:00
Balder
caffcd9935 Disable liveSeek function when specified start time is used. 2024-07-03 12:00:12 +02:00
Thulinma
d1e518ae9b Added trigger instance ID and instance name headers 2024-07-03 11:03:28 +02:00
Thulinma
0083df681d Fix STREAM_END trigger 2024-07-03 10:59:25 +02:00
Thulinma
3422b1dbcd Remove Windows-specific shared memory implementation 2024-06-27 10:45:54 +02:00
Thulinma
e75381ae39 Improve logging when running in cygwin 2024-06-27 00:09:41 +02:00
Thulinma
6118a005f7 Robustify logging code 2024-06-27 00:07:28 +02:00
Ivan Tivonenko
7a8e90e1a2 show process name on all platforms 2024-06-27 00:07:14 +02:00
Balder
8d264cd602 fix unrecognized procs blocking UI 2024-06-26 22:28:53 +02:00
Thulinma
a4828c087d Prevent 100% CPU usage when no packet is available and we're inserting ghost packets repeatedly. 2024-06-26 17:24:33 +02:00
Thulinma
320ed53212 Fix DTSC pull output key mismatch errors, fix not starting at keyframes 2024-06-10 15:46:11 +02:00
Thulinma
f3803aeceb Added check for failure to open metadata in DTSC pull input.
Change-Id: I690d12bd458afc1efef64f34ab2513f0f338e6a0
2024-06-10 15:46:05 +02:00
Thulinma
a84e1ef4b4 Fix segfault when target for a push is smaller than the smallest extension
Change-Id: Ifbfb89828030f72b05f919265c4dc57f1ed32325
2024-06-10 15:44:50 +02:00
Marco van Dijk
41039483d3 (Hopefully) fix output segfaults on full shared memory page 2024-06-10 15:44:43 +02:00
Eli Mallon
20812842b9 Fix --maxkeepaway option, add to DTSC input as well 2024-06-10 15:43:26 +02:00
Cat
5ecbc8676f Embed: webrtc: removed typo in player.webrtc.stop function
Was in there for 5 months, bad kitty
2024-06-05 11:22:53 +02:00
Thulinma
b103353cf9 Improve WebRTC things, fix CPU usage 2024-05-23 13:50:52 +02:00
Alex Henrie
bdab107011 Delete jwplayer.js
This file is not currently used and moreover its license does not allow
commerical use.

https://github.com/jwplayer/jwplayer/blob/master/LICENSE
2024-05-16 17:42:32 +02:00
Alex Henrie
ea47e19129 Fix spelling mistakes identified by Lintian
Co-authored-by: Thulinma <jaron@vietors.com>
2024-05-16 17:28:03 +02:00
Alex Henrie
a1fbb9e186 Allow any RTP/AVP payload type to be dynamically assigned
The Bosch FLEXIDOME 4000i camera sets the RTP payload type to 35 for
H264, which causes MistServer to output "FAIL: Payload type 35 not
supported!"

The camera probably uses 35 for H264 because the ATSC standard requires
it. A/153 Part 7 states: [1]

> In addition, for RTP packets that carry AVC video elementary stream,
> the payload_type field in the RTP header shall have value 35.

The camera also sends "a=rtpmap:35 H264/90000" to explicitly map the
value 35 to H264. This is perfectly valid; although payload types 96
through 127 are recommended for dynamic use, the RTP protocol allows any
AVP payload type to be dynamically reassigned. The relevant section of
RFC 3551 states: [2]

> This profile reserves payload type numbers in the range 96-127
> exclusively for dynamic assignment.  Applications SHOULD first use
> values in this range for dynamic payload types.  Those applications
> which need to define more than 32 dynamic payload types MAY bind
> codes below 96, in which case it is RECOMMENDED that unassigned
> payload type numbers be used first.  However, the statically assigned
> payload types are default bindings and MAY be dynamically bound to
> new encodings if needed.  Redefining payload types below 96 may cause
> incorrect operation if an attempt is made to join a session without
> obtaining session description information that defines the dynamic
> payload types.

If the payload type is not recognized, assume that an rtpmap line will
follow that defines it. If in the end there is no rtpmap line, error out
in the same way whether the payload type is between 96 and 127 inclusive
or whether it is outside of that range.

[1] https://prdatsc.wpenginepowered.com/wp-content/uploads/2021/04/A153-Part-7-2012.pdf#page=14
[2] https://datatracker.ietf.org/doc/html/rfc3551#page-6
2024-05-16 16:39:13 +02:00
Thulinma
4e2d95961f Fix JPG compile after rebase 2024-05-16 16:19:15 +02:00
Eli Mallon
e324c2ee58 refactor: capitalize Input classes, rename srt to subrip in source as well
Co-authored-by: Thulinma <jaron@vietors.com>
2024-05-16 16:07:49 +02:00
Thulinma
dbafa808b8 Fix Cygwin compilation:
- Fix various incompatibilities and differences between Linux and Cygwin builds
- Make usrsctp an optional dependency
- Fix building without SSL
- Add new secure random bytes function, use it for websockets
- Switch to libsrtp2 v2.6.0 (currently latest release)
- Add patch that makes latest libsrtp2 build in latest Cygwin
- Add patch that makes srt build in latest Cygwin
- Correctly allow linking libsrtp2 and srt to local mbedtls version
2024-04-25 12:44:38 +02:00
Thulinma
db30be38c5 Fix header includes to be a bit more consistent 2024-04-25 12:44:38 +02:00
Cat
67aec0b1b6 Embed: webrtc metadatasocket: fixed race condition if metadata isn't immediately activated 2024-04-25 10:07:42 +02:00
Cat
72bc25cef0 Support for WebRTC data tracks in the player 2024-02-22 17:45:47 +01:00
Gijs Peskens
ebe783666f Support for upstream mbedtls versions 2 and 3 when compiled with SRTP support
Co-authored-by: Thulinma <jaron@vietors.com>
2024-02-22 17:45:47 +01:00
Thulinma
3987cfec3f Support for WebRTC data tracks (output only, for now), rewrite of dTLS integration (now part of socket lib), support for multi-path WebRTC connections 2024-02-22 17:45:44 +01:00
Thulinma
56193f89b1 Fix memory leak in RTMP receiver code 🤦‍♂️ 2024-01-15 15:22:44 +01:00
Thulinma
6bec4066a9 Added stream tagging support 2023-12-20 15:42:27 +01:00
Thulinma
4d50364703 Updated README.md with meson compile instructions and new documentation URL 2023-12-20 11:35:13 +01:00
Thulinma
67ce3b1a17 Enable updater for public builds 2023-12-20 11:24:12 +01:00