- Updates from mediasoup TypeScript
3.13.8..=3.13.12
. - Update h264-profile-level-id dependency to 0.2.0.
- Fix docs build (PR #1271).
- Rename
data_consumer::on_producer_resume
todata_consumer::on_data_producer_resume
(PR #1271).
- Updates from mediasoup TypeScript
3.13.0..=3.13.7
. - General mediasoup changes:
- Switch from JSON based messages to
flatbuffers
(PR #1064). - Enable
liburing
usage for Linux (kernel versions >= 6) (PR #1218). - Add pause/resume API in
DataProducer
andDataConsumer
(PR #1104). - DataChannel subchannels feature (PR #1152).
Worker
: Make DTLS fragment stay within MTU size range (PR #1156).- Replace make + Makefile with Python Invoke library + tasks.py (also fix installation under path with whitespaces) (PR #1239).
- Switch from JSON based messages to
- Updates from mediasoup TypeScript
3.11.9..=3.12.16
.
- Fix consuming data producer from direct transport by data consumer on non-direct transport.
- Updates from mediasoup TypeScript
3.11.3..=3.11.8
.
- Updates from mediasoup TypeScript
3.10.11..=3.11.2
.
- Updates from mediasoup TypeScript
3.10.7..=3.10.10
.
- Updates from mediasoup TypeScript
3.10.2..=3.10.6
.
- Updates from mediasoup TypeScript
3.9.10..=3.10.1
. WebRtcServer
: A new class that brings toWebRtcTransports
the ability to listen on a single UDP/TCP port (PR #834, PR #845).- Minor API breaking changes.
- Fix a segfaults in tests and under multithreaded executor.
- Fix another racy deadlock situation.
- Expose hierarchical dependencies of ownership of Rust data structures, now it is possible to call
consumer.transport().router().worker().worker_manager()
. - General mediasoup changes:
- ICE renomination support (PR #756).
- Update
libuv
to 1.43.0. - TCC client optimizations for faster and more stable BWE (PR #712 by @ggarber).
- Added support for RTP abs-capture-time header (PR #761 by @oto313).
- Fix VP9 kSVC forwarding logic to not forward lower unneded layers (PR #778 by @ggarber).
- Fix update bandwidth estimation configuration and available bitrate when updating max outgoing bitrate (PR #779 by @ggarber).
- Optimize RTP header extension handling (PR #786).
RateCalculator
: Reset optimization (PR #785).- Fix frozen video due to double call to
Consumer::UserOnTransportDisconnected()
(PR #788, thanks to @ggarber for exposing this issue in PR #787).
- Update
lru
dependency to fix security vulnerability
- Fix cleanup of build artifacts.
- Make
Transport
implementSend
. - Another fix to rare deadlock.
- Improved Windows support (doesn't require MSVS activation).
- Fix for receiving data over payload channel.
- Support thread initializer function for worker threads, can be used for pinning worker threads to CPU cores.
- Significant worker communication optimizations (especially latency).
- Switch from file descriptors to function calls when communicating with worker.
- Various optimizations that caused minor breaking changes to public API.
- Requests no longer have internal timeout, but they can now be cancelled, add your own timeouts on top if needed.
- Windows support.
- General mediasoup changes:
- Replaces GYP build system with fully-functional Meson build system (PR #622).
Consumer
: Modification of bitrate allocation algorithm (PR #708).- Single H264/H265 codec configuration in
supportedRtpCapabilities
(PR #718).
- Fix types for
round_trip_time
andbitrate_by_layer
fieldsProducerStat
andConsumerStat
. - Accumulation of worker fixes.
- Add Active Speaker Observer to prelude.
- Fix consumers preventing producers from being closed (regression introduced in 0.8.3).
- prelude module containing traits and structs that should be sufficient for most basic mediasoup-based apps.
- Dominant Speaker Event (PR #603 by @SteveMcFarlin).
- Support for optional fixed port on transports.
- Add convenience methods for getting information from
TransportTuple
enum, especially local IP/port. - Add
mid
option inConsumerOptions
to provide way to override MID - Add convenience method
ConsumerStats::consumer_stat()
.
NonClosingProducer
removed (usePipedProducer
instead, they were identical).RtpHeaderExtensionUri::as_str()
now takesself
instead of&self
.kind
field ofRtpHeaderExtension
is no longer optional.- Refactor
ScalabilityMode
from being a string to enum, make sure layers are not zero on type system level. - Concrete types for info field of tracing events.
- Thread and memory safety fixes in mediasoup-sys.
- macOS support.
NonClosingProducer
renamed intoPipedProducer
with better docs.- Internal restructuring of modules for better compatibility with IDEs.
- Feature level updated to mediasoup
3.7.6
.
- Switch from running C++ worker processes to worker threads using mediasoup-sys that wraps mediasoup-worker into library.
- Simplify
WorkerManager::new()
andWorkerManager::with_executor()
API as the result of above. - Support
rtxPacketsDiscarded
inProducer
stats. - Enable Rust 2018 idioms warnings.
- Make sure all public types have
Debug
implementation on them. - Enforce docs on public types and add missing documentation.
- Remove
RtpCodecParametersParameters::new()
(RtpCodecParametersParameters::default()
does the same thing).
Initial upstreamed release.