Class LiveConfiguration
- All Implemented Interfaces:
- Parcelable
LiveConfiguration.Builder to create instances of this class.- Since:
- 4.1.10
- 
Nested Class SummaryNested ClassesNested classes/interfaces inherited from interface android.os.ParcelableParcelable.ClassLoaderCreator<T extends Object>, Parcelable.Creator<T extends Object>
- 
Field SummaryFieldsModifier and TypeFieldDescriptionlongOverwrite or set the availability start time offset for ultra low latency streams.Defines the catchup configurationstatic final Parcelable.Creator<LiveConfiguration>Custom CustomUtcTimingElement.static final longstatic final longbooleanWhether thehlsPlaylistUpdateTargetDurationCoefficientshould also be applied when the currently loaded manifest is renewed.intDefines the HLS segment index counting from the tail from which the live playback should start.floatThe default coefficient applied to playlist update interval when calculating the playlist update interval.intDefines the number of milliseconds that the playback should lag behind the "live edge" (i.e.longBy default the manifest update period is defined by the manifest.intSets the manifest notify interval in milliseconds.booleanIf set to true, will seek on Live Content to drop startup buffers to be closer to the Live Edge.booleanBy default the start position for a live stream snaps to a segment start.longSet the time synchronization safety buffer to cope with inaccuraciesFields inherited from interface android.os.ParcelableCONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE
- 
Constructor SummaryConstructorsConstructorDescriptionCreate a new live configuration using the default valuesLiveConfiguration(CustomUtcTimingElement customUtcTimingElement, int liveEdgeLatencyMs, int hlsLiveTailSegmentIndex, float hlsPlaylistUpdateTargetDurationCoefficient, boolean hlsForcePlaylistUpdateTargetDuration, CatchupConfiguration catchupConfiguration, long minManifestUpdatePeriodMs, boolean snapToSegmentStart, long availabilityStartTimeOffsetOverwriteMs, long timesyncSafetyMs, int notifyManifestIntervalMs, boolean preferLatencyOverBufferSafety) Create a new live configuration
- 
Method SummaryModifier and TypeMethodDescriptionvoidapply(LiveConfiguration source) Copies the values from the given live configuration to this configurationintbooleaninthashCode()toString()voidwriteToParcel(Parcel dest, int flags) 
- 
Field Details- 
CREATOR
- 
DEFAULT_AVAILABILITY_START_TIME_OFFSET_OVERWRITEpublic static final long DEFAULT_AVAILABILITY_START_TIME_OFFSET_OVERWRITE- See Also:
 
- 
DEFAULT_TIME_SYNC_SAFETY_MSpublic static final long DEFAULT_TIME_SYNC_SAFETY_MS- See Also:
 
- 
customUtcTimingElementCustom CustomUtcTimingElement. This is used for live DASH content. If this is informed and forced withCustomUtcTimingElement.forceit will take prevalence over any otherUtcTimingElementpresent in the DASH manifest. Ifforceis false, it will be used as a fallback.
- 
liveEdgeLatencyMspublic int liveEdgeLatencyMsDefines the number of milliseconds that the playback should lag behind the "live edge" (i.e. the end of the most recently defined media in the manifest). Choosing a small value will minimize latency introduced by the player. Hence a small value may increase the probability of rebuffering and playback failures.When the key is not set then the manifest specified value is used or otherwise the default value SdkConsts.DEFAULT_LIVE_EDGE_LATENCY_MSNote that this parameter can also be used to start the live stream at a different position! For example, if you have an event stream with a large seek window and you do not want to start at the live edge but further behind, use this parameter to specify how much behind the live edge you want to start. This value is also used for HLS live content. In case it is informed, it will override the HLS-specific setting hlsLiveTailSegmentIndexYou can use the same parameter also to start playback at the beginning of the seek window rather than the live edge. For that, put Integer.MAX_VALUEas the value.
- 
hlsLiveTailSegmentIndexpublic int hlsLiveTailSegmentIndexDefines the HLS segment index counting from the tail from which the live playback should start. Should be larger or equal to0. In case the value goes out of the segment size boundaries the very first segment counting from the segments head is used.The liveEdgeLatencyMsfield will prevail if it informed.
- 
hlsPlaylistUpdateTargetDurationCoefficientpublic float hlsPlaylistUpdateTargetDurationCoefficientThe default coefficient applied to playlist update interval when calculating the playlist update interval. Applied when the currently loaded playlist is not renewed. see alsohlsForcePlaylistUpdateTargetDuration
- 
hlsForcePlaylistUpdateTargetDurationpublic boolean hlsForcePlaylistUpdateTargetDurationWhether thehlsPlaylistUpdateTargetDurationCoefficientshould also be applied when the currently loaded manifest is renewed.
- 
catchupConfigurationDefines the catchup configuration
- 
minManifestUpdatePeriodMspublic long minManifestUpdatePeriodMsBy default the manifest update period is defined by the manifest. This configuration option can be used to overwrite the manifest setting and force a specific update period.
- 
snapToSegmentStartpublic boolean snapToSegmentStartBy default the start position for a live stream snaps to a segment start. Set this to false to allow starting a live stream in the middle of a segment. This is mostly relevant for ultra low latency live streams.
- 
availabilityStartTimeOffsetOverwriteMspublic long availabilityStartTimeOffsetOverwriteMsOverwrite or set the availability start time offset for ultra low latency streams.
- 
timesyncSafetyMspublic long timesyncSafetyMsSet the time synchronization safety buffer to cope with inaccuracies
- 
notifyManifestIntervalMspublic int notifyManifestIntervalMsSets the manifest notify interval in milliseconds. This only applies for implicit live DASH manifests. Represents the time in between internal Timeline representation updates when manifest updates are not required. Can be particularly helpful for low latency streams. Default is 5000 ms.
- 
preferLatencyOverBufferSafetypublic boolean preferLatencyOverBufferSafetyIf set to true, will seek on Live Content to drop startup buffers to be closer to the Live Edge.
 
- 
- 
Constructor Details- 
LiveConfigurationpublic LiveConfiguration()Create a new live configuration using the default values
- 
LiveConfigurationpublic LiveConfiguration(CustomUtcTimingElement customUtcTimingElement, int liveEdgeLatencyMs, int hlsLiveTailSegmentIndex, float hlsPlaylistUpdateTargetDurationCoefficient, boolean hlsForcePlaylistUpdateTargetDuration, @Nullable CatchupConfiguration catchupConfiguration, long minManifestUpdatePeriodMs, boolean snapToSegmentStart, long availabilityStartTimeOffsetOverwriteMs, long timesyncSafetyMs, int notifyManifestIntervalMs, boolean preferLatencyOverBufferSafety) Create a new live configuration- Parameters:
- customUtcTimingElement- A CustomUTCTimingElement
- liveEdgeLatencyMs- Number of milliseconds that the playback should lag behind the live edge
- hlsLiveTailSegmentIndex- The HLS live tail segment index
- hlsPlaylistUpdateTargetDurationCoefficient- The target duration coefficient for playlist update interval.
- hlsForcePlaylistUpdateTargetDuration- Whether to force the target duration coefficient when defining the playlist update interval
- catchupConfiguration- Playback catchup configuration
- minManifestUpdatePeriodMs- Force the update period for live streams or set it to- C.TIME_UNSETto use the value define in the manifest (default)
- snapToSegmentStart- Set this to false to allow starting live streams in the middle of a segment
- availabilityStartTimeOffsetOverwriteMs- Set or overwrite the availability start time offset. Set to- C.TIME_UNSETto use the default from the manifest
- timesyncSafetyMs- Set the time sync safety to cope with inaccurate time syncs
- notifyManifestIntervalMs- Set the manifest notify interval in milliseconds. Only for DASH.
 
 
- 
- 
Method Details- 
describeContentspublic int describeContents()- Specified by:
- describeContentsin interface- Parcelable
 
- 
toString
- 
writeToParcel- Specified by:
- writeToParcelin interface- Parcelable
 
- 
hashCodepublic int hashCode()
- 
equals
- 
applyCopies the values from the given live configuration to this configuration- Parameters:
- source- the source
 
 
-