LoginSignup
3
1

More than 3 years have passed since last update.

webRTCでtrackイベントが発火したからと言って安心してはいけない

Posted at

TL;DR;

  • webRTCはtrackイベントが発火して終わりではない
  • connectionstateがconnectedになるまではシグナリングし続ける必要あり

trackで終わりではない

大体のwebRTCのサンプルを見ると、大体ontrackに設定した関数が呼び出されて、
MediaStreamが取れればめでたしめでたしといった感じになっています。

映像を映す分にはこれでOKなのですが、シグナリングのためのDB監視やwebSocket接続を
リソース管理を効率的に行おうとしてその場で切断しようとすると面倒なことになる場合があります。

時間がかかるパターンのみ引っかかるという厄介なケース

同一LAN内での接続や、STUNサーバーを利用したパターンなどでは
onTrac後即シグナリングをやめても大体問題ありませんが、TURNサーバーを使ったケースではほとんど繋がりません。
(まったくつながらないわけではないという一番いやなパターンです)

基本的に、connectionstateがconnectedになるまではシグナリングの継続は必須です。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1