- RevueSDK
- VideoCapturerDelegate
- capturer(_:didDowngradeResolution:to:)
Instance Method
capturer(_:didDowngradeResolution:to:)
採集格式無法滿足要求的解析度 —— 於挑選格式當下判定。
func capturer(_ capturer: VideoCapturer, didDowngradeResolution requested: CMVideoDimensions, to actual: CMVideoDimensions)Discussion
與 didUpdate dimensions: 的差異(兩者不可互相取代):
dimensions回報「實際輸出尺寸」,且只在值變化時 fire(去重)。本 callback 回報「要求 vs 鏡頭能力」的落差,即使實際輸出沒變也會 fire。
後者才是「降級」的定義。典型情境:前鏡頭已在 1080p,使用者把設定調到 4K —— 鏡頭撐不住、實際輸出仍是 1080p(尺寸沒變 → 無 dimensions 事件), 但這正是最該告知使用者的時刻。
每次套用格式都會判定(開視訊 / 切鏡頭 / 改設定),故可能在使用者未主動要求時 也 fire —— SDK 忠實回報事實,「何時該打擾使用者」由上層決定。