修复续推时的内存泄露

This commit is contained in:
langhuihui
2023-04-19 13:23:31 +08:00
parent 4b8c93fdfc
commit ac4de208b8
2 changed files with 21 additions and 2 deletions

View File

@@ -121,6 +121,25 @@ type RTMPReceiver struct {
NetStream
}
func (r *RTMPReceiver) OnEvent(event any) {
switch v := event.(type) {
case IPublisher:
if r.Equal(v) { //第一任
} else { // 使用前任的track因为订阅者都挂在前任的上面
r.Publisher.OnEvent(event)
if r.AudioTrack != nil {
r.AudioTrack.SetStuff(r.bytePool)
}
if r.VideoTrack != nil {
r.VideoTrack.SetStuff(r.bytePool)
}
}
default:
r.IO.OnEvent(event)
}
}
func (r *RTMPReceiver) Response(tid uint64, code, level string) error {
m := new(ResponsePublishMessage)
m.CommandName = Response_OnStatus

View File

@@ -45,8 +45,8 @@ const (
)
type NetConnection struct {
*bufio.Reader `json:"-"`
net.Conn `json:"-"`
*bufio.Reader `json:"-" yaml:"-"`
net.Conn `json:"-" yaml:"-"`
bandwidth uint32
readSeqNum uint32 // 当前读的字节
writeSeqNum uint32 // 当前写的字节