github.com/bluenviron/mediacommon@v1.9.3/pkg/formats/mpegts/playback_reader.go (about) 1 package mpegts 2 3 import ( 4 "io" 5 ) 6 7 type playbackReader struct { 8 r io.Reader 9 buf []byte 10 } 11 12 func (r *playbackReader) Read(p []byte) (int, error) { 13 if r.buf != nil { 14 n := copy(p, r.buf) 15 16 if len(r.buf) == n { 17 r.buf = nil // release buf from memory 18 } else { 19 r.buf = r.buf[n:] 20 } 21 22 return n, nil 23 } 24 25 return r.r.Read(p) 26 }