Worker passed to RTCRtpScriptTransform never receives video frames from the ReadableStream
Categories
(Core :: WebRTC: Audio/Video, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox142 | --- | fixed |
People
(Reporter: clement.brisset, Assigned: clement.brisset, NeedInfo)
Details
Attachments
(1 file)
Steps to reproduce:
I am creating webrtc call using insertable streams:
const pc = (this.pc = new RTCPeerConnection({
bundlePolicy: 'max-bundle',
sdpSemantics: 'unified-plan',
encodedInsertableStreams: true,
}));
and then setting a RTCRtpScriptTransform on each of the transceiver like so:
rtcParticipant.transform = new RTCRtpScriptTransform(this.worker, {});
The worker listens to onrtctransform and installs a TransformStream like so:
self.onrtctransform = (event: RTCTransformEvent) => {
const readable = event.transformer.readable;
const writable = event.transformer.writable;
const transformStream = new TransformStream({transform: transformFrame});
readable.pipeThrough(transformStream).pipeTo(writable);
};
Actual results:
With this setup, when the call start I can see that onrtctransform gets called but transformFrame never receives any video frames
Expected results:
The ReadableStream emits RTCEncodedVideoFramesthat are then passed totransformFrame`
| Assignee | ||
Comment 1•1 year ago
|
||
I managed to track down the problem to a recursive deadlock inside FrameTransformerProxy. I'm about to submit a patch for review
| Assignee | ||
Comment 2•1 year ago
|
||
If there are any frames in mQueue TransformFrame will be called while
holding mMutex. TransformFrame in turn may call IsVideo back on the
proxy which will try to lock mMutex again
Updated•1 year ago
|
Comment 3•1 year ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Audio/Video: Playback' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Updated•1 year ago
|
Comment 4•1 year ago
|
||
The severity field is not set for this bug.
:jimm, could you have a look please?
For more information, please visit BugBot documentation.
Updated•1 year ago
|
Comment 5•1 year ago
|
||
Hey Byron, can we land this at this point? Jib mentioned in the standup it might be good if we had a test.
Updated•1 year ago
|
Comment 7•1 year ago
|
||
There is an r+ patch which didn't land and no activity in this bug for 2 weeks.
:clement.brisset, could you have a look please?
If you still have some work to do, you can add an action "Plan Changes" in Phabricator.
For more information, please visit BugBot documentation.
| Assignee | ||
Comment 8•1 year ago
|
||
Hey Jim, my apologies I did not see the flag for info in my inbox.
What additional information would you like me to provide?
Comment 10•11 months ago
|
||
| bugherder | ||
Updated•11 months ago
|
Updated•9 months ago
|
Description
•