mediadevices/rtpreader.go

31 lines
634 B
Go
Raw Permalink Normal View History

2020-11-02 07:54:53 +08:00
package mediadevices
import (
"github.com/pion/mediadevices/pkg/codec"
"github.com/pion/rtp"
)
2020-11-02 07:54:53 +08:00
type RTPReadCloser interface {
Read() (pkts []*rtp.Packet, release func(), err error)
Close() error
codec.Controllable
2020-11-02 07:54:53 +08:00
}
type rtpReadCloserImpl struct {
readFn func() ([]*rtp.Packet, func(), error)
closeFn func() error
controllerFn func() codec.EncoderController
2020-11-02 07:54:53 +08:00
}
func (r *rtpReadCloserImpl) Read() ([]*rtp.Packet, func(), error) {
return r.readFn()
}
func (r *rtpReadCloserImpl) Close() error {
return r.closeFn()
}
func (r *rtpReadCloserImpl) Controller() codec.EncoderController {
return r.controllerFn()
}