-
Notifications
You must be signed in to change notification settings - Fork 177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix background audio setting & mic-only device support #11939
Conversation
audio: audioInput && hasAudio ? { deviceId: audioInput } : true, | ||
video: videoInput && hasVideo ? { deviceId: videoInput } : true, | ||
audio: hasAudio ? (audioInput ? { deviceId: audioInput } : true) : false, | ||
video: hasVideo ? (videoInput ? { deviceId: videoInput } : true) : false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the mic-only device we need to request a device with video: false
- we do that when one of the errors occurs.
Size Change: +136 B (0%) Total Size: 2.65 MB
ℹ️ View Unchanged
|
Plugin builds for 5beefd2 are ready 🛎️!
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems to work well.
if ( | ||
error?.name === 'NotFoundError' || | ||
error?.name === 'NotReadableError' || | ||
error?.name === 'OverConstrainedError' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIRC in some browsers this error can occur even when the user has not yet granted permission, so I hope this does not cause any issue in some edge cases. Just noting it here for visibility.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven't seen it anywhere, for me, it always looks like this:
#11939 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately I don't think I have a way to test this, but the change looks reasonable.
Just one nit
This is what it looks like when you don't have a camera, only a mic (double-checked now on W10 Edge/FF/Opera). While the message is correct (No camera found) maybe we can add something about the audio-only option if they grant mic permissions? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Also tried it out by setting the error in code directly, seems to work well like that.
Audio is added only to the page that is selected. If I clone this page, audio is cloned. If I add a new page, no audio is added to it. And if I have multiple pages and I record an audio, only the selected page has the audio linked to it. |
Summary
This PR fixes two issues with Background Audio:
#11921
#11920
Mic-only support:
If you have a device without a built-in camera please test this PR. You can also attach the camera and check edge cases - I did a bunch of testing with or without resetting the permissions at different stages of the process.
The worst thing that can happen is you start a fresh session (after perms reset) and grant audio-only permission and then attach the camera - you will have to reload the page for the camera permission popup.
Relevant Technical Choices
To-do
User-facing changes
Testing Instructions
This PR can be tested by following these steps:
Reviews
Does this PR have a security-related impact?
Does this PR change what data or activity we track or use?
Does this PR have a legal-related impact?
Checklist
Type: XYZ
label to the PRFixes #11921
Fixes #11920