React Native WebRTC Kit 2020.3.0 リリース

SUZUKI Tetsuya
shiguredo
Published in
2 min readApr 28, 2020

React Native WebRTC Kit 2020.3.0 をリリースしました。

https://github.com/shiguredo/react-native-webrtc-kit

今回は @enm10k と @kdxu の両氏(敬称略)にご協力いただきました。ありがとうございました。

主な変更点

今回の主な変更点は2つあります。いずれも大きな変更です。

  • データチャネル (Data Channel) に対応した by @kdxu
  • (Android) onremovetrack イベントハンドラに対応した by @enm10k

データチャネル

これまで対応予定のなかったデータチャネルでしたが、 Sora が実装しましたので対応しました。映像と音声を継続的に送受信するメディアチャネルに対して、データチャネルは任意のデータを任意のタイミングで送受信する機能です。

一つ面倒だったのは (と言っても苦労したのは私ではありませんが) 、データチャネルの API も iOS と Android で異なることです。プラットフォーム的に実現不可能な機能があるのではなく、 libwebrtc の実装のサボりっぽかったり、特にブラウザの API に近づけようという目標もなさそうです。

(Android) onremovetrack イベントハンドラ

クライアントが接続解除するなどで RTCPeerConnection からトラックが外された際に呼ばれるイベントハンドラに onremovetrack があります (ブラウザ API では MediaStream のプロパティですが、本ライブラリでは libwebrtc の都合により RTCPeerConnection のプロパティです) 。特にマルチストリームで重要なイベントハンドラなのですが、実は libwebrtc Android 版ではサポートされておらず、 Sora Android SDK でも悩みの種の一つになっています。ソースコードを確認するとどうも実装をサボっているだけのようなので、メンテナンスコストの節制を諦めてパッチを用意しました。 Sora Android SDK でも追って対応する予定です。

以上です。

--

--