media/docs/doc/reference-v1/com/google/android/exoplayer/hls/HlsChunkSource.html
2021-04-20 17:32:19 +01:00

894 lines
54 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_101) on Wed Dec 14 17:18:30 GMT 2016 -->
<title>HlsChunkSource (ExoPlayer library)</title>
<meta name="date" content="2016-12-14">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="HlsChunkSource (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/google/android/exoplayer/hls/DefaultHlsTrackSelector.html" title="class in com.google.android.exoplayer.hls"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.EventListener.html" title="interface in com.google.android.exoplayer.hls"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/google/android/exoplayer/hls/HlsChunkSource.html" target="_top">Frames</a></li>
<li><a href="HlsChunkSource.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.google.android.exoplayer.hls</div>
<h2 title="Class HlsChunkSource" class="title">Class HlsChunkSource</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.android.exoplayer.hls.HlsChunkSource</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../com/google/android/exoplayer/hls/HlsTrackSelector.Output.html" title="interface in com.google.android.exoplayer.hls">HlsTrackSelector.Output</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">HlsChunkSource</span>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../com/google/android/exoplayer/hls/HlsTrackSelector.Output.html" title="interface in com.google.android.exoplayer.hls">HlsTrackSelector.Output</a></pre>
<div class="block">A temporary test source of HLS chunks.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.EventListener.html" title="interface in com.google.android.exoplayer.hls">HlsChunkSource.EventListener</a></span></code>
<div class="block">Interface definition for a callback to be notified of <a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html" title="class in com.google.android.exoplayer.hls"><code>HlsChunkSource</code></a> events.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#DEFAULT_MAX_BUFFER_TO_SWITCH_DOWN_MS">DEFAULT_MAX_BUFFER_TO_SWITCH_DOWN_MS</a></span></code>
<div class="block">The default maximum duration of media that needs to be buffered for a switch to a lower
quality variant to be considered.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#DEFAULT_MIN_BUFFER_TO_SWITCH_UP_MS">DEFAULT_MIN_BUFFER_TO_SWITCH_UP_MS</a></span></code>
<div class="block">The default minimum duration of media that needs to be buffered for a switch to a higher
quality variant to be considered.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#DEFAULT_PLAYLIST_BLACKLIST_MS">DEFAULT_PLAYLIST_BLACKLIST_MS</a></span></code>
<div class="block">The default time for which a media playlist should be blacklisted.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#HlsChunkSource-boolean-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.hls.HlsPlaylist-com.google.android.exoplayer.hls.HlsTrackSelector-com.google.android.exoplayer.upstream.BandwidthMeter-com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider-">HlsChunkSource</a></span>(boolean&nbsp;isMaster,
<a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html" title="interface in com.google.android.exoplayer.upstream">DataSource</a>&nbsp;dataSource,
<a href="../../../../../com/google/android/exoplayer/hls/HlsPlaylist.html" title="class in com.google.android.exoplayer.hls">HlsPlaylist</a>&nbsp;playlist,
<a href="../../../../../com/google/android/exoplayer/hls/HlsTrackSelector.html" title="interface in com.google.android.exoplayer.hls">HlsTrackSelector</a>&nbsp;trackSelector,
<a href="../../../../../com/google/android/exoplayer/upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer.upstream">BandwidthMeter</a>&nbsp;bandwidthMeter,
<a href="../../../../../com/google/android/exoplayer/hls/PtsTimestampAdjusterProvider.html" title="class in com.google.android.exoplayer.hls">PtsTimestampAdjusterProvider</a>&nbsp;timestampAdjusterProvider)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#HlsChunkSource-boolean-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.hls.HlsPlaylist-com.google.android.exoplayer.hls.HlsTrackSelector-com.google.android.exoplayer.upstream.BandwidthMeter-com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider-long-long-">HlsChunkSource</a></span>(boolean&nbsp;isMaster,
<a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html" title="interface in com.google.android.exoplayer.upstream">DataSource</a>&nbsp;dataSource,
<a href="../../../../../com/google/android/exoplayer/hls/HlsPlaylist.html" title="class in com.google.android.exoplayer.hls">HlsPlaylist</a>&nbsp;playlist,
<a href="../../../../../com/google/android/exoplayer/hls/HlsTrackSelector.html" title="interface in com.google.android.exoplayer.hls">HlsTrackSelector</a>&nbsp;trackSelector,
<a href="../../../../../com/google/android/exoplayer/upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer.upstream">BandwidthMeter</a>&nbsp;bandwidthMeter,
<a href="../../../../../com/google/android/exoplayer/hls/PtsTimestampAdjusterProvider.html" title="class in com.google.android.exoplayer.hls">PtsTimestampAdjusterProvider</a>&nbsp;timestampAdjusterProvider,
long&nbsp;minBufferDurationToSwitchUpMs,
long&nbsp;maxBufferDurationToSwitchDownMs)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#HlsChunkSource-boolean-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.hls.HlsPlaylist-com.google.android.exoplayer.hls.HlsTrackSelector-com.google.android.exoplayer.upstream.BandwidthMeter-com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider-long-long-android.os.Handler-com.google.android.exoplayer.hls.HlsChunkSource.EventListener-">HlsChunkSource</a></span>(boolean&nbsp;isMaster,
<a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html" title="interface in com.google.android.exoplayer.upstream">DataSource</a>&nbsp;dataSource,
<a href="../../../../../com/google/android/exoplayer/hls/HlsPlaylist.html" title="class in com.google.android.exoplayer.hls">HlsPlaylist</a>&nbsp;playlist,
<a href="../../../../../com/google/android/exoplayer/hls/HlsTrackSelector.html" title="interface in com.google.android.exoplayer.hls">HlsTrackSelector</a>&nbsp;trackSelector,
<a href="../../../../../com/google/android/exoplayer/upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer.upstream">BandwidthMeter</a>&nbsp;bandwidthMeter,
<a href="../../../../../com/google/android/exoplayer/hls/PtsTimestampAdjusterProvider.html" title="class in com.google.android.exoplayer.hls">PtsTimestampAdjusterProvider</a>&nbsp;timestampAdjusterProvider,
long&nbsp;minBufferDurationToSwitchUpMs,
long&nbsp;maxBufferDurationToSwitchDownMs,
<a href="https://developer.android.com/reference/android/os/Handler.html?is-external=true" title="class or interface in android.os">Handler</a>&nbsp;eventHandler,
<a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.EventListener.html" title="interface in com.google.android.exoplayer.hls">HlsChunkSource.EventListener</a>&nbsp;eventListener)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#adaptiveTrack-com.google.android.exoplayer.hls.HlsMasterPlaylist-com.google.android.exoplayer.hls.Variant:A-">adaptiveTrack</a></span>(<a href="../../../../../com/google/android/exoplayer/hls/HlsMasterPlaylist.html" title="class in com.google.android.exoplayer.hls">HlsMasterPlaylist</a>&nbsp;playlist,
<a href="../../../../../com/google/android/exoplayer/hls/Variant.html" title="class in com.google.android.exoplayer.hls">Variant</a>[]&nbsp;variants)</code>
<div class="block">Outputs an adaptive track, covering the specified representations in the specified
adaptation set.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#computeDefaultVariantIndex-com.google.android.exoplayer.hls.HlsMasterPlaylist-com.google.android.exoplayer.hls.Variant:A-com.google.android.exoplayer.upstream.BandwidthMeter-">computeDefaultVariantIndex</a></span>(<a href="../../../../../com/google/android/exoplayer/hls/HlsMasterPlaylist.html" title="class in com.google.android.exoplayer.hls">HlsMasterPlaylist</a>&nbsp;playlist,
<a href="../../../../../com/google/android/exoplayer/hls/Variant.html" title="class in com.google.android.exoplayer.hls">Variant</a>[]&nbsp;variants,
<a href="../../../../../com/google/android/exoplayer/upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer.upstream">BandwidthMeter</a>&nbsp;bandwidthMeter)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#fixedTrack-com.google.android.exoplayer.hls.HlsMasterPlaylist-com.google.android.exoplayer.hls.Variant-">fixedTrack</a></span>(<a href="../../../../../com/google/android/exoplayer/hls/HlsMasterPlaylist.html" title="class in com.google.android.exoplayer.hls">HlsMasterPlaylist</a>&nbsp;playlist,
<a href="../../../../../com/google/android/exoplayer/hls/Variant.html" title="class in com.google.android.exoplayer.hls">Variant</a>&nbsp;variant)</code>
<div class="block">Outputs an fixed track corresponding to the specified representation in the specified
adaptation set.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#getChunkOperation-com.google.android.exoplayer.hls.TsChunk-long-com.google.android.exoplayer.chunk.ChunkOperationHolder-">getChunkOperation</a></span>(<a href="../../../../../com/google/android/exoplayer/hls/TsChunk.html" title="class in com.google.android.exoplayer.hls">TsChunk</a>&nbsp;previousTsChunk,
long&nbsp;playbackPositionUs,
<a href="../../../../../com/google/android/exoplayer/chunk/ChunkOperationHolder.html" title="class in com.google.android.exoplayer.chunk">ChunkOperationHolder</a>&nbsp;out)</code>
<div class="block">Updates the provided <a href="../../../../../com/google/android/exoplayer/chunk/ChunkOperationHolder.html" title="class in com.google.android.exoplayer.chunk"><code>ChunkOperationHolder</code></a> to contain the next operation that should
be performed by the calling <a href="../../../../../com/google/android/exoplayer/hls/HlsSampleSource.html" title="class in com.google.android.exoplayer.hls"><code>HlsSampleSource</code></a>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#getDurationUs--">getDurationUs</a></span>()</code>
<div class="block">Returns the duration of the source, or <a href="../../../../../com/google/android/exoplayer/C.html#UNKNOWN_TIME_US"><code>C.UNKNOWN_TIME_US</code></a> if the duration is unknown.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/google/android/exoplayer/hls/Variant.html" title="class in com.google.android.exoplayer.hls">Variant</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#getFixedTrackVariant-int-">getFixedTrackVariant</a></span>(int&nbsp;index)</code>
<div class="block">Returns the variant corresponding to the fixed track at the specified index, or null if the
track at the specified index is adaptive.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#getMuxedAudioLanguage--">getMuxedAudioLanguage</a></span>()</code>
<div class="block">Returns the language of the audio muxed into variants, or null if unknown.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#getMuxedCaptionLanguage--">getMuxedCaptionLanguage</a></span>()</code>
<div class="block">Returns the language of the captions muxed into variants, or null if unknown.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#getSelectedTrackIndex--">getSelectedTrackIndex</a></span>()</code>
<div class="block">Returns the currently selected track index.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#getTrackCount--">getTrackCount</a></span>()</code>
<div class="block">Returns the number of tracks exposed by the source.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#isLive--">isLive</a></span>()</code>
<div class="block">Returns whether this is a live playback.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#maybeThrowError--">maybeThrowError</a></span>()</code>
<div class="block">If the source is currently having difficulty providing chunks, then this method throws the
underlying error.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#onChunkLoadCompleted-com.google.android.exoplayer.chunk.Chunk-">onChunkLoadCompleted</a></span>(<a href="../../../../../com/google/android/exoplayer/chunk/Chunk.html" title="class in com.google.android.exoplayer.chunk">Chunk</a>&nbsp;chunk)</code>
<div class="block">Invoked when the <a href="../../../../../com/google/android/exoplayer/hls/HlsSampleSource.html" title="class in com.google.android.exoplayer.hls"><code>HlsSampleSource</code></a> has finished loading a chunk obtained from this
source.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#onChunkLoadError-com.google.android.exoplayer.chunk.Chunk-java.io.IOException-">onChunkLoadError</a></span>(<a href="../../../../../com/google/android/exoplayer/chunk/Chunk.html" title="class in com.google.android.exoplayer.chunk">Chunk</a>&nbsp;chunk,
<a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>&nbsp;e)</code>
<div class="block">Invoked when the <a href="../../../../../com/google/android/exoplayer/hls/HlsSampleSource.html" title="class in com.google.android.exoplayer.hls"><code>HlsSampleSource</code></a> encounters an error loading a chunk obtained from
this source.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#prepare--">prepare</a></span>()</code>
<div class="block">Prepares the source.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#reset--">reset</a></span>()</code>
<div class="block">Resets the source.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#seek--">seek</a></span>()</code>
<div class="block">Notifies the source that a seek has occurred.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html#selectTrack-int-">selectTrack</a></span>(int&nbsp;index)</code>
<div class="block">Selects a track for use.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="DEFAULT_MIN_BUFFER_TO_SWITCH_UP_MS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_MIN_BUFFER_TO_SWITCH_UP_MS</h4>
<pre>public static final&nbsp;long DEFAULT_MIN_BUFFER_TO_SWITCH_UP_MS</pre>
<div class="block">The default minimum duration of media that needs to be buffered for a switch to a higher
quality variant to be considered.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer.hls.HlsChunkSource.DEFAULT_MIN_BUFFER_TO_SWITCH_UP_MS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_MAX_BUFFER_TO_SWITCH_DOWN_MS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_MAX_BUFFER_TO_SWITCH_DOWN_MS</h4>
<pre>public static final&nbsp;long DEFAULT_MAX_BUFFER_TO_SWITCH_DOWN_MS</pre>
<div class="block">The default maximum duration of media that needs to be buffered for a switch to a lower
quality variant to be considered.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer.hls.HlsChunkSource.DEFAULT_MAX_BUFFER_TO_SWITCH_DOWN_MS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_PLAYLIST_BLACKLIST_MS">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEFAULT_PLAYLIST_BLACKLIST_MS</h4>
<pre>public static final&nbsp;long DEFAULT_PLAYLIST_BLACKLIST_MS</pre>
<div class="block">The default time for which a media playlist should be blacklisted.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer.hls.HlsChunkSource.DEFAULT_PLAYLIST_BLACKLIST_MS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="HlsChunkSource-boolean-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.hls.HlsPlaylist-com.google.android.exoplayer.hls.HlsTrackSelector-com.google.android.exoplayer.upstream.BandwidthMeter-com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HlsChunkSource</h4>
<pre>public&nbsp;HlsChunkSource(boolean&nbsp;isMaster,
<a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html" title="interface in com.google.android.exoplayer.upstream">DataSource</a>&nbsp;dataSource,
<a href="../../../../../com/google/android/exoplayer/hls/HlsPlaylist.html" title="class in com.google.android.exoplayer.hls">HlsPlaylist</a>&nbsp;playlist,
<a href="../../../../../com/google/android/exoplayer/hls/HlsTrackSelector.html" title="interface in com.google.android.exoplayer.hls">HlsTrackSelector</a>&nbsp;trackSelector,
<a href="../../../../../com/google/android/exoplayer/upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer.upstream">BandwidthMeter</a>&nbsp;bandwidthMeter,
<a href="../../../../../com/google/android/exoplayer/hls/PtsTimestampAdjusterProvider.html" title="class in com.google.android.exoplayer.hls">PtsTimestampAdjusterProvider</a>&nbsp;timestampAdjusterProvider)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>isMaster</code> - True if this is the master source for the playback. False otherwise. Each
playback must have exactly one master source, which should be the source providing video
chunks (or audio chunks for audio only playbacks).</dd>
<dd><code>dataSource</code> - A <a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html" title="interface in com.google.android.exoplayer.upstream"><code>DataSource</code></a> suitable for loading the media data.</dd>
<dd><code>playlist</code> - The HLS playlist.</dd>
<dd><code>trackSelector</code> - Selects tracks to be exposed by this source.</dd>
<dd><code>bandwidthMeter</code> - Provides an estimate of the currently available bandwidth.</dd>
<dd><code>timestampAdjusterProvider</code> - A provider of <a href="../../../../../com/google/android/exoplayer/extractor/ts/PtsTimestampAdjuster.html" title="class in com.google.android.exoplayer.extractor.ts"><code>PtsTimestampAdjuster</code></a> instances. If
multiple <a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html" title="class in com.google.android.exoplayer.hls"><code>HlsChunkSource</code></a>s are used for a single playback, they should all share the
same provider.</dd>
</dl>
</li>
</ul>
<a name="HlsChunkSource-boolean-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.hls.HlsPlaylist-com.google.android.exoplayer.hls.HlsTrackSelector-com.google.android.exoplayer.upstream.BandwidthMeter-com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HlsChunkSource</h4>
<pre>public&nbsp;HlsChunkSource(boolean&nbsp;isMaster,
<a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html" title="interface in com.google.android.exoplayer.upstream">DataSource</a>&nbsp;dataSource,
<a href="../../../../../com/google/android/exoplayer/hls/HlsPlaylist.html" title="class in com.google.android.exoplayer.hls">HlsPlaylist</a>&nbsp;playlist,
<a href="../../../../../com/google/android/exoplayer/hls/HlsTrackSelector.html" title="interface in com.google.android.exoplayer.hls">HlsTrackSelector</a>&nbsp;trackSelector,
<a href="../../../../../com/google/android/exoplayer/upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer.upstream">BandwidthMeter</a>&nbsp;bandwidthMeter,
<a href="../../../../../com/google/android/exoplayer/hls/PtsTimestampAdjusterProvider.html" title="class in com.google.android.exoplayer.hls">PtsTimestampAdjusterProvider</a>&nbsp;timestampAdjusterProvider,
long&nbsp;minBufferDurationToSwitchUpMs,
long&nbsp;maxBufferDurationToSwitchDownMs)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>isMaster</code> - True if this is the master source for the playback. False otherwise. Each
playback must have exactly one master source, which should be the source providing video
chunks (or audio chunks for audio only playbacks).</dd>
<dd><code>dataSource</code> - A <a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html" title="interface in com.google.android.exoplayer.upstream"><code>DataSource</code></a> suitable for loading the media data.</dd>
<dd><code>playlist</code> - The HLS playlist.</dd>
<dd><code>trackSelector</code> - Selects tracks to be exposed by this source.</dd>
<dd><code>bandwidthMeter</code> - Provides an estimate of the currently available bandwidth.</dd>
<dd><code>timestampAdjusterProvider</code> - A provider of <a href="../../../../../com/google/android/exoplayer/extractor/ts/PtsTimestampAdjuster.html" title="class in com.google.android.exoplayer.extractor.ts"><code>PtsTimestampAdjuster</code></a> instances. If
multiple <a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html" title="class in com.google.android.exoplayer.hls"><code>HlsChunkSource</code></a>s are used for a single playback, they should all share the
same provider.</dd>
<dd><code>minBufferDurationToSwitchUpMs</code> - The minimum duration of media that needs to be buffered
for a switch to a higher quality variant to be considered.</dd>
<dd><code>maxBufferDurationToSwitchDownMs</code> - The maximum duration of media that needs to be buffered
for a switch to a lower quality variant to be considered.</dd>
</dl>
</li>
</ul>
<a name="HlsChunkSource-boolean-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.hls.HlsPlaylist-com.google.android.exoplayer.hls.HlsTrackSelector-com.google.android.exoplayer.upstream.BandwidthMeter-com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider-long-long-android.os.Handler-com.google.android.exoplayer.hls.HlsChunkSource.EventListener-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>HlsChunkSource</h4>
<pre>public&nbsp;HlsChunkSource(boolean&nbsp;isMaster,
<a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html" title="interface in com.google.android.exoplayer.upstream">DataSource</a>&nbsp;dataSource,
<a href="../../../../../com/google/android/exoplayer/hls/HlsPlaylist.html" title="class in com.google.android.exoplayer.hls">HlsPlaylist</a>&nbsp;playlist,
<a href="../../../../../com/google/android/exoplayer/hls/HlsTrackSelector.html" title="interface in com.google.android.exoplayer.hls">HlsTrackSelector</a>&nbsp;trackSelector,
<a href="../../../../../com/google/android/exoplayer/upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer.upstream">BandwidthMeter</a>&nbsp;bandwidthMeter,
<a href="../../../../../com/google/android/exoplayer/hls/PtsTimestampAdjusterProvider.html" title="class in com.google.android.exoplayer.hls">PtsTimestampAdjusterProvider</a>&nbsp;timestampAdjusterProvider,
long&nbsp;minBufferDurationToSwitchUpMs,
long&nbsp;maxBufferDurationToSwitchDownMs,
<a href="https://developer.android.com/reference/android/os/Handler.html?is-external=true" title="class or interface in android.os">Handler</a>&nbsp;eventHandler,
<a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.EventListener.html" title="interface in com.google.android.exoplayer.hls">HlsChunkSource.EventListener</a>&nbsp;eventListener)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>isMaster</code> - True if this is the master source for the playback. False otherwise. Each
playback must have exactly one master source, which should be the source providing video
chunks (or audio chunks for audio only playbacks).</dd>
<dd><code>dataSource</code> - A <a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html" title="interface in com.google.android.exoplayer.upstream"><code>DataSource</code></a> suitable for loading the media data.</dd>
<dd><code>playlist</code> - The HLS playlist.</dd>
<dd><code>trackSelector</code> - Selects tracks to be exposed by this source.</dd>
<dd><code>bandwidthMeter</code> - Provides an estimate of the currently available bandwidth.</dd>
<dd><code>timestampAdjusterProvider</code> - A provider of <a href="../../../../../com/google/android/exoplayer/extractor/ts/PtsTimestampAdjuster.html" title="class in com.google.android.exoplayer.extractor.ts"><code>PtsTimestampAdjuster</code></a> instances. If
multiple <a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.html" title="class in com.google.android.exoplayer.hls"><code>HlsChunkSource</code></a>s are used for a single playback, they should all share the
same provider.</dd>
<dd><code>minBufferDurationToSwitchUpMs</code> - The minimum duration of media that needs to be buffered
for a switch to a higher quality variant to be considered.</dd>
<dd><code>maxBufferDurationToSwitchDownMs</code> - The maximum duration of media that needs to be buffered
for a switch to a lower quality variant to be considered.</dd>
<dd><code>eventHandler</code> - A handler to use when delivering events to <code>eventListener</code>. May be
null if delivery of events is not required.</dd>
<dd><code>eventListener</code> - A listener of events. May be null if delivery of events is not required.</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="maybeThrowError--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maybeThrowError</h4>
<pre>public&nbsp;void&nbsp;maybeThrowError()
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">If the source is currently having difficulty providing chunks, then this method throws the
underlying error. Otherwise does nothing.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - The underlying error.</dd>
</dl>
</li>
</ul>
<a name="prepare--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepare</h4>
<pre>public&nbsp;boolean&nbsp;prepare()</pre>
<div class="block">Prepares the source.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the source was prepared, false otherwise.</dd>
</dl>
</li>
</ul>
<a name="isLive--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLive</h4>
<pre>public&nbsp;boolean&nbsp;isLive()</pre>
<div class="block">Returns whether this is a live playback.
<p>
This method should only be called after the source has been prepared.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if this is a live playback. False otherwise.</dd>
</dl>
</li>
</ul>
<a name="getDurationUs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDurationUs</h4>
<pre>public&nbsp;long&nbsp;getDurationUs()</pre>
<div class="block">Returns the duration of the source, or <a href="../../../../../com/google/android/exoplayer/C.html#UNKNOWN_TIME_US"><code>C.UNKNOWN_TIME_US</code></a> if the duration is unknown.
<p>
This method should only be called after the source has been prepared.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of tracks.</dd>
</dl>
</li>
</ul>
<a name="getTrackCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTrackCount</h4>
<pre>public&nbsp;int&nbsp;getTrackCount()</pre>
<div class="block">Returns the number of tracks exposed by the source.
<p>
This method should only be called after the source has been prepared.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of tracks.</dd>
</dl>
</li>
</ul>
<a name="getFixedTrackVariant-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFixedTrackVariant</h4>
<pre>public&nbsp;<a href="../../../../../com/google/android/exoplayer/hls/Variant.html" title="class in com.google.android.exoplayer.hls">Variant</a>&nbsp;getFixedTrackVariant(int&nbsp;index)</pre>
<div class="block">Returns the variant corresponding to the fixed track at the specified index, or null if the
track at the specified index is adaptive.
<p>
This method should only be called after the source has been prepared.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>index</code> - The track index.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The variant corresponding to the fixed track, or null if the track is adaptive.</dd>
</dl>
</li>
</ul>
<a name="getMuxedAudioLanguage--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMuxedAudioLanguage</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMuxedAudioLanguage()</pre>
<div class="block">Returns the language of the audio muxed into variants, or null if unknown.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The language of the audio muxed into variants, or null if unknown.</dd>
</dl>
</li>
</ul>
<a name="getMuxedCaptionLanguage--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMuxedCaptionLanguage</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMuxedCaptionLanguage()</pre>
<div class="block">Returns the language of the captions muxed into variants, or null if unknown.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The language of the captions muxed into variants, or null if unknown.</dd>
</dl>
</li>
</ul>
<a name="getSelectedTrackIndex--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSelectedTrackIndex</h4>
<pre>public&nbsp;int&nbsp;getSelectedTrackIndex()</pre>
<div class="block">Returns the currently selected track index.
<p>
This method should only be called after the source has been prepared.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The currently selected track index.</dd>
</dl>
</li>
</ul>
<a name="selectTrack-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectTrack</h4>
<pre>public&nbsp;void&nbsp;selectTrack(int&nbsp;index)</pre>
<div class="block">Selects a track for use.
<p>
This method should only be called after the source has been prepared.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>index</code> - The track index.</dd>
</dl>
</li>
</ul>
<a name="seek--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>seek</h4>
<pre>public&nbsp;void&nbsp;seek()</pre>
<div class="block">Notifies the source that a seek has occurred.
<p>
This method should only be called after the source has been prepared.</div>
</li>
</ul>
<a name="reset--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public&nbsp;void&nbsp;reset()</pre>
<div class="block">Resets the source.
<p>
This method should only be called after the source has been prepared.</div>
</li>
</ul>
<a name="getChunkOperation-com.google.android.exoplayer.hls.TsChunk-long-com.google.android.exoplayer.chunk.ChunkOperationHolder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChunkOperation</h4>
<pre>public&nbsp;void&nbsp;getChunkOperation(<a href="../../../../../com/google/android/exoplayer/hls/TsChunk.html" title="class in com.google.android.exoplayer.hls">TsChunk</a>&nbsp;previousTsChunk,
long&nbsp;playbackPositionUs,
<a href="../../../../../com/google/android/exoplayer/chunk/ChunkOperationHolder.html" title="class in com.google.android.exoplayer.chunk">ChunkOperationHolder</a>&nbsp;out)</pre>
<div class="block">Updates the provided <a href="../../../../../com/google/android/exoplayer/chunk/ChunkOperationHolder.html" title="class in com.google.android.exoplayer.chunk"><code>ChunkOperationHolder</code></a> to contain the next operation that should
be performed by the calling <a href="../../../../../com/google/android/exoplayer/hls/HlsSampleSource.html" title="class in com.google.android.exoplayer.hls"><code>HlsSampleSource</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>previousTsChunk</code> - The previously loaded chunk that the next chunk should follow.</dd>
<dd><code>playbackPositionUs</code> - The current playback position. If previousTsChunk is null then this
parameter is the position from which playback is expected to start (or restart) and hence
should be interpreted as a seek position.</dd>
<dd><code>out</code> - The holder to populate with the result. <a href="../../../../../com/google/android/exoplayer/chunk/ChunkOperationHolder.html#queueSize"><code>ChunkOperationHolder.queueSize</code></a> is
unused.</dd>
</dl>
</li>
</ul>
<a name="onChunkLoadCompleted-com.google.android.exoplayer.chunk.Chunk-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onChunkLoadCompleted</h4>
<pre>public&nbsp;void&nbsp;onChunkLoadCompleted(<a href="../../../../../com/google/android/exoplayer/chunk/Chunk.html" title="class in com.google.android.exoplayer.chunk">Chunk</a>&nbsp;chunk)</pre>
<div class="block">Invoked when the <a href="../../../../../com/google/android/exoplayer/hls/HlsSampleSource.html" title="class in com.google.android.exoplayer.hls"><code>HlsSampleSource</code></a> has finished loading a chunk obtained from this
source.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>chunk</code> - The chunk whose load has been completed.</dd>
</dl>
</li>
</ul>
<a name="onChunkLoadError-com.google.android.exoplayer.chunk.Chunk-java.io.IOException-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onChunkLoadError</h4>
<pre>public&nbsp;boolean&nbsp;onChunkLoadError(<a href="../../../../../com/google/android/exoplayer/chunk/Chunk.html" title="class in com.google.android.exoplayer.chunk">Chunk</a>&nbsp;chunk,
<a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>&nbsp;e)</pre>
<div class="block">Invoked when the <a href="../../../../../com/google/android/exoplayer/hls/HlsSampleSource.html" title="class in com.google.android.exoplayer.hls"><code>HlsSampleSource</code></a> encounters an error loading a chunk obtained from
this source.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>chunk</code> - The chunk whose load encountered the error.</dd>
<dd><code>e</code> - The error.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the error was handled by the source. False otherwise.</dd>
</dl>
</li>
</ul>
<a name="adaptiveTrack-com.google.android.exoplayer.hls.HlsMasterPlaylist-com.google.android.exoplayer.hls.Variant:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>adaptiveTrack</h4>
<pre>public&nbsp;void&nbsp;adaptiveTrack(<a href="../../../../../com/google/android/exoplayer/hls/HlsMasterPlaylist.html" title="class in com.google.android.exoplayer.hls">HlsMasterPlaylist</a>&nbsp;playlist,
<a href="../../../../../com/google/android/exoplayer/hls/Variant.html" title="class in com.google.android.exoplayer.hls">Variant</a>[]&nbsp;variants)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../com/google/android/exoplayer/hls/HlsTrackSelector.Output.html#adaptiveTrack-com.google.android.exoplayer.hls.HlsMasterPlaylist-com.google.android.exoplayer.hls.Variant:A-">HlsTrackSelector.Output</a></code></span></div>
<div class="block">Outputs an adaptive track, covering the specified representations in the specified
adaptation set.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../com/google/android/exoplayer/hls/HlsTrackSelector.Output.html#adaptiveTrack-com.google.android.exoplayer.hls.HlsMasterPlaylist-com.google.android.exoplayer.hls.Variant:A-">adaptiveTrack</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/android/exoplayer/hls/HlsTrackSelector.Output.html" title="interface in com.google.android.exoplayer.hls">HlsTrackSelector.Output</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>playlist</code> - The master playlist being processed.</dd>
<dd><code>variants</code> - The variants to use for the adaptive track.</dd>
</dl>
</li>
</ul>
<a name="fixedTrack-com.google.android.exoplayer.hls.HlsMasterPlaylist-com.google.android.exoplayer.hls.Variant-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fixedTrack</h4>
<pre>public&nbsp;void&nbsp;fixedTrack(<a href="../../../../../com/google/android/exoplayer/hls/HlsMasterPlaylist.html" title="class in com.google.android.exoplayer.hls">HlsMasterPlaylist</a>&nbsp;playlist,
<a href="../../../../../com/google/android/exoplayer/hls/Variant.html" title="class in com.google.android.exoplayer.hls">Variant</a>&nbsp;variant)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../com/google/android/exoplayer/hls/HlsTrackSelector.Output.html#fixedTrack-com.google.android.exoplayer.hls.HlsMasterPlaylist-com.google.android.exoplayer.hls.Variant-">HlsTrackSelector.Output</a></code></span></div>
<div class="block">Outputs an fixed track corresponding to the specified representation in the specified
adaptation set.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../com/google/android/exoplayer/hls/HlsTrackSelector.Output.html#fixedTrack-com.google.android.exoplayer.hls.HlsMasterPlaylist-com.google.android.exoplayer.hls.Variant-">fixedTrack</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/android/exoplayer/hls/HlsTrackSelector.Output.html" title="interface in com.google.android.exoplayer.hls">HlsTrackSelector.Output</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>playlist</code> - The master playlist being processed.</dd>
<dd><code>variant</code> - The variant to use for the track.</dd>
</dl>
</li>
</ul>
<a name="computeDefaultVariantIndex-com.google.android.exoplayer.hls.HlsMasterPlaylist-com.google.android.exoplayer.hls.Variant:A-com.google.android.exoplayer.upstream.BandwidthMeter-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>computeDefaultVariantIndex</h4>
<pre>protected&nbsp;int&nbsp;computeDefaultVariantIndex(<a href="../../../../../com/google/android/exoplayer/hls/HlsMasterPlaylist.html" title="class in com.google.android.exoplayer.hls">HlsMasterPlaylist</a>&nbsp;playlist,
<a href="../../../../../com/google/android/exoplayer/hls/Variant.html" title="class in com.google.android.exoplayer.hls">Variant</a>[]&nbsp;variants,
<a href="../../../../../com/google/android/exoplayer/upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer.upstream">BandwidthMeter</a>&nbsp;bandwidthMeter)</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/google/android/exoplayer/hls/DefaultHlsTrackSelector.html" title="class in com.google.android.exoplayer.hls"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../com/google/android/exoplayer/hls/HlsChunkSource.EventListener.html" title="interface in com.google.android.exoplayer.hls"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/google/android/exoplayer/hls/HlsChunkSource.html" target="_top">Frames</a></li>
<li><a href="HlsChunkSource.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>