Add video pipeline killswitch

This commit is contained in:
Ali 2023-09-16 11:52:28 +02:00
parent be5447f543
commit 54375b7682
2 changed files with 13 additions and 2 deletions

View File

@ -1,6 +1,6 @@
import Postbox
func currentAppConfiguration(transaction: Transaction) -> AppConfiguration {
public func currentAppConfiguration(transaction: Transaction) -> AppConfiguration {
if let entry = transaction.getPreferencesEntry(key: PreferencesKeys.appConfiguration)?.get(AppConfiguration.self) {
return entry
} else {

View File

@ -18,7 +18,18 @@ import Display
public func makeTelegramAccountAuxiliaryMethods(uploadInBackground: ((Postbox, MediaResource) -> Signal<String?, NoError>)?) -> AccountAuxiliaryMethods {
return AccountAuxiliaryMethods(fetchResource: { postbox, resource, ranges, _ in
if let resource = resource as? VideoLibraryMediaResource {
return fetchVideoLibraryMediaResource(postbox: postbox, resource: resource)
return postbox.transaction { transaction -> Bool in
var useModernPipeline = true
let appConfig = currentAppConfiguration(transaction: transaction)
if let data = appConfig.data, let _ = data["ios_killswitch_disable_modern_video_pipeline"] {
useModernPipeline = false
}
return useModernPipeline
}
|> castError(MediaResourceDataFetchError.self)
|> mapToSignal { useModernPipeline -> Signal<MediaResourceDataFetchResult, MediaResourceDataFetchError> in
return fetchVideoLibraryMediaResource(postbox: postbox, resource: resource, alwaysUseModernPipeline: useModernPipeline)
}
} else if let resource = resource as? LocalFileVideoMediaResource {
return fetchLocalFileVideoMediaResource(postbox: postbox, resource: resource)
} else if let resource = resource as? LocalFileGifMediaResource {