Class TypedSource.Builder
-
- All Implemented Interfaces:
public class TypedSource.Builder
The builder for TypedSource.
-
-
Field Summary
Fields Modifier and Type Field Description protected String
src
protected DRMConfiguration
drm
protected SourceType
type
protected Map<String, String>
headers
protected Double
liveOffset
protected SsaiDescription
ssai
protected Boolean
hlsDateRange
protected String
timeServer
protected Boolean
lowLatency
protected LatencyConfiguration
latencyConfiguration
protected HlsPlaybackConfiguration
hls
protected DashPlaybackConfiguration
dash
-
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.Builder
drm(@NonNull() DRMConfiguration drm)
Sets the DRM configuration. TypedSource.Builder
type(@NonNull() SourceType type)
Sets the type of the source. TypedSource.Builder
headers(@NonNull() Map<String, String> headers)
Sets the headers to be added to all requests associated with this source. TypedSource.Builder
liveOffset(@Nullable() Double liveOffset)
Sets the live point from the end of the manifest, in seconds. TypedSource.Builder
ssai(@NonNull() SsaiDescription ssai)
Sets the Server-side ad insertion description. TypedSource.Builder
hlsDateRange(boolean hlsDateRange)
Sets whether the logic to expose date ranges parsed from HLS manifests is enabled. TypedSource.Builder
timeServer(@Nullable() String timeServer)
Sets the URL of a time server used by the player to synchronise the time in DASH sources. TypedSource.Builder
lowLatency(@Nullable() Boolean lowLatency)
Sets whether the source should be played in the low-latency-mode of the player. TypedSource.Builder
latencyConfiguration(@Nullable() LatencyConfiguration latencyConfiguration)
Sets the latency configuration for this source. TypedSource.Builder
hls(@Nullable() HlsPlaybackConfiguration hlsPlaybackConfiguration)
Sets the configuration for controlling playback of an HLS stream. TypedSource.Builder
dash(@Nullable() DashPlaybackConfiguration dashPlaybackConfiguration)
Sets the configuration for controlling playback of an DASH stream. TypedSource
build()
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.
-
-
-
-