diff --git a/pkg/codec/svtav1/params.go b/pkg/codec/svtav1/params.go index 143565c..dc0af3c 100644 --- a/pkg/codec/svtav1/params.go +++ b/pkg/codec/svtav1/params.go @@ -20,6 +20,7 @@ type Params struct { StartingBufferLevel time.Duration OptimalBufferLevel time.Duration + MaximumBufferSize time.Duration } // NewParams returns default x264 codec specific parameters. @@ -31,6 +32,7 @@ func NewParams() (Params, error) { Preset: 9, StartingBufferLevel: 400 * time.Millisecond, OptimalBufferLevel: 200 * time.Millisecond, + MaximumBufferSize: 500 * time.Millisecond, }, nil } diff --git a/pkg/codec/svtav1/svtav1.go b/pkg/codec/svtav1/svtav1.go index 548301c..b0f05f0 100644 --- a/pkg/codec/svtav1/svtav1.go +++ b/pkg/codec/svtav1/svtav1.go @@ -47,6 +47,7 @@ func newEncoder(r video.Reader, p prop.Media, params Params) (codec.ReadCloser, enc.param.intra_period_length = C.int32_t(params.KeyFrameInterval) enc.param.starting_buffer_level_ms = C.int64_t(params.StartingBufferLevel.Milliseconds()) enc.param.optimal_buffer_level_ms = C.int64_t(params.OptimalBufferLevel.Milliseconds()) + enc.param.maximum_buffer_size_ms = C.int64_t(params.MaximumBufferSize.Milliseconds()) if err := errFromC(C.enc_init(enc)); err != nil { _ = C.enc_free(enc)