| 218 | } |
| 219 | |
| 220 | func NewBufferBase(params BufferBaseParams) *BufferBase { |
| 221 | l := logger.GetLogger() // will be reset with correct context via SetLogger |
| 222 | for _, component := range params.LoggerComponents { |
| 223 | l = l.WithComponent(component) |
| 224 | } |
| 225 | l = l.WithValues("ssrc", params.SSRC) |
| 226 | |
| 227 | b := &BufferBase{ |
| 228 | params: params, |
| 229 | lastBucketCapCheckAt: mono.UnixNano(), |
| 230 | snRangeMap: utils.NewRangeMap[uint64, uint64](100), |
| 231 | pliThrottle: int64(500 * time.Millisecond), |
| 232 | logger: l, |
| 233 | } |
| 234 | b.readCond = sync.NewCond(&b.RWMutex) |
| 235 | b.extPackets.SetBaseCap(128) |
| 236 | return b |
| 237 | } |
| 238 | |
| 239 | func (b *BufferBase) SSRC() uint32 { |
| 240 | return b.params.SSRC |