This Issue tracker is only for reporting bugs and tracking code related issues.
Before posting, please make sure you check community.jitsi.org to see if the same or similar bugs have already been discussed. General questions, installation help, and feature requests can also be posted to community.jitsi.org.
Description
I'm debugging a scenario where I'm trying to get lib-jitsi-meet working in a native iOS app and came across this issue. SDPUtils.findLine() returns false if the needle isn't found in the haystack. However, in TraceablePeerConnection.prototype._remoteTrackAdded, the following snippet expects findLine() to return undefined if the line isn't found.
custom Jitsi implementation, iOS 13.5 (using WebRTC M69 wrapped by a Cordova plugin)
NOTE: that we're still trying to solve other issues apart from this that prevents our custom solution from working on iOS since it currently tries to incorrectly use Unified Plan because the library correctly detects it's running on Safari but the underlaying WebRTC implementation is from Chrome M69 which defaults to Plan B.
This Issue tracker is only for reporting bugs and tracking code related issues.
Before posting, please make sure you check community.jitsi.org to see if the same or similar bugs have already been discussed. General questions, installation help, and feature requests can also be posted to community.jitsi.org.
Description
I'm debugging a scenario where I'm trying to get lib-jitsi-meet working in a native iOS app and came across this issue.
SDPUtils.findLine()
returnsfalse
if the needle isn't found in the haystack. However, inTraceablePeerConnection.prototype._remoteTrackAdded
, the following snippet expectsfindLine()
to returnundefined
if the line isn't found.This causes an error instead of just skipping the line in the filter because
false.substring
doesn't exist.Current behavior
SDPUtil.findLine()
returns false if the line isn't found, while at least one of it's usage expects it to returnundefined
instead.Expected Behavior
mediaLines filter function should be checking for
false
instead ofundefined
if the lines aren't found.Possible Solution
The following code should probably be something like this:
Environment details
custom Jitsi implementation, iOS 13.5 (using WebRTC M69 wrapped by a Cordova plugin)
NOTE: that we're still trying to solve other issues apart from this that prevents our custom solution from working on iOS since it currently tries to incorrectly use Unified Plan because the library correctly detects it's running on Safari but the underlaying WebRTC implementation is from Chrome M69 which defaults to Plan B.