Instance Property
isFrozen
是否凍結畫面 —— 停在最後一幀,新幀在 render() 入口被丟棄。
@MainActor var isFrozen: BoolDiscussion
與 isEnabled = false 的差別:後者清空畫面(黑屏),凍結則保留最後一幀。 資料流不受影響 —— 幀持續接收,只是不繪製。
停格原理:VideoMetalView 是手動觸發模式(isPaused = true), 不設 currentCIImage 就不觸發 draw(),framebuffer 維持上次結果、GPU 不做功。
兩個已知行為(設計決定,非 bug):
凍結期間
renderDate停止更新 → 2.0s 後isRendering轉false(isRendering語意為「畫面是不是活的」,凍結時確實不是)換 track 或 SDK 清畫面會清掉停格畫面,但凍結設定保留 —— 此時螢幕為黑且新幀仍被擋住,需自行設回
false(isFrozen屬 view 顯示設定,與layoutMode/mirrorMode同族,不隨 track 重置)