内存复制

This commit is contained in:
langhuihui
2021-07-09 22:50:33 +08:00
parent cc731a25f0
commit fd8ebcd87c

View File

@@ -6,7 +6,6 @@ import (
"strconv" "strconv"
"strings" "strings"
"sync" "sync"
"time"
. "github.com/Monibuca/utils/v3" . "github.com/Monibuca/utils/v3"
) )
@@ -74,16 +73,17 @@ func (s *UDPServer) SetupAudio() (err error) {
bufUDP := make([]byte, UDP_BUF_SIZE) bufUDP := make([]byte, UDP_BUF_SIZE)
Printf("udp server start listen audio port[%d]", s.APort) Printf("udp server start listen audio port[%d]", s.APort)
defer Printf("udp server stop listen audio port[%d]", s.APort) defer Printf("udp server stop listen audio port[%d]", s.APort)
timer := time.Unix(0, 0) // timer := time.Unix(0, 0)
for !s.Stoped { for !s.Stoped {
if n, _, err := s.AConn.ReadFromUDP(bufUDP); err == nil { if n, _, err := s.AConn.ReadFromUDP(bufUDP); err == nil {
elapsed := time.Now().Sub(timer) // elapsed := time.Now().Sub(timer)
if elapsed >= 30*time.Second { // if elapsed >= 30*time.Second {
Printf("Package recv from AConn.len:%d\n", n) // Printf("Package recv from AConn.len:%d\n", n)
timer = time.Now() // timer = time.Now()
} // }
s.AddInputBytes(n) s.AddInputBytes(n)
s.Session.RtpAudio.Push(bufUDP[:n]) var bytes []byte
s.Session.RtpAudio.Push(append(bytes, bufUDP[:n]...))
} else { } else {
Println("udp server read audio pack error", err) Println("udp server read audio pack error", err)
continue continue
@@ -158,16 +158,17 @@ func (s *UDPServer) SetupVideo() (err error) {
bufUDP := make([]byte, UDP_BUF_SIZE) bufUDP := make([]byte, UDP_BUF_SIZE)
Printf("udp server start listen video port[%d]", s.VPort) Printf("udp server start listen video port[%d]", s.VPort)
defer Printf("udp server stop listen video port[%d]", s.VPort) defer Printf("udp server stop listen video port[%d]", s.VPort)
timer := time.Unix(0, 0) // timer := time.Unix(0, 0)
for !s.Stoped { for !s.Stoped {
if n, _, err := s.VConn.ReadFromUDP(bufUDP); err == nil { if n, _, err := s.VConn.ReadFromUDP(bufUDP); err == nil {
elapsed := time.Now().Sub(timer) // elapsed := time.Now().Sub(timer)
if elapsed >= 30*time.Second { // if elapsed >= 30*time.Second {
Printf("Package recv from VConn.len:%d\n", n) // Printf("Package recv from VConn.len:%d\n", n)
timer = time.Now() // timer = time.Now()
} // }
s.AddInputBytes(n) s.AddInputBytes(n)
s.Session.RtpVideo.Push(bufUDP[:n]) var bytes []byte
s.Session.RtpVideo.Push(append(bytes, bufUDP[:n]...))
} else { } else {
Println("udp server read video pack error", err) Println("udp server read video pack error", err)
continue continue