Параметр setManifestAcceptor
Описание
Метод setManifestAcceptor в TeleportConfiguration.Builder позволяет определить функцию для идентификации URL-адресов манифестов видеопотоков. Это ключевой параметр для Teleport SDK, так как он позволяет SDK точно знать, какой запрос относится к манифесту, что необходимо для правильной работы пиринговой сети.
Поведение по умолчанию
По умолчанию Teleport SDK определяет манифесты по их расширениям: .m3u8 (для HLS) или .mpd (для DASH).
Когда это необходимо?
Если ваш медиасервер использует специфичные или нестандартные URL-адреса для манифестов, которые не заканчиваются на .m3u8 или .mpd, вам необходимо определить собственную функцию setManifestAcceptor. Эта функция позволит Teleport SDK правильно идентифицировать манифесты для дальнейшей обработки.
Требования к функции
- Функция должна принимать
Uriи возвращатьBoolean(true, если URL является манифестом). - Вызывается на бэкграунд потоке.
Пример использования
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" в пути.