mirror of
https://github.com/Monibuca/plugin-rtsp.git
synced 2025-09-27 03:56:08 +08:00
内存复制
This commit is contained in:
@@ -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
|
||||||
|
Reference in New Issue
Block a user