-
Notifications
You must be signed in to change notification settings - Fork 115
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
Attempt to update RTCRtpContributingSource objects at playout time. #1098
Conversation
I would like someone that has been involved in the discussion about CSRC to review. |
As I said on the call, I believe this is a slippery slope that we will regret, since in general we have no control over when any MST will play out; it may be duplicated, sent elsewhere, delayed via other APIs, etc. I'm not going to officially object since I don't have a good alternative to propose, but I reserve the right to say 'I told you so' :) |
I understand the concern. Maybe calling it "playout time" is the mistake, but what we ultimately need is some well-defined, post-jitter-buffer point of time, which the application has a way of correlating to playout time. Even if the application does something with the MediaStreamTrack that introduces extra delay, the original problem is solved as long as the application has a way of estimating the additional delay and factoring it in when updating its audio level UI. |
We may get implementor feedback on this item, but it clearly reflects WG consensus. |
Fixes w3c#1085. May not be the correct terminology, but the intention is that the contributing source objects are updated at playout time, such that if an application is using them to drive an audio level UI, that UI will be in sync with the audio played out by the browser.
7f381f0
to
81705d4
Compare
Merge conflicts resolved. |
What is the motivation of accessing audioLevel on the getContributingSources (I suppose this is the value from the RtpHeader extension instead of the actual audio level). Clarifying: are we adding audioLevel to both the webrtc-pc and webrtc-stats APIs? I feel in this case, having the audio levels accessible in two places is just confusing. |
For CSRCs, it's the value from the RFC6465 extension, yes. The motivation is that applications may want information about the speakers contributing to a mixed audio stream, which may be reflected in the application's UI. The original reason to put the API on And I suggested adding the contributing sources to |
Fixes #1085.
May not be the correct terminology, but the intention is that the
contributing source objects are updated at playout time, such that if
an application is using them to drive an audio level UI, that UI will be
in sync with the audio played out by the browser.