AVPlayer не переключается между прогрессивной загрузкой и потоковой передачей
У меня есть приложение, которое обрабатывает потоковое видео. Начиная с списка воспроизведения .m3u8, он создает массив AVAssets и просматривает их
[player replaceCurrentItemWithPlayerItem:[AVPlayerItem playerItemWithAsset:[assetItems objectAtIndex:index]]]
Это прекрасно работает, но перед этим я хочу транслировать короткое видео в формате mp4 с использованием прогрессивной загрузки. Я загружаю AVPlayer используя
AVAsset *prerollAsset = [AVAsset assetWithURL:prerollURL];
[player replaceCurrentItemWithPlayerItem:[AVPlayerItem playerItemWithAsset:prerollAsset]];
Он воспроизводится, но когда я продолжаю потоковое видео, как и раньше, я получаю состояние AVPlayerStatusFailed с ошибкой в AVPlayerItem:The operation could not be completed
Чтобы это работало, мне нужно создать объект AVPlayer для предварительной загрузки (прогрессивная загрузка), а затем совершенно новый объект AVPlayer, чтобы начать воспроизведение потокового видео.
Возможно ли, что один экземпляр AVPlayer не способен воспроизводить видео с прогрессивной загрузкой с последующей потоковой передачей видео? Или может быть что-то еще я делаю не так?