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•11 months 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•11 months 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•11 months ago
|
Comment 3•11 months 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•11 months ago
|
Comment 4•11 months 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•10 months ago
|
Comment 5•10 months 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•10 months ago
|
Comment 7•10 months 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•10 months 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•10 months ago
|
||
| bugherder | ||
Updated•10 months ago
|
Updated•7 months ago
|
Description
•