You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							51 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
	
	
							51 lines
						
					
					
						
							1.2 KiB
						
					
					
				package core | 
						|
 | 
						|
import ( | 
						|
	"time" | 
						|
 | 
						|
	"github.com/gabek/owncast/config" | 
						|
	"github.com/gabek/owncast/core/ffmpeg" | 
						|
	"github.com/gabek/owncast/models" | 
						|
) | 
						|
 | 
						|
//GetStatus gets the status of the system | 
						|
func GetStatus() models.Status { | 
						|
	if _stats == nil { | 
						|
		return models.Status{} | 
						|
	} | 
						|
 | 
						|
	return models.Status{ | 
						|
		Online:                IsStreamConnected(), | 
						|
		ViewerCount:           len(_stats.Clients), | 
						|
		OverallMaxViewerCount: _stats.OverallMaxViewerCount, | 
						|
		SessionMaxViewerCount: _stats.SessionMaxViewerCount, | 
						|
	} | 
						|
} | 
						|
 | 
						|
//SetStreamAsConnected sets the stream as connected | 
						|
func SetStreamAsConnected() { | 
						|
	_stats.StreamConnected = true | 
						|
	_stats.LastConnectTime = time.Now() | 
						|
 | 
						|
	timeSinceDisconnect := time.Since(_stats.LastDisconnectTime).Minutes() | 
						|
	if timeSinceDisconnect > 15 { | 
						|
		_stats.SessionMaxViewerCount = 0 | 
						|
	} | 
						|
 | 
						|
	chunkPath := config.Config.PublicHLSPath | 
						|
	if usingExternalStorage { | 
						|
		chunkPath = config.Config.PrivateHLSPath | 
						|
	} | 
						|
 | 
						|
	ffmpeg.StartThumbnailGenerator(chunkPath) | 
						|
} | 
						|
 | 
						|
//SetStreamAsDisconnected sets the stream as disconnected | 
						|
func SetStreamAsDisconnected() { | 
						|
	_stats.StreamConnected = false | 
						|
	_stats.LastDisconnectTime = time.Now() | 
						|
 | 
						|
	if config.Config.EnableOfflineImage { | 
						|
		ffmpeg.ShowStreamOfflineState() | 
						|
	} | 
						|
}
 | 
						|
 |