mirror of
https://github.com/pion/mediadevices.git
synced 2025-09-27 04:46:10 +08:00
Enhance driver discovery logging
This commit is contained in:
1
go.mod
1
go.mod
@@ -6,6 +6,7 @@ require (
|
|||||||
github.com/blackjack/webcam v0.0.0-20200313125108-10ed912a8539
|
github.com/blackjack/webcam v0.0.0-20200313125108-10ed912a8539
|
||||||
github.com/jfreymuth/pulse v0.0.0-20201014123913-1e525c426c93
|
github.com/jfreymuth/pulse v0.0.0-20201014123913-1e525c426c93
|
||||||
github.com/lherman-cs/opus v0.0.2
|
github.com/lherman-cs/opus v0.0.2
|
||||||
|
github.com/pion/logging v0.2.2
|
||||||
github.com/pion/webrtc/v2 v2.2.26
|
github.com/pion/webrtc/v2 v2.2.26
|
||||||
github.com/satori/go.uuid v1.2.0
|
github.com/satori/go.uuid v1.2.0
|
||||||
golang.org/x/image v0.0.0-20200927104501-e162460cd6b5
|
golang.org/x/image v0.0.0-20200927104501-e162460cd6b5
|
||||||
|
11
internal/logging/logging.go
Normal file
11
internal/logging/logging.go
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
package logging
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/pion/logging"
|
||||||
|
)
|
||||||
|
|
||||||
|
var loggerFactory = logging.NewDefaultLoggerFactory()
|
||||||
|
|
||||||
|
func NewLogger(scope string) logging.LeveledLogger {
|
||||||
|
return loggerFactory.NewLogger(scope)
|
||||||
|
}
|
7
logging.go
Normal file
7
logging.go
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
package mediadevices
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/pion/mediadevices/internal/logging"
|
||||||
|
)
|
||||||
|
|
||||||
|
var logger = logging.NewLogger("mediadevices")
|
@@ -120,12 +120,15 @@ func queryDriverProperties(filter driver.FilterFn) map[driver.Driver][]prop.Medi
|
|||||||
func selectBestDriver(filter driver.FilterFn, constraints MediaTrackConstraints) (driver.Driver, MediaTrackConstraints, error) {
|
func selectBestDriver(filter driver.FilterFn, constraints MediaTrackConstraints) (driver.Driver, MediaTrackConstraints, error) {
|
||||||
var bestDriver driver.Driver
|
var bestDriver driver.Driver
|
||||||
var bestProp prop.Media
|
var bestProp prop.Media
|
||||||
|
var foundPropertiesLog []string
|
||||||
minFitnessDist := math.Inf(1)
|
minFitnessDist := math.Inf(1)
|
||||||
|
|
||||||
|
foundPropertiesLog = append(foundPropertiesLog, "\n============ Found Properties ============")
|
||||||
driverProperties := queryDriverProperties(filter)
|
driverProperties := queryDriverProperties(filter)
|
||||||
for d, props := range driverProperties {
|
for d, props := range driverProperties {
|
||||||
priority := float64(d.Info().Priority)
|
priority := float64(d.Info().Priority)
|
||||||
for _, p := range props {
|
for _, p := range props {
|
||||||
|
foundPropertiesLog = append(foundPropertiesLog, p.String())
|
||||||
fitnessDist, ok := constraints.MediaConstraints.FitnessDistance(p)
|
fitnessDist, ok := constraints.MediaConstraints.FitnessDistance(p)
|
||||||
if !ok {
|
if !ok {
|
||||||
continue
|
continue
|
||||||
@@ -139,26 +142,18 @@ func selectBestDriver(filter driver.FilterFn, constraints MediaTrackConstraints)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foundPropertiesLog = append(foundPropertiesLog, "=============== Constraints ==============")
|
||||||
|
foundPropertiesLog = append(foundPropertiesLog, constraints.String())
|
||||||
|
foundPropertiesLog = append(foundPropertiesLog, "================ Best Fit ================")
|
||||||
|
|
||||||
if bestDriver == nil {
|
if bestDriver == nil {
|
||||||
var foundProperties []string
|
foundPropertiesLog = append(foundPropertiesLog, "Not found")
|
||||||
for _, props := range driverProperties {
|
logger.Debug(strings.Join(foundPropertiesLog, "\n\n"))
|
||||||
for _, p := range props {
|
return nil, MediaTrackConstraints{}, errNotFound
|
||||||
foundProperties = append(foundProperties, fmt.Sprint(&p))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
err := fmt.Errorf(`%w:
|
|
||||||
============ Found Properties ============
|
|
||||||
|
|
||||||
%s
|
|
||||||
|
|
||||||
=============== Constraints ==============
|
|
||||||
|
|
||||||
%s
|
|
||||||
`, errNotFound, strings.Join(foundProperties, "\n\n"), &constraints)
|
|
||||||
return nil, MediaTrackConstraints{}, err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foundPropertiesLog = append(foundPropertiesLog, bestProp.String())
|
||||||
|
logger.Debug(strings.Join(foundPropertiesLog, "\n\n"))
|
||||||
constraints.selectedMedia = prop.Media{}
|
constraints.selectedMedia = prop.Media{}
|
||||||
constraints.selectedMedia.MergeConstraints(constraints.MediaConstraints)
|
constraints.selectedMedia.MergeConstraints(constraints.MediaConstraints)
|
||||||
constraints.selectedMedia.Merge(bestProp)
|
constraints.selectedMedia.Merge(bestProp)
|
||||||
|
Reference in New Issue
Block a user