Skip to content

Параметр setManifestAcceptor

Описание

Метод setManifestAcceptor в TeleportConfiguration.Builder позволяет определить функцию для идентификации URL-адресов манифестов видеопотоков. Это ключевой параметр для Teleport SDK, так как он позволяет SDK точно знать, какой запрос относится к манифесту, что необходимо для правильной работы пиринговой сети.

Поведение по умолчанию

По умолчанию Teleport SDK определяет манифесты по их расширениям: .m3u8 (для HLS) или .mpd (для DASH).

Когда это необходимо?

Если ваш медиасервер использует специфичные или нестандартные URL-адреса для манифестов, которые не заканчиваются на .m3u8 или .mpd, вам необходимо определить собственную функцию setManifestAcceptor. Эта функция позволит Teleport SDK правильно идентифицировать манифесты для дальнейшей обработки.

Требования к функции

  • Функция должна принимать Uri и возвращать Boolean (true, если URL является манифестом).
  • Вызывается на бэкграунд потоке.

Пример использования

kotlin
TeleportConfiguration.Builder("YOUR_API_KEY")
        .setManifestAcceptor { uri: Uri ->
            // Пример: определяет манифест по расширению или по наличию специфичной подстроки в пути
            uri.path?.let { it.endsWith(".m3u8") || it.endsWith(".mpd") || it.contains("my_custom_manifest") } ?: false
        }
        .build()

В этом примере функция setManifestAcceptor будет считать манифестом любой URL, заканчивающийся на .m3u8 или .mpd, или содержащий строку "my_custom_manifest" в пути.