Comments (4)
WebKit also implements getCapabilities, although we are not opposed to removing the API.
Not all of the WPT tests pass because the mock capture devices only report a subset of all possible capabilities (audio, video, and screen).
from mediacapture-extensions.
That API is also a trove of fingerprinting information.
But only after the web page starts capturing, so this does not happen for most web pages.
I think it would make more sense to restrict enumerateDevices so that it would only list devices that have been used and not all devices. Once a device has been used, this information is provided at the MediaStreamTrack level and can be stored by the page anyway.
This is inline with w3c/mediacapture-main#640.
Note also that there is some interest for discovery of audio input/output capabilities in the audio WG/audio WG latest charter.
from mediacapture-extensions.
That API is also a trove of fingerprinting information.
But only after the web page starts capturing, so this does not happen for most web pages.
Right, that's all we're talking about. We already did w3c/mediacapture-main#632.
I think it would make more sense to restrict enumerateDevices so that it would only list devices that have been used and not all devices.
How would that "allow a site to enforce its constraints while building a picker"?
from mediacapture-extensions.
If the device was used in the past, the web page was able to grab the capabilities from the track and store them. We can therefore expose getCapabilities to any device that was used in the past from the last reset ID event, without any additional fingerprinting exposure. This seems like a handy mechanism to me.
The only case is those devices that have not been used in the past. We could decide for getCapabilities to return an empty object to keep it privacy neutral but we would loose some functionality in how web pages can discover the user setup.
I am hesitant to break this functionality.
In general, I do not really like web pages to craft very complex getUserMedia constraints to express what they need (and at the end maybe fail to have it in an interoperable way).
It seems live providing some information of the user setup after a user prompt is ok.
from mediacapture-extensions.
Related Issues (20)
- [Track Stats API] Rephrase sentence on when to update internal slots HOT 14
- [Track Stats API] Rename deliveredFrames to deliverableFrames HOT 2
- [Track Stats API] SameObject is a confusing API shape HOT 23
- [Track Stats API] When to initialize frame counting HOT 3
- Should web applications be aware of reaction effects added by OS to camera feeds? HOT 17
- [Audio Stats] Add current latency HOT 2
- Background Blur: Unprocessed video should be mandatory to support HOT 8
- [Track Stats API] Make stats attribute nullable instead of throwing when unsupported HOT 2
- [Stats] Example uses ratio, not percentage
- [Audio Stats] Add average, min and max latency HOT 5
- [Audio Stats] Disagreement about audio dropped counters HOT 19
- volume is not working HOT 1
- Move MediaStreamTrack stats in its own spec? HOT 10
- Clarify how `track.stats.resetLatency()` relates to run-to-completion semantics HOT 1
- https://w3c.github.io/mediacapture-extensions/#transferable-mediastreamtrack should talk about the MediaStreamTrack's application-set content hint
- Moving the source of a track HOT 1
- Should we add reasons to MediaStreamTrack.onended HOT 4
- Add a blackFrames counter to MediaStreamTrackVideoStats HOT 7
- Consider adding onVoiceActivity event on MediaStreamTrack for audio HOT 3
- How to select camera presets that have better power efficiency at the expense of quality? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mediacapture-extensions.