Параметр setTimeslotParser
Описание
Метод setTimeslotParser в TeleportConfiguration.Builder позволяет определить функцию для извлечения номера (или временного слота) сегмента из его URL. Этот номер может быть порядковым номером, временной меткой (в секундах или миллисекундах) или любой другой схемой нумерации, которая инкрементируется для последовательных сегментов.
Важность timeslotParser
Функция timeslotParser не является обязательной, но настоятельно рекомендуется к использованию. Она позволяет Teleport SDK более точно подбирать пиров друг для друга, так как начинает учитывать относительные временные слоты пиров. Это значительно повышает эффективность и качество пиринговой доставки.
Когда это необходимо?
Используйте setTimeslotParser, если URL ваших видео-сегментов содержат информацию о порядковом номере или временной метке сегмента.
Важно
Если в схеме генерации URL сегментов не предусмотрена последовательная нумерация сегментов, не стоит устанавливать timeslotParser. В этом случае будет использована реализация по умолчанию, всегда возвращающая значение 0. Неправильное использование этой функции может привести к снижению эффективности пиринга.
Требования к функции
- Функция должна принимать
Uriи возвращатьLong(номер или временной слот сегмента).
Пример использования
TeleportConfiguration.Builder("YOUR_API_KEY")
.setTimeslotParser { uri: Uri ->
// Пример: извлечение номера сегмента из пути URL
val pathSegments = uri.pathSegments
if (pathSegments.isNotEmpty()) {
pathSegments.last().substringBefore(".").toLongOrNull() ?: 0L
} else {
0L
}
}
.build()В этом примере timeslotParser пытается извлечь числовой идентификатор из последнего сегмента пути URL.