Я работаю в приложении, в котором я могу без проблем воспроизводить плейлист HLS m3u8 потокового радио (только аудио), используя экземпляр AVPlayer. Используя Charles, я вижу, как плейлист обновляется в обычном темпе (каждые 9-10 секунд, что занимает один файл медиасегмента). Когда я выполняю seekToTime: (назад во времени), проигрыватель успешно воспроизводит поток, когда я хочу, но в Чарльзе я наблюдаю, как проигрыватель начинает загружать огромное количество файлов медиасегментов, потребляя много данных. Кажется, что плеер загружает все файлы медиасегмента до этого времени, а затем снова продолжает нормально работать.
Я понимаю, что правильным поведением будет загрузка файла медиасегмента на время, которое я ищу, начать его воспроизведение, а затем постоянно загружать 1 или 2 файла медиасегмента каждые 9-10 секунд, как это происходит при воспроизведении потока. без временного сдвига.
Мой вопрос в том, является ли это нормальным поведением или что-то может быть не так с моим плейлистом m3u8 или реализацией клиента. Кто-нибудь может помочь мне прояснить это?
ОБНОВЛЕНО: я могу подтвердить, что этого не происходит в iOS 7, поэтому, похоже, это ошибка, появившаяся в iOS 8.