mirror of
				https://github.com/owncast/owncast.git
				synced 2025-11-01 02:44:31 +08:00 
			
		
		
		
	 2fba39b7c7
			
		
	
	2fba39b7c7
	
	
	
		
			
			In testing this is not increasing latency and should improve stability and reliability for some people, since there will be a larger back buffer to work from.
		
			
				
	
	
		
			25 lines
		
	
	
		
			912 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			912 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package models
 | |
| 
 | |
| // LatencyLevel is a representation of HLS configuration values.
 | |
| type LatencyLevel struct {
 | |
| 	Level             int `json:"level"`
 | |
| 	SecondsPerSegment int `json:"-"`
 | |
| 	SegmentCount      int `json:"-"`
 | |
| }
 | |
| 
 | |
| // GetLatencyConfigs will return the available latency level options.
 | |
| func GetLatencyConfigs() map[int]LatencyLevel {
 | |
| 	return map[int]LatencyLevel{
 | |
| 		0: {Level: 0, SecondsPerSegment: 1, SegmentCount: 25}, // Approx 5 seconds
 | |
| 		1: {Level: 1, SecondsPerSegment: 2, SegmentCount: 15}, // Approx 8-9 seconds
 | |
| 		2: {Level: 2, SecondsPerSegment: 3, SegmentCount: 10}, // Default Approx 10 seconds
 | |
| 		3: {Level: 3, SecondsPerSegment: 4, SegmentCount: 8},  // Approx 15 seconds
 | |
| 		4: {Level: 4, SecondsPerSegment: 5, SegmentCount: 5},  // Approx 18 seconds
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // GetLatencyLevel will return the latency level at index.
 | |
| func GetLatencyLevel(index int) LatencyLevel {
 | |
| 	return GetLatencyConfigs()[index]
 | |
| }
 |