Tech

iOS 26 × HLS ライブ配信でブラックアウトが発生する件

最終更新:2026.07.08

症状

Flutter(iOS)でHLSライブ配信を再生中、映像・音声ともに完全に止まるブラックアウトが発生。

条件内容
発生端末iOS 26端末のみ(機種問わず)
発生コンテンツライブ配信のみ(VODは問題なし)
回線WiFi環境でも発生

原因

iOS 26 で AVPlayer のエラー判定・タイムアウトの挙動が変わった可能性が高い。Apple Developer Forums でも同様の報告が複数あり(CoreMediaErrorDomain: -15628)。

HLSライブ配信中にセグメントの取得失敗やタイムアウトが発生すると、AVPlayer が自動リトライを断念して AVPlayerItemStatusFailed に遷移する。SDK はこれを STRPlaybackSessionLifecycleEventFail として通知する。

Webブラウザは失敗時に粘り強くリトライするようだが、AVPlayer は iOS 26 から早めに諦める傾向があるとみられる。


対処方法(リトライ実装)

ブラックアウト自体を完全に防ぐのは難しい。STRPlaybackSessionLifecycleEventFail を検知したら以下の手順でリカバリする。

  1. URLを取得し直す 既存のURLを使い回さず、動画URLを再取得する。
  2. AVPlayerItem を新規生成して差し替える 既存の AVPlayerItem を再利用してもリカバリできない。必ず新しく生成すること。

備考

  • iOS 26 は2025年9月リリース時点で報告が多く、Apple 側のバグ修正待ちの側面もある。根本対応は Apple のアップデートに依存する可能性がある。
  • Android(ExoPlayer)でも類似のブラックアウトが報告されているが、原因は別途調査中(配信終了時の TIMELINE_UPDATE に起因する可能性あり)。