Class TypedSource.Builder
-
- All Implemented Interfaces:
public class TypedSource.BuilderThe builder for TypedSource.
-
-
Field Summary
Fields Modifier and Type Field Description protected Stringsrcprotected DRMConfigurationdrmprotected SourceTypetypeprotected Map<String, String>headersprotected DoubleliveOffsetprotected SsaiDescriptionssaiprotected BooleanhlsDateRangeprotected StringtimeServerprotected BooleanlowLatencyprotected LatencyConfigurationlatencyConfigurationprotected HlsPlaybackConfigurationhlsprotected DashPlaybackConfigurationdash
-
Constructor Summary
Constructors Constructor Description TypedSource.Builder(String src)Creates a builder for a simple TypedSource object containing the given URL as source.
-
Method Summary
Modifier and Type Method Description TypedSource.Builderdrm(@NonNull() DRMConfiguration drm)Sets the DRM configuration. TypedSource.Buildertype(@NonNull() SourceType type)Sets the type of the source. TypedSource.Builderheaders(@NonNull() Map<String, String> headers)Sets the headers to be added to all requests associated with this source. TypedSource.BuilderliveOffset(@Nullable() Double liveOffset)Sets the live point from the end of the manifest, in seconds. TypedSource.Builderssai(@NonNull() SsaiDescription ssai)Sets the Server-side ad insertion description. TypedSource.BuilderhlsDateRange(boolean hlsDateRange)Sets whether the logic to expose date ranges parsed from HLS manifests is enabled. TypedSource.BuildertimeServer(@Nullable() String timeServer)Sets the URL of a time server used by the player to synchronise the time in DASH sources. TypedSource.BuilderlowLatency(@Nullable() Boolean lowLatency)Sets whether the source should be played in the low-latency-mode of the player. TypedSource.BuilderlatencyConfiguration(@Nullable() LatencyConfiguration latencyConfiguration)Sets the latency configuration for this source. TypedSource.Builderhls(@Nullable() HlsPlaybackConfiguration hlsPlaybackConfiguration)Sets the configuration for controlling playback of an HLS stream. TypedSource.Builderdash(@Nullable() DashPlaybackConfiguration dashPlaybackConfiguration)Sets the configuration for controlling playback of an DASH stream. TypedSourcebuild()Builds the TypedSource. -
-
Constructor Detail
-
TypedSource.Builder
TypedSource.Builder(String src)
Creates a builder for a simple TypedSource object containing the given URL as source.
-
-
Method Detail
-
drm
@NonNull() TypedSource.Builder drm(@NonNull() DRMConfiguration drm)
Sets the DRM configuration.
- Parameters:
drm- The DRMConfiguration.
-
type
@NonNull() TypedSource.Builder type(@NonNull() SourceType type)
Sets the type of the source.
- For all possibilities, see SourceType.
- Parameters:
type- The SourceType.
-
headers
@NonNull() TypedSource.Builder headers(@NonNull() Map<String, String> headers)
Sets the headers to be added to all requests associated with this source.
- Only supported for MP3 &MP4 sources.
- Parameters:
headers- The headers of this source.- Since:
v7.12.0
-
liveOffset
@NonNull() TypedSource.Builder liveOffset(@Nullable() Double liveOffset)
Sets the live point from the end of the manifest, in seconds.
- If set as null, the live point offset will be 3 target durations.
- Parameters:
liveOffset- the live point from the end of the manifest, in seconds.
-
ssai
@NonNull() TypedSource.Builder ssai(@NonNull() SsaiDescription ssai)
Sets the Server-side ad insertion description.
- Parameters:
ssai- The Server-side ad insertion description.
-
hlsDateRange
@NonNull() TypedSource.Builder hlsDateRange(boolean hlsDateRange)
Sets whether the logic to expose date ranges parsed from HLS manifests is enabled.
- If not set, isHlsDateRange will be null.
- Parameters:
hlsDateRange- Whether the logic to expose date ranges parsed from HLS manifests is enabled.
-
timeServer
@NonNull() TypedSource.Builder timeServer(@Nullable() String timeServer)
Sets the URL of a time server used by the player to synchronise the time in DASH sources.
- The time server should return time in ISO-8601 format.
- Overrides the time server provided the DASH manifest's
<UTCTiming>. - Only this source will use the time server. Alternatively, for all sources use timeServer.
- Parameters:
timeServer- The URL of a time server.- Since:
v2.72.0
-
lowLatency
@NonNull() TypedSource.Builder lowLatency(@Nullable() Boolean lowLatency)
Sets whether the source should be played in the low-latency-mode of the player.
- This setting must be `true` when using Low-Latency CMAF with ABR.
Default: false
- Parameters:
lowLatency- Whether the source should be played in the low-latency-mode of the player.- Since:
v2.72.0
-
latencyConfiguration
@NonNull() TypedSource.Builder latencyConfiguration(@Nullable() LatencyConfiguration latencyConfiguration)
Sets the latency configuration for this source.
- Ignored for VOD playback.
- Parameters:
latencyConfiguration- The source's latency configuration.
-
hls
@NonNull() TypedSource.Builder hls(@Nullable() HlsPlaybackConfiguration hlsPlaybackConfiguration)
Sets the configuration for controlling playback of an HLS stream.
- Parameters:
hlsPlaybackConfiguration- The HLS playback configuration.- Since:
v4.0.0
-
dash
@NonNull() TypedSource.Builder dash(@Nullable() DashPlaybackConfiguration dashPlaybackConfiguration)
Sets the configuration for controlling playback of an DASH stream.
- Parameters:
dashPlaybackConfiguration- The DASH playback configuration.- Since:
v5.2.0
-
build
@NonNull() TypedSource build()
Builds the TypedSource.
-
-
-
-