2016-09-30 4 views
1

Я реализую обработчик shouldWaitForLoadingOfRequestedResource для AVPlayer/AVURLAsset HLS-видео и нашел странное поведение в tvOS.tvOS shouldWaitForLoadingOfRequestedResource, запрашивающий те же ресурсы

Как я вижу, он может запрашивать одни и те же ресурсы несколько раз, в том числе «корень» манифест, манифесты второго уровня и сегменты (и я говорю не о нескольких качественных коммутаторах, он запрашивает точно такие же ресурсы).

В то же время каждый запрос подается с моим кодом достаточно хорошо - видео играет хорошо. Кроме того, точно такой же код отлично работает в iOS - нет дублированных запросов.

В каких случаях AVURLAsset/AVAssetResourceLoader может запрашивать одни и те же ресурсы несколько раз в tvOS?

ответ

1

У меня такая же проблема я могу добавить, что я использую пример приложения яблоко

public func resourceLoader(_ resourceLoader: AVAssetResourceLoader, shouldWaitForLoadingOfRequestedResource loadingRequest: AVAssetResourceLoadingRequest) -> Bool { 
    print("\(#function) was called in AssetLoaderDelegate with loadingRequest: \(loadingRequest)") 
    var ret : Bool = true 
    ret = shouldLoadOrRenewRequestedResource(resourceLoadingRequest: loadingRequest) 
    return ret 
} 

Это отладочная печать я получаю:

resourceLoader (_: shouldWaitForLoadingOfRequestedResource :) был вызван в AssetLoaderDelegate с загрузкойРазмещение: {URL: skd: // 817015000008100f172b492d3b25f5dda31c59d090b21000}, запрос ID = 3, запрос информации = AVAssetResourceLoadingContentInformationRequest: 0x14f6dd070, содержание тип = "(нуль)", длина содержимого = 0, доступ диапазон байтов поддерживается = НЕТ, кэширование диска разрешено = НЕТ, дата продления = (нуль), запрос данных = AVAssetResourceLoadingDataRequest: 0x14f67ae50, просил смещение = 0, просил длина = 9223372036854775807, запрашивает все данные к концу ресурса = ДА, то текущее смещение = 0

можно видеть, каждый раз, когда значение request ID в печати отличается

+0

Если Мастер-манифест содержит ключ # EXT-X-SESSION-KEY i будет называться также на tvos один раз –

+0

привет, не могли бы вы поделиться примером приложения яблока, пожалуйста? –