mirror of
https://github.com/Monibuca/engine.git
synced 2025-10-11 03:20:13 +08:00
fix: SplitBuffers函数导致修改原数组的内容的bug
This commit is contained in:
@@ -228,7 +228,7 @@ func (s *Subscriber) PlayBlock(spesic ISubscriber) {
|
||||
if s.VideoTrack.IDRing.Value.Sequence != firstIFrame.Sequence {
|
||||
firstIFrame = nil
|
||||
s.vr = s.VideoTrack.ReadRing()
|
||||
s.Debug("skip to latest key frame")
|
||||
s.Debug("skip to latest key frame", zap.Uint32("seq", s.VideoTrack.IDRing.Value.Sequence))
|
||||
continue
|
||||
} else {
|
||||
vp = (*VideoFrame)(s.vr.Read(ctx))
|
||||
|
@@ -97,6 +97,7 @@ func SizeOfBuffers[T ~[]byte](buf []T) (size int) {
|
||||
|
||||
// SplitBuffers 按照一定大小分割 Buffers
|
||||
func SplitBuffers[T ~[]byte](buf []T, size int) (result [][]T) {
|
||||
buf = append([]T(nil), buf...)
|
||||
for total := SizeOfBuffers(buf); total > 0; {
|
||||
if total <= size {
|
||||
return append(result, buf)
|
||||
|
Reference in New Issue
Block a user