Skip to content

Параметр setSegmentTypeGetter

Описание

Метод setSegmentTypeGetter в TeleportConfiguration.Builder позволяет предоставить Teleport SDK функцию для идентификации типа загружаемого сегмента (например, видео, аудио, субтитры). Эта информация используется для более тонкого управления пиринговой сетью и оптимизации обмена данными, так как разные типы сегментов могут иметь разные приоритеты или правила обработки.

Важность определения типа сегмента

Определение типа сегмента помогает Teleport SDK более эффективно управлять потоками данных, например, отдавая приоритет видео-сегментам или применяя специфичные правила для аудио или субтитров. Это повышает качество работы Teleport PDN.

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

  • Функция должна принимать Uri и возвращать тип сегмента, заданный классом SegmentType.
  • По умолчанию тип сегмента всегда определяется как SegmentType.UNKNOWN.
  • Вызывается на бэкграунд потоке.

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

kotlin
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.