Skip to content

Releases: elixir-webrtc/ex_webrtc

v0.14.0

29 May 10:30
Compare
Choose a tag to compare
  • [BREAKING] - So far, RTPReceiver was always expecting to receive a single codec i.e. a single payload type. When it received RTP packet with the same SSRC but different payload type, it was forwarding this packet to the user but it was also logging this fact as a warning. Right now, RTPReceiver can receive any codec from the list of transceiver's codecs. This also means, that the meaning of the codec field in RTPTransceiver struct changed its meaning - now it is a codec whose clock rate was used to initialize RTCP report generators. To see the list of all supported (by RTPReceiver) codecs, check RTPTransceiver codecs field.

What's Changed

New Contributors

Full Changelog: v0.13.0...v0.14.0

v0.13.0

18 Apr 17:04
Compare
Choose a tag to compare

What's Changed

  • Add support for opus in RTP munger by @mickel8 in #211
  • Migrate to new ExDTLS version that supports cert fragmentation by @mickel8 in #213

Full Changelog: v0.12.0...v0.13.0

v0.12.0

19 Mar 14:48
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.11.0...v0.12.0

v0.11.0

18 Mar 14:52
Compare
Choose a tag to compare

What's Changed

  • Dynamically determine ICE agent's role by @mickel8 in #205
  • Allow passing names of default codecs by @sgfn in #204
  • Accept padded DataChannelAck, fix closing DataChannel by @mickel8 in #207
  • Expose ice_aggressive_nomination option by @mickel8 in #208

Full Changelog: v0.10.0...v0.11.0

v0.10.0

06 Mar 11:04
Compare
Choose a tag to compare
  • [BREAKING] - PeerConnection process no longer terminates after moving to the failed state. From now on, it's user responsibility to decide when to terminate PeerConnection process. This was introduced to make it possible to gather statistics when the connection fails. It also makes it possible to perform ICE restart. For better explanation see: #202

    An example code that closes both PC and the controlling process (assuming they are linked) when the PC moves to the failed state could look like this:

      defp handle_webrtc_msg({:connection_state_change, conn_state}, state) do
        Logger.info("Connection state changed: #{conn_state}")
    
        if conn_state == :failed do
          # shutdown will bring PeerConnection process down if it is linked to **this** process
          {:stop, {:shutdown, :pc_failed}, state}
        else
          {:ok, state}
        end
      end

    Check #202 to see how we migrated our examples!

  • Candidates are no longer removed from PeerConnection stats when their sockets are closed, pairs that use them fail, or ICE moves to the completed state. So far, we have been clearing ICE Agent from candidates when they were no longer needed. From now on, they will remain in stats until PeerConnection process is closed so it's possible to debug ICE connectivity issues

What's Changed

  • Don't terminate PeerConnection after moving to the failed state by @mickel8 in #202
  • Add candidate pairs stats by @mickel8 in #203

Full Changelog: v0.9.0...v0.10.0

v0.9.0

06 Mar 09:40
Compare
Choose a tag to compare

What's Changed

  • Add support for VP8 simulcast by @mickel8 in #198
  • Extract recorder to separate package by @sgfn in #199
  • feat: Add data_type configuration to PeerConnection.send_data by @SamWolfs in #200

New Contributors

Full Changelog: v0.8.1...v0.9.0

v0.8.1

12 Feb 11:02
4cebfd8
Compare
Choose a tag to compare

What's Changed

  • Fix typo by @Philzen in #193
  • Fix recorder overriding tracks instead of merging on add_tracks. Release 0.8.1 by @sgfn in #195

New Contributors

Full Changelog: v0.8.0...v0.8.1

v0.8.0

07 Feb 17:05
Compare
Choose a tag to compare

[BREAKING] PeerConnection now compares FMTP when negotiating codecs. If sdp_fmtp_line in RTPCodecParameters is nil, FMTP comparision always passes.

MID RTP header extension is no longer required - see d74a937

What's Changed

New Contributors

Full Changelog: v0.7.0...v0.8.0

v0.7.0

02 Dec 16:30
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.6.3...v0.7.0

v0.6.3

18 Nov 11:54
Compare
Choose a tag to compare

Add G711 payloader and depayloader (support for audio/PCMA and audio/PCMU)