mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
clipboard sync and some minor fixes
This commit is contained in:
@ -8,8 +8,22 @@ import (
|
||||
"github.com/rs/zerolog"
|
||||
)
|
||||
|
||||
type nulllog struct{}
|
||||
|
||||
func (l nulllog) Trace(msg string) {}
|
||||
func (l nulllog) Tracef(format string, args ...interface{}) {}
|
||||
func (l nulllog) Debug(msg string) {}
|
||||
func (l nulllog) Debugf(format string, args ...interface{}) {}
|
||||
func (l nulllog) Info(msg string) {}
|
||||
func (l nulllog) Infof(format string, args ...interface{}) {}
|
||||
func (l nulllog) Warn(msg string) {}
|
||||
func (l nulllog) Warnf(format string, args ...interface{}) {}
|
||||
func (l nulllog) Error(msg string) {}
|
||||
func (l nulllog) Errorf(format string, args ...interface{}) {}
|
||||
|
||||
type logger struct {
|
||||
logger zerolog.Logger
|
||||
logger zerolog.Logger
|
||||
subsystem string
|
||||
}
|
||||
|
||||
func (l logger) Trace(msg string) { l.logger.Trace().Msg(msg) }
|
||||
@ -18,16 +32,18 @@ func (l logger) Debug(msg string) { l.logger.Debug().Ms
|
||||
func (l logger) Debugf(format string, args ...interface{}) { l.logger.Debug().Msgf(format, args...) }
|
||||
func (l logger) Info(msg string) {
|
||||
if strings.Contains(msg, "packetio.Buffer is full") {
|
||||
l.logger.Panic().Msg(msg)
|
||||
//l.logger.Panic().Msg(msg)
|
||||
return
|
||||
}
|
||||
l.logger.Info().Msg(msg)
|
||||
}
|
||||
func (l logger) Infof(format string, args ...interface{}) {
|
||||
msg := fmt.Sprintf(format, args...)
|
||||
if strings.Contains(msg, "packetio.Buffer is full") {
|
||||
l.logger.Panic().Msg(msg)
|
||||
// l.logger.Panic().Msg(msg)
|
||||
return
|
||||
}
|
||||
l.logger.Info().Msgf(format, args...)
|
||||
l.logger.Info().Msg(msg)
|
||||
}
|
||||
func (l logger) Warn(msg string) { l.logger.Warn().Msg(msg) }
|
||||
func (l logger) Warnf(format string, args ...interface{}) { l.logger.Warn().Msgf(format, args...) }
|
||||
@ -39,7 +55,12 @@ type loggerFactory struct {
|
||||
}
|
||||
|
||||
func (l loggerFactory) NewLogger(subsystem string) logging.LeveledLogger {
|
||||
if subsystem == "sctp" {
|
||||
return nulllog{}
|
||||
}
|
||||
|
||||
return logger{
|
||||
logger: l.logger.With().Str("subsystem", subsystem).Logger(),
|
||||
subsystem: subsystem,
|
||||
logger: l.logger.With().Str("subsystem", subsystem).Logger(),
|
||||
}
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ func (m *WebRTCManager) createVideoTrack(engine webrtc.MediaEngine) (*webrtc.Tra
|
||||
}
|
||||
|
||||
if codec == nil || codec.PayloadType == 0 {
|
||||
return nil, fmt.Errorf("remote peer does not support %s", m.videoPipeline.CodecName)
|
||||
return nil, fmt.Errorf("remote peer does not support video codec %s", m.videoPipeline.CodecName)
|
||||
}
|
||||
|
||||
return webrtc.NewTrack(codec.PayloadType, rand.Uint32(), "stream", "stream", codec)
|
||||
@ -33,7 +33,7 @@ func (m *WebRTCManager) createAudioTrack(engine webrtc.MediaEngine) (*webrtc.Tra
|
||||
}
|
||||
|
||||
if codec == nil || codec.PayloadType == 0 {
|
||||
return nil, fmt.Errorf("remote peer does not support %s", m.audioPipeline.CodecName)
|
||||
return nil, fmt.Errorf("remote peer does not support audio codec %s", m.audioPipeline.CodecName)
|
||||
}
|
||||
|
||||
return webrtc.NewTrack(codec.PayloadType, rand.Uint32(), "stream", "stream", codec)
|
||||
|
@ -133,32 +133,32 @@ func (m *WebRTCManager) Shutdown() error {
|
||||
}
|
||||
|
||||
func (m *WebRTCManager) CreatePeer(id string, sdp string) (string, types.Peer, error) {
|
||||
// create SessionDescription
|
||||
// Create SessionDescription
|
||||
description := webrtc.SessionDescription{
|
||||
SDP: sdp,
|
||||
Type: webrtc.SDPTypeOffer,
|
||||
}
|
||||
|
||||
// create MediaEngine based off sdp
|
||||
// Create MediaEngine based off sdp
|
||||
engine := webrtc.MediaEngine{}
|
||||
engine.PopulateFromSDP(description)
|
||||
|
||||
// create API with MediaEngine and SettingEngine
|
||||
// Create API with MediaEngine and SettingEngine
|
||||
api := webrtc.NewAPI(webrtc.WithMediaEngine(engine), webrtc.WithSettingEngine(m.setings))
|
||||
|
||||
// create new peer connection
|
||||
// Create new peer connection
|
||||
connection, err := api.NewPeerConnection(*m.configuration)
|
||||
if err != nil {
|
||||
return "", nil, err
|
||||
}
|
||||
|
||||
// create video track
|
||||
// Create video track
|
||||
video, err := m.createVideoTrack(engine)
|
||||
if err != nil {
|
||||
return "", nil, err
|
||||
}
|
||||
|
||||
videoTransceiver, err := connection.AddTransceiverFromTrack(video, webrtc.RtpTransceiverInit{
|
||||
_, err = connection.AddTransceiverFromTrack(video, webrtc.RtpTransceiverInit{
|
||||
Direction: webrtc.RTPTransceiverDirectionSendonly,
|
||||
})
|
||||
|
||||
@ -166,13 +166,13 @@ func (m *WebRTCManager) CreatePeer(id string, sdp string) (string, types.Peer, e
|
||||
return "", nil, err
|
||||
}
|
||||
|
||||
// create audio track
|
||||
// Create audio track
|
||||
audio, err := m.createAudioTrack(engine)
|
||||
if err != nil {
|
||||
return "", nil, err
|
||||
}
|
||||
|
||||
audioTransceiver, err := connection.AddTransceiverFromTrack(audio, webrtc.RtpTransceiverInit{
|
||||
_, err = connection.AddTransceiverFromTrack(audio, webrtc.RtpTransceiverInit{
|
||||
Direction: webrtc.RTPTransceiverDirectionSendonly,
|
||||
})
|
||||
|
||||
@ -182,15 +182,25 @@ func (m *WebRTCManager) CreatePeer(id string, sdp string) (string, types.Peer, e
|
||||
|
||||
// clear the Transceiver bufers
|
||||
go func() {
|
||||
for {
|
||||
if _, err := audioTransceiver.Sender.ReadRTCP(); err != nil {
|
||||
return
|
||||
}
|
||||
defer func() {
|
||||
m.logger.Warn().Msgf("ReadRTCP shutting down")
|
||||
}()
|
||||
|
||||
if _, err = videoTransceiver.Sender.ReadRTCP(); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
/*
|
||||
for {
|
||||
packet, err := videoTransceiver.Sender.ReadRTCP()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
m.logger.Debug().Msgf("vReadRTCP %v", packet)
|
||||
|
||||
packet, err = audioTransceiver.Sender.ReadRTCP()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
m.logger.Debug().Msgf("aReadRTCP %v", packet)
|
||||
}
|
||||
*/
|
||||
}()
|
||||
|
||||
// set remote description
|
||||
|
Reference in New Issue
Block a user