Archived
2
0

removes small lags from video live streamings

This commit is contained in:
Marcel Battista
2021-02-28 23:12:03 +00:00
parent c410134c7d
commit 9c3d441d16
2 changed files with 29 additions and 4 deletions

View File

@ -146,11 +146,13 @@ func (manager *WebRTCManager) CreatePeer(id string, session types.Session) (stri
Msg("connection state has changed")
})
if _, err = connection.AddTrack(manager.videoTrack); err != nil {
rtpVideo, err := connection.AddTrack(manager.videoTrack);
if err != nil {
return "", manager.config.ICELite, manager.config.ICEServers, err
}
if _, err = connection.AddTrack(manager.audioTrack); err != nil {
rtpAudio, err := connection.AddTrack(manager.audioTrack);
if err != nil {
return "", manager.config.ICELite, manager.config.ICEServers, err
}
@ -211,6 +213,25 @@ func (manager *WebRTCManager) CreatePeer(id string, session types.Session) (stri
return "", manager.config.ICELite, manager.config.ICEServers, err
}
go func() {
rtcpBuf := make([]byte, 1500)
for {
if _, _, rtcpErr := rtpVideo.Read(rtcpBuf); rtcpErr != nil {
return
}
}
}()
go func() {
rtcpBuf := make([]byte, 1500)
for {
if _, _, rtcpErr := rtpAudio.Read(rtcpBuf); rtcpErr != nil {
return
}
}
}()
return description.SDP, manager.config.ICELite, manager.config.ICEServers, nil
}