mirror of
https://github.com/hsnks100/liveflow.git
synced 2025-09-27 04:26:24 +08:00
Fix whep's memory leak (#15)
This commit is contained in:
@@ -7,6 +7,6 @@ disk_ram = true
|
||||
[docker]
|
||||
mode=false
|
||||
[mp4]
|
||||
record=false
|
||||
record=true
|
||||
[ebml]
|
||||
record=false
|
@@ -94,7 +94,6 @@ func (m *MP4) Start(ctx context.Context, source hub.Source) error {
|
||||
if !m.splitPending && data.H264Video.RawDTS()-m.lastSplitTime >= m.splitIntervalMS {
|
||||
m.splitPending = true
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if data.H264Video != nil {
|
||||
|
@@ -169,13 +169,21 @@ func (w *WHEP) syncAndSendPackets() error {
|
||||
// Remove lagging packet from buffer
|
||||
if videoPacket.timestamp <= audioPacket.timestamp {
|
||||
// If audio is ahead, remove video from buffer
|
||||
if len(w.videoBuffer) > 100 {
|
||||
w.videoBuffer = append([]*packetWithTimestamp{}, w.videoBuffer[1:]...)
|
||||
} else {
|
||||
w.videoBuffer = w.videoBuffer[1:]
|
||||
}
|
||||
if err := w.videoTrack.WriteRTP(videoPacket.packet); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
// If video is ahead, remove audio from buffer
|
||||
if len(w.audioBuffer) > 100 {
|
||||
w.audioBuffer = append([]*packetWithTimestamp{}, w.audioBuffer[1:]...)
|
||||
} else {
|
||||
w.audioBuffer = w.audioBuffer[1:]
|
||||
}
|
||||
if err := w.audioTrack.WriteRTP(audioPacket.packet); err != nil {
|
||||
return err
|
||||
}
|
||||
|
Reference in New Issue
Block a user