github.com/bluenviron/mediacommon@v1.9.3/pkg/formats/mpegts/record_reader.go (about) 1 package mpegts 2 3 import ( 4 "errors" 5 "io" 6 ) 7 8 const ( 9 recordReaderMaxSize = 1 * 1024 * 1024 10 ) 11 12 type recordReader struct { 13 r io.Reader 14 buf []byte 15 size int 16 } 17 18 func (r *recordReader) Read(p []byte) (int, error) { 19 n, err := r.r.Read(p) 20 21 if (r.size + n) > recordReaderMaxSize { 22 return 0, errors.New("max buffer size exceeded") 23 } 24 25 r.buf = append(r.buf, p[:n]...) 26 r.size += n 27 return n, err 28 }