Параметр setSegmentTypeGetter
Описание
Метод setSegmentTypeGetter в TeleportConfiguration.Builder позволяет предоставить Teleport SDK функцию для идентификации типа загружаемого сегмента (например, видео, аудио, субтитры). Эта информация используется для более тонкого управления пиринговой сетью и оптимизации обмена данными, так как разные типы сегментов могут иметь разные приоритеты или правила обработки.
Важность определения типа сегмента
Определение типа сегмента помогает Teleport SDK более эффективно управлять потоками данных, например, отдавая приоритет видео-сегментам или применяя специфичные правила для аудио или субтитров. Это повышает качество работы Teleport PDN.
Требования к функции
- Функция должна принимать
Uriи возвращать тип сегмента, заданный классомSegmentType. - По умолчанию тип сегмента всегда определяется как
SegmentType.UNKNOWN. - Вызывается на бэкграунд потоке.
Пример использования
TeleportConfiguration.Builder("YOUR_API_KEY")
.setSegmentTypeGetter { uri: Uri ->
val path = uri.path
when {
path == null -> SegmentType.UNKNOWN
path.contains("video") -> SegmentType.VIDEO
path.contains("audio") -> SegmentType.AUDIO
path.contains("subs") -> SegmentType.CAPTION
else -> SegmentType.OTHER
}
}
.build()В этом примере функция setSegmentTypeGetter анализирует путь URI для определения типа сегмента.
Класс SegmentType
Подробнее о классе SegmentType и его возможных значениях можно узнать в документации по Teleport Android SDK API Methods или в исходном коде SDK.