diff --git a/clienttrack.go b/clienttrack.go index 13985a0..16afde0 100644 --- a/clienttrack.go +++ b/clienttrack.go @@ -181,7 +181,11 @@ func (t *clientTrack) SetMaxQuality(_ QualityLevel) { } func (t *clientTrack) MaxQuality() QualityLevel { - return QualityHigh + if t.Kind() == webrtc.RTPCodecTypeVideo { + return QualityHigh + } + + return QualityAudio } func (t *clientTrack) SSRC() webrtc.SSRC { diff --git a/clienttrackred.go b/clienttrackred.go index 111c185..e8951c5 100644 --- a/clienttrackred.go +++ b/clienttrackred.go @@ -102,3 +102,8 @@ func extractPrimaryEncodingForRED(payload []byte) ([]byte, error) { func (t *clientTrackRed) Quality() QualityLevel { return QualityAudioRed } + +func (t *clientTrackRed) MaxQuality() QualityLevel { + + return QualityAudioRed +} diff --git a/clienttracksvc.go b/clienttracksvc.go index c446301..a4252cc 100644 --- a/clienttracksvc.go +++ b/clienttracksvc.go @@ -271,6 +271,10 @@ func (t *scaleableClientTrack) setLastQuality(quality QualityLevel) { t.lastQuality = quality } +func (t *scaleableClientTrack) Quality() QualityLevel { + return t.LastQuality() +} + func (t *scaleableClientTrack) LastQuality() QualityLevel { t.mu.RLock() defer t.mu.RUnlock()