mirror of
https://github.com/pion/mediadevices.git
synced 2025-10-05 00:32:44 +08:00
47 lines
918 B
Go
47 lines
918 B
Go
package driver
|
|
|
|
import (
|
|
"github.com/pion/mediadevices/pkg/io/audio"
|
|
"github.com/pion/mediadevices/pkg/io/video"
|
|
"github.com/pion/mediadevices/pkg/prop"
|
|
)
|
|
|
|
type VideoRecorder interface {
|
|
VideoRecord(p prop.Media) (r video.Reader, err error)
|
|
}
|
|
|
|
type AudioRecorder interface {
|
|
AudioRecord(p prop.Media) (r audio.Reader, err error)
|
|
}
|
|
|
|
// Priority represents device selection priority level
|
|
type Priority float32
|
|
|
|
const (
|
|
// PriorityHigh is a value for system default devices
|
|
PriorityHigh Priority = 0.1
|
|
// PriorityNormal is a value for normal devices
|
|
PriorityNormal Priority = 0.0
|
|
// PriorityLow is a value for unrecommended devices
|
|
PriorityLow Priority = -0.1
|
|
)
|
|
|
|
type Info struct {
|
|
Label string
|
|
DeviceType DeviceType
|
|
Priority Priority
|
|
}
|
|
|
|
type Adapter interface {
|
|
Open() error
|
|
Close() error
|
|
Properties() []prop.Media
|
|
}
|
|
|
|
type Driver interface {
|
|
Adapter
|
|
ID() string
|
|
Info() Info
|
|
Status() State
|
|
}
|