This fixes a nasty race condition during media channel establishment. We noticed it in mixer mode using an automated test with all components on a single machine, so it might be due to very tight timing.
In RtpChannel, during the execution of
a media packet from the peer comes in already, indirectly triggering
in another thread.
However, as MediaStreamImpl.started is not yet set to true, this call effectively does not start the outgoing stream, resulting in a one-way media stream.
This could alternatively be fixed by declaring MediaStreamImpl.start/stop/setDirection as "synchronized" in libjitsi.
You can view, comment on, or merge this pull request online at:
-- Commit Summary --
* Synchronize access to stream.
-- File Changes --
M src/main/java/org/jitsi/videobridge/RtpChannel.java (10)
-- Patch Links --
Reply to this email directly or view it on GitHub: