in AmazonChimeSDKDemo/AmazonChimeSDKDemo/VideoModel.swift [526:561]
func onVideoFilterButtonClicked(videoFilter: BackgroundFilter, uiView: UIViewController) {
switch videoFilter {
case .none:
if isUsingBackgroundBlur {
isUsingBackgroundBlur.toggle()
uiView.view.makeToast("Turning background blur off.")
} else if isUsingBackgroundReplacement {
isUsingBackgroundReplacement.toggle()
uiView.view.makeToast("Turning background replacement off.")
} else {
uiView.view.makeToast("No video filers are on.")
}
case .blur:
if isUsingMetalVideoProcessor ||
isUsingCoreImageVideoProcessor ||
isUsingBackgroundReplacement {
uiView.view.makeToast("Cannot toggle more than one filter at a time.")
return
}
let nextStatus = isUsingBackgroundBlur ? "off" : "on"
uiView.view.makeToast("Turning background \(videoFilter.description) \(nextStatus).")
isUsingBackgroundBlur.toggle()
case .replacement:
if isUsingMetalVideoProcessor ||
isUsingCoreImageVideoProcessor ||
isUsingBackgroundBlur {
uiView.view.makeToast("Cannot toggle more than one filter at a time.")
return
}
let nextStatus = isUsingBackgroundReplacement ? "off" : "on"
uiView.view.makeToast("Turning background \(videoFilter.description) \(nextStatus).")
isUsingBackgroundReplacement.toggle()
@unknown default:
self.logger.info(msg: "Unknown background filter.")
}
}