func (f RTCPReaderFunc) Read(b []byte, a Attributes) (int, Attributes, error) {
	return f(b, a)
}
Read a batch of rtcp packets
package interceptor
import (
	"io"
	"github.com/pion/rtcp"
	"github.com/pion/rtp"
)
type Factory interface {
	NewInterceptor(id string) (Interceptor, error)
}
type Interceptor interface {
	BindRTCPReader(reader RTCPReader) RTCPReader
	BindRTCPWriter(writer RTCPWriter) RTCPWriter
	BindLocalStream(info *StreamInfo, writer RTPWriter) RTPWriter
	UnbindLocalStream(info *StreamInfo)
	BindRemoteStream(info *StreamInfo, reader RTPReader) RTPReader
	UnbindRemoteStream(info *StreamInfo)
	io.Closer
}
type RTPWriter interface {
	Write(header *rtp.Header, payload []byte, attributes Attributes) (int, error)
}
type RTPReader interface {
	Read([]byte, Attributes) (int, Attributes, error)
}
type RTCPWriter interface {
	Write(pkts []rtcp.Packet, attributes Attributes) (int, error)
}
type RTCPReader interface {
	Read([]byte, Attributes) (int, Attributes, error)
}
type Attributes map[interface{}]interface{}
type RTPWriterFunc func(header *rtp.Header, payload []byte, attributes Attributes) (int, error)
type RTPReaderFunc func([]byte, Attributes) (int, Attributes, error)
type RTCPWriterFunc func(pkts []rtcp.Packet, attributes Attributes) (int, error)
type RTCPReaderFunc func([]byte, Attributes) (int, Attributes, error)
func (f RTPWriterFunc) Write(header *rtp.Header, payload []byte, attributes Attributes) (int, error) {
	return f(header, payload, attributes)
}
func (f RTPReaderFunc) Read(b []byte, a Attributes) (int, Attributes, error) {
	return f(b, a)
}
func (f RTCPWriterFunc) Write(pkts []rtcp.Packet, attributes Attributes) (int, error) {
	return f(pkts, attributes)
}