replaceTrack of an enabled track with a disabled one (and vice versa) doesn't work reliably
Categories
(Core :: WebRTC: Signaling, defect, P2)
Tracking
()
People
(Reporter: bwc, Assigned: bwc)
References
Details
(Keywords: regressionwindow-wanted, steps-wanted)
Attachments
(1 file)
2.52 MB,
application/octet-stream
|
Details |
Note this try push:
I've dug into this a bit, and there seem to be multiple problems, but I have not figured how to fix them all.
Firstly, this code only forces black frames if the listener has been disabled due to privacy rules:
It needs to take into account whether mFrame.GetForceBlack() is true also, since that is how frames are "blacked out" for direct listeners:
Additionally, the way we are updating the track does not seem to result in the direct listeners learning anything about whether the new track is enabled or not.
Right now I am classifying this as a webrtc bug, but it might be a bug in MTG.
Updated•5 years ago
|
Comment 1•5 years ago
|
||
Is this a regression? Bug 1608118 was regressed by bug 1601034, so if they're dupes their regression ranges should match.
Comment 2•5 years ago
|
||
Can you provide me with a method to reproduce this issue of yours? I am attempting to find when it was introduced.
Otherwise, can you do that yourself?
https://mozilla.github.io/mozregression/
Thank you for your contribution!
Assignee | ||
Comment 3•5 years ago
|
||
I think this is likely a dupe of bug 1608118. I'll check to see once I'm back in the office.
Assignee | ||
Comment 4•5 years ago
|
||
Ok, bug 1608118 did not fix this. However, it may have been part of the necessary work. I will investigate.
Updated•5 years ago
|
Comment 5•5 years ago
|
||
Hi Byron Campen,
I'm facing the same issue that sometimes replaceTrack is not working. As of now, I have identified one scenario where reproducibility is higher:
For first time user of Firefox, meaning fresh installation of Firefox, for some feature, I've to create the fake audio stream and which is made fakeStream.getTracks()[0].enabled=false as it is fake. And then later in the call, we need to replace the fakeStream's track with whatever we get from microphone. And here, we are facing issue that some times audio track is not being replaced properly and Firefox does not send the audio to farend.
Further, we attached the new audio stream to video element manually to test if new stream is proper or not, we found that audio plays.
For me, it looks like that by replaceTrack, somehow, RTPSender is not able to pick up the audio packets from new streams.
I'm not sure why I'm not facing issue with video fake stream as doing same for video as of audio too.
Attaching logs as NotWorkingFF
Comment 6•5 years ago
|
||
Comment 7•5 years ago
|
||
Comment on attachment 9123649 [details]
NotWorkingFF.log
For testing I usually run "/Applications/Firefox.app/Contents/MacOS/firefox --MOZ_LOG=timestamp,signaling:5,mtransport:5,MediaManager:5,GetUserMedia:4,jsep:5,RtpLogger:5,webrtc_trace:5,VP8TrackEncoder:5,VP8TrackDecoder:5 --MOZ_LOG_FILE=/tmp/ff71.log" , And attached log have the output of this one. If you need anything else I can do that as I can reproduce the issue more often.
Assignee | ||
Comment 8•5 years ago
|
||
Does your use case get any better with the binaries on this try push?
(OS X build here: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/X-ZSApoXRi6cPFdn763RFg/runs/0/artifacts/public/build/target.dmg)
Comment 9•5 years ago
|
||
Sorry to disappoint you that still I'm facing the issue. I used OS X build.
Comment 10•5 years ago
|
||
I am setting this NI to make sure that the issue is addressed. Thank you.
Assignee | ||
Comment 11•5 years ago
|
||
Bug is confirmed, and I'm assigned, so no need for a needinfo.
Assignee | ||
Comment 12•5 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=961003e7508edcba3da3eb2485365c650b7c360d
Comment 13•4 years ago
|
||
Setting the [qa-regression-triage] flag, considering that this bug is assigned and being addressed.
Please provide some sort of steps to reproduce and NI me if this bug needs verification.
Thank you for your contribution!
Assignee | ||
Comment 14•3 years ago
|
||
Assignee | ||
Comment 15•3 years ago
|
||
Assignee | ||
Comment 16•3 years ago
|
||
Updated•2 years ago
|
Description
•