Lukas Herman
c98b3b0909
Enhance driver discovery logging
2020-10-30 17:32:40 -07:00
Lukas Herman
2f5e4ee914
New mediadevices design
...
Changelog:
* Better support for non-webrtc use cases
* Enable multiple readers
* Enhance codec selectors
* Update APIs to reflect on the new v3 webrtc design
* Cleaner APIs
2020-10-30 00:33:55 -07:00
Lukas Herman
70f7360b92
Enhance failed to find driver error message
2020-09-11 12:39:48 -04:00
Lukas Herman
8d7947b594
Fix invalid constraints merging
2020-06-03 11:36:04 -04:00
Atsushi Watanabe
00eca231a7
Select by DeviceID using StringConstraint
2020-05-24 11:15:29 -04:00
Atsushi Watanabe
ecff5e63a5
prop: support ranged/exact/oneof constraints
2020-05-24 10:26:16 +09:00
Lukas Herman
8127ce3be6
Refractor track to be more DRY
...
Resolves https://github.com/pion/mediadevices/issues/141
* Remove newVideoTrack and newAudioTrack
* Add a generic encoderBuilder struct
* Add newVideoEncoderBuilders and newAudioEncoderBuilders helpers
* Update sampler to be functional and add support for audio sampler
* Reduce boilerplates by using closure
2020-04-18 23:51:09 -04:00
Lukas Herman
e091067e8e
Add support for non-discrete constraints
...
Resolves https://github.com/pion/mediadevices/issues/61
* Add a Merge method in prop
* Replace a manual merge in mediadevices in best property selection
with the new Merge method
2020-02-19 21:07:27 -08:00
Atsushi Watanabe
2bac44aa8a
Close drivers on stream initialization failure
...
In GetUserMedia and GetDisplayMedia, driver was left opened if
initialization failure. Since Trackers are not returned on error,
there was no way to close them.
This commit closes Trackers on GetUserMedia/GetDisplayMedia failure.
2020-02-19 20:21:21 -08:00
Atsushi Watanabe
53d55a30e5
Add driver priority information
...
Make system default device selected by default.
2020-02-14 21:08:47 -08:00
Atsushi Watanabe
c501f06326
Add driver.FilterAnd/Not
...
Simplify the logical operations in driver selection.
2020-02-14 12:22:03 -08:00
Lukas Herman
9917591ef4
Add DeviceType to MediaDeviceInfo
2020-02-14 12:22:03 -08:00
Lukas Herman
350fab996e
Exclude screen capture devices from selectVideo
2020-02-14 12:22:03 -08:00
Lukas Herman
ed2323bebc
Add GetDisplayMedia
...
* Add selectScreen to select all registered drivers that can screenshare
* Add GetDisplayMedia
* Add screenshare example
2020-02-14 12:22:03 -08:00
Lukas Herman
46c55deeb4
Change driver registration requirement to have an Info
...
* Move label to Info
* Replace label requirement to be an info
* Replace Label driver method to be an Info method
2020-02-14 12:22:03 -08:00
Atsushi Watanabe
bca254261d
Allow to use user defined Track
...
Add WithTrackGenerator option to specify TrackGenerator.
This allows user to replace Track by user defined one that
has WriteSample() and Codec() interface.
2020-02-12 22:24:32 -08:00
Atsushi Watanabe
99af57a42a
Select media with DeviceID property
2020-02-12 22:24:09 -08:00
Atsushi Watanabe
5653cdf9e8
Implement EnumerateDevices and register all devices
2020-02-12 22:24:09 -08:00
Lukas Herman
c6d0f3ec02
Add custom video/audio transforms
...
Resolves https://github.com/pion/mediadevices/issues/31
2020-02-12 08:17:57 -08:00
Lukas Herman
ec310e566b
Move Codec from MediaTrackConstraints to prop.Codec
2020-02-10 20:07:41 -08:00
Atsushi Watanabe
2fd3907305
Add MediaDevicesFromCodecs
...
Add a constructor directly from lists of codecs.
It makes MediaDevices capable for non-WebRTC purposes
as same as the Web API.
2020-02-09 07:12:04 -08:00
Lukas Herman
aece2b94c6
Refractor, unify some APIs to be more DRY
2020-02-06 22:44:29 -08:00
Lukas Herman
2640f6c1f4
Move all settings to video/audio under io
2020-02-06 22:44:29 -08:00
Lukas Herman
2d9bfcda4d
Remove Kind in favor of type assertion
2020-02-06 22:44:29 -08:00
Lukas Herman
61c0b53c55
Add initial audio support
2020-02-06 22:44:29 -08:00
Lukas Herman
5316a81aec
Add some comments for better godoc
2019-12-28 09:39:31 -08:00
Lukas Herman
53244f8b27
Expose Tracker and Manager types for better godoc
2019-12-28 09:39:31 -08:00
Lukas Herman
ec58fac1e7
Rename Spec to Setting
2019-12-28 09:39:31 -08:00
Lukas Herman
5679e3c0d7
Add SelectSettings algorithm and Codec to video constraints
2019-12-28 09:39:31 -08:00
Lukas Herman
9dbe3bfb9a
Move reusable packages into pkg
2019-12-25 16:13:37 -08:00
Lukas Herman
417491ec95
Clean up driver's interfaces
2019-12-25 16:13:37 -08:00
Lukas Herman
709e56166f
Completely rearchitect the overall project structure
2019-12-25 16:13:37 -08:00
Lukas Herman
b8b30bd7eb
Initial commit
...
Resolves #1
2019-12-04 21:58:39 -08:00