timeline_fixer_settings.go 794 B

1234567891011121314151617181920212223242526272829
  1. package settings
  2. type TimelineFixerSettings struct {
  3. MaxOffsetTime int `json:"max_offset_time"` // 最大支持校正时间偏移的范围,单位秒
  4. MinOffset float64 `json:"min_offset"` // 最小的时间片校正偏移,低于这个(正负)就跳过不校正,单位秒
  5. ThreadCount int `json:"thread_count"` // 线程数
  6. }
  7. func NewTimelineFixerSettings() *TimelineFixerSettings {
  8. return &TimelineFixerSettings{
  9. MaxOffsetTime: 700,
  10. MinOffset: 0.2,
  11. ThreadCount: 5,
  12. }
  13. }
  14. func (t *TimelineFixerSettings) Check() {
  15. if t.MaxOffsetTime <= 0 || t.MaxOffsetTime > 700 {
  16. t.MaxOffsetTime = 700 // 60s
  17. }
  18. if t.MinOffset <= 0 || t.MinOffset > 5 {
  19. t.MinOffset = 0.2 // 100ms
  20. }
  21. if t.ThreadCount <= 0 || t.ThreadCount > 8 {
  22. t.ThreadCount = 5
  23. }
  24. }