Use the right video preset when sharing videos (#5892)
This commit is contained in:
parent
028741d81c
commit
d298200934
6 changed files with 30 additions and 17 deletions
|
|
@ -10,17 +10,28 @@ package io.element.android.libraries.mediaupload.impl
|
|||
|
||||
import dev.zacsweers.metro.ContributesBinding
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
import io.element.android.libraries.featureflag.api.FeatureFlagService
|
||||
import io.element.android.libraries.featureflag.api.FeatureFlags
|
||||
import io.element.android.libraries.mediaupload.api.MediaOptimizationConfig
|
||||
import io.element.android.libraries.mediaupload.api.MediaOptimizationConfigProvider
|
||||
import io.element.android.libraries.preferences.api.store.SessionPreferencesStore
|
||||
import io.element.android.libraries.preferences.api.store.VideoCompressionPreset
|
||||
import kotlinx.coroutines.flow.first
|
||||
|
||||
@ContributesBinding(SessionScope::class)
|
||||
class DefaultMediaOptimizationConfigProvider(
|
||||
private val sessionPreferencesStore: SessionPreferencesStore,
|
||||
private val featureFlagsService: FeatureFlagService,
|
||||
) : MediaOptimizationConfigProvider {
|
||||
override suspend fun get(): MediaOptimizationConfig = MediaOptimizationConfig(
|
||||
compressImages = sessionPreferencesStore.doesOptimizeImages().first(),
|
||||
videoCompressionPreset = sessionPreferencesStore.getVideoCompressionPreset().first(),
|
||||
)
|
||||
override suspend fun get(): MediaOptimizationConfig {
|
||||
val compressImages = sessionPreferencesStore.doesOptimizeImages().first()
|
||||
return MediaOptimizationConfig(
|
||||
compressImages = compressImages,
|
||||
videoCompressionPreset = if (featureFlagsService.isFeatureEnabled(FeatureFlags.SelectableMediaQuality)) {
|
||||
sessionPreferencesStore.getVideoCompressionPreset().first()
|
||||
} else {
|
||||
if (compressImages) VideoCompressionPreset.STANDARD else VideoCompressionPreset.HIGH
|
||||
},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue