davidliu

Use low quality layer settings for non-simulcasted streams

@@ -513,7 +513,10 @@ internal constructor( @@ -513,7 +513,10 @@ internal constructor(
513 var hasChanged = false 513 var hasChanged = false
514 for (quality in qualities) { 514 for (quality in qualities) {
515 val rid = ridForVideoQuality(quality.quality) ?: continue 515 val rid = ridForVideoQuality(quality.quality) ?: continue
516 - val encoding = encodings.firstOrNull { it.rid == rid } ?: continue 516 + val encoding = encodings.firstOrNull { it.rid == rid }
  517 + // use low quality layer settings for non-simulcasted streams
  518 + ?: encodings.takeIf { it.size == 1 && quality.quality == LivekitModels.VideoQuality.LOW }?.first()
  519 + ?: continue
517 if (encoding.active != quality.enabled) { 520 if (encoding.active != quality.enabled) {
518 hasChanged = true 521 hasChanged = true
519 encoding.active = quality.enabled 522 encoding.active = quality.enabled