Aiortc

Latest version: v1.11.0

Safety actively analyzes 722032 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 7 of 9

0.9.10

------

Peer connection
...............

* Send `raddr` and `rport` parameters for server reflexive and relayed candidates.
This is required for Firefox to accept our STUN / TURN candidates.
* Do not raise an exception if ICE or DTLS connection fails, just change state.

Media
.....

* Revert to using asyncio's `run_in_executor` to send data to the encoder, it greatly
reduces the response time.
* Adjust package requirements to accept PyAV < 7.0.0.

Examples
........

* `webcam` : force Chrome to use "unified-plan" semantics to enabled `addTransceiver`.
* :class:`~aiortc.contrib.media.MediaPlayer` : don't sleep at all when playing from webcam.
This eliminates the constant one-second lag in the `webcam` demo.

0.9.9

-----

.. warning::

`aiortc` now uses PyAV's :class:`~av.audio.frame.AudioFrame` and
:class:`~av.video.frame.VideoFrame` classes instead of defining its own.

Media
.....

* Use a jitter buffer for incoming audio.
* Add :meth:`RTCPeerConnection.addTransceiver` method.
* Add :attr:`RTCRtpTransceiver.direction` to manage transceiver direction.

Examples
........

* `apprtc` : demonstrate the use of :class:`~aiortc.contrib.media.MediaPlayer`
and :class:`~aiortc.contrib.media.MediaRecorder`.
* `webcam` : new examples illustrating sending video from a webcam to a browser.
* :class:`~aiortc.contrib.media.MediaPlayer` : don't sleep if a frame lacks timing information.
* :class:`~aiortc.contrib.media.MediaPlayer` : remove `start()` and `stop()` methods.
* :class:`~aiortc.contrib.media.MediaRecorder` : use `libx264` for encoding.
* :class:`~aiortc.contrib.media.MediaRecorder` : make `start()` and `stop()` coroutines.

0.9.8

-----

Media
.....

* Add support for H.264 video, a big thank you to dsvictor94!
* Add support for sending Receiver Estimate Maximum Bitrate (REMB) feedback.
* Add support for parsing / serializing more RTP header extensions.
* Move each media encoder / decoder its one thread instead of using a
thread pool.

Statistics
..........

* Add the :meth:`RTCPeerConnection.getStats()` coroutine to retrieve statistics.
* Add initial :class:`RTCTransportStats` to report transport statistics.

Examples
........

* Add new :class:`~aiortc.contrib.media.MediaPlayer` class to read audio / video from a file.
* Add new :class:`~aiortc.contrib.media.MediaRecorder` class to write audio / video to a file.
* Add new :class:`~aiortc.contrib.media.MediaBlackhole` class to discard audio / video.

0.9.7

-----

Media
.....

* Make RemoteStreamTrack emit an "ended" event, to simplify shutting down
media consumers.
* Add RemoteStreamTrack.readyState property.
* Handle timestamp wraparound on sent RTP packets.

Packaging
.........

* Add a versioned dependency on cffi>=1.0.0 to fix Raspberry Pi builds.

0.9.6

-----

Data channels
.............

* Optimize reception for improved latency and throughput.

Media
.....

* Add initial :meth:`RTCRtpReceiver.getStats()` and :meth:`RTCRtpReceiver.getStats()` coroutines.

Examples
........

* `datachannel-cli`: display ping/pong roundtrip time.

0.9.5

-----

Media
.....

* Make it possible to add multiple audio or video streams.

* Implement basic RTP video packet loss detection / retransmission using RTCP NACK feedback.

* Respond to Picture Loss Indications (PLI) by sending a keyframe.

* Use shorter MID values to reduce RTP header extension overhead.

* Correctly shutdown and discard unused transports when using BUNDLE.

Examples
........

* `server` : make it possible to save received video to an AVI file.

Page 7 of 9

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.