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

880 lines
67 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>DashChunkSource (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="DashChunkSource (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};
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>Prev&nbsp;Class</li>
<li><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.EventListener.html" title="interface in com.google.android.exoplayer.dash"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/google/android/exoplayer/dash/DashChunkSource.html" target="_top">Frames</a></li>
<li><a href="DashChunkSource.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>Field&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>Field&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.dash</div>
<h2 title="Class DashChunkSource" class="title">Class DashChunkSource</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.dash.DashChunkSource</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/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer.chunk">ChunkSource</a>, <a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.Output.html" title="interface in com.google.android.exoplayer.dash">DashTrackSelector.Output</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">DashChunkSource</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/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer.chunk">ChunkSource</a>, <a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.Output.html" title="interface in com.google.android.exoplayer.dash">DashTrackSelector.Output</a></pre>
<div class="block">An <a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer.chunk"><code>ChunkSource</code></a> for DASH streams.
<p>
This implementation currently supports fMP4, webm, webvtt and ttml.
<p>
This implementation makes the following assumptions about multi-period manifests:
<ol>
<li>that new periods will contain the same representations as previous periods (i.e. no new or
missing representations) and</li>
<li>that representations are contiguous across multiple periods</li>
</ol></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/dash/DashChunkSource.EventListener.html" title="interface in com.google.android.exoplayer.dash">DashChunkSource.EventListener</a></span></code>
<div class="block">Interface definition for a callback to be notified of <a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.html" title="class in com.google.android.exoplayer.dash"><code>DashChunkSource</code></a> events.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.ExposedTrack.html" title="class in com.google.android.exoplayer.dash">DashChunkSource.ExposedTrack</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.NoAdaptationSetException.html" title="class in com.google.android.exoplayer.dash">DashChunkSource.NoAdaptationSetException</a></span></code>
<div class="block">Thrown when an AdaptationSet is missing from the MPD.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.PeriodHolder.html" title="class in com.google.android.exoplayer.dash">DashChunkSource.PeriodHolder</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.RepresentationHolder.html" title="class in com.google.android.exoplayer.dash">DashChunkSource.RepresentationHolder</a></span></code>&nbsp;</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/dash/DashChunkSource.html#DashChunkSource-com.google.android.exoplayer.dash.DashTrackSelector-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.chunk.FormatEvaluator-long-int-java.util.List-">DashChunkSource</a></span>(<a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.html" title="interface in com.google.android.exoplayer.dash">DashTrackSelector</a>&nbsp;trackSelector,
<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/chunk/FormatEvaluator.html" title="interface in com.google.android.exoplayer.chunk">FormatEvaluator</a>&nbsp;adaptiveFormatEvaluator,
long&nbsp;durationMs,
int&nbsp;adaptationSetType,
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../com/google/android/exoplayer/dash/mpd/Representation.html" title="class in com.google.android.exoplayer.dash.mpd">Representation</a>&gt;&nbsp;representations)</code>
<div class="block">Lightweight constructor to use for fixed duration content.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.html#DashChunkSource-com.google.android.exoplayer.dash.DashTrackSelector-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.chunk.FormatEvaluator-long-int-com.google.android.exoplayer.dash.mpd.Representation...-">DashChunkSource</a></span>(<a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.html" title="interface in com.google.android.exoplayer.dash">DashTrackSelector</a>&nbsp;trackSelector,
<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/chunk/FormatEvaluator.html" title="interface in com.google.android.exoplayer.chunk">FormatEvaluator</a>&nbsp;adaptiveFormatEvaluator,
long&nbsp;durationMs,
int&nbsp;adaptationSetType,
<a href="../../../../../com/google/android/exoplayer/dash/mpd/Representation.html" title="class in com.google.android.exoplayer.dash.mpd">Representation</a>...&nbsp;representations)</code>
<div class="block">Lightweight constructor to use for fixed duration content.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.html#DashChunkSource-com.google.android.exoplayer.util.ManifestFetcher-com.google.android.exoplayer.dash.DashTrackSelector-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.chunk.FormatEvaluator-long-long-boolean-android.os.Handler-com.google.android.exoplayer.dash.DashChunkSource.EventListener-int-">DashChunkSource</a></span>(<a href="../../../../../com/google/android/exoplayer/util/ManifestFetcher.html" title="class in com.google.android.exoplayer.util">ManifestFetcher</a>&lt;<a href="../../../../../com/google/android/exoplayer/dash/mpd/MediaPresentationDescription.html" title="class in com.google.android.exoplayer.dash.mpd">MediaPresentationDescription</a>&gt;&nbsp;manifestFetcher,
<a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.html" title="interface in com.google.android.exoplayer.dash">DashTrackSelector</a>&nbsp;trackSelector,
<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/chunk/FormatEvaluator.html" title="interface in com.google.android.exoplayer.chunk">FormatEvaluator</a>&nbsp;adaptiveFormatEvaluator,
long&nbsp;liveEdgeLatencyMs,
long&nbsp;elapsedRealtimeOffsetMs,
boolean&nbsp;startAtLiveEdge,
<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/dash/DashChunkSource.EventListener.html" title="interface in com.google.android.exoplayer.dash">DashChunkSource.EventListener</a>&nbsp;eventListener,
int&nbsp;eventSourceId)</code>
<div class="block">Constructor to use for live DVR streaming.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.html#DashChunkSource-com.google.android.exoplayer.util.ManifestFetcher-com.google.android.exoplayer.dash.DashTrackSelector-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.chunk.FormatEvaluator-long-long-android.os.Handler-com.google.android.exoplayer.dash.DashChunkSource.EventListener-int-">DashChunkSource</a></span>(<a href="../../../../../com/google/android/exoplayer/util/ManifestFetcher.html" title="class in com.google.android.exoplayer.util">ManifestFetcher</a>&lt;<a href="../../../../../com/google/android/exoplayer/dash/mpd/MediaPresentationDescription.html" title="class in com.google.android.exoplayer.dash.mpd">MediaPresentationDescription</a>&gt;&nbsp;manifestFetcher,
<a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.html" title="interface in com.google.android.exoplayer.dash">DashTrackSelector</a>&nbsp;trackSelector,
<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/chunk/FormatEvaluator.html" title="interface in com.google.android.exoplayer.chunk">FormatEvaluator</a>&nbsp;adaptiveFormatEvaluator,
long&nbsp;liveEdgeLatencyMs,
long&nbsp;elapsedRealtimeOffsetMs,
<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/dash/DashChunkSource.EventListener.html" title="interface in com.google.android.exoplayer.dash">DashChunkSource.EventListener</a>&nbsp;eventListener,
int&nbsp;eventSourceId)</code>
<div class="block">Constructor to use for live streaming.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.html#DashChunkSource-com.google.android.exoplayer.dash.mpd.MediaPresentationDescription-com.google.android.exoplayer.dash.DashTrackSelector-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.chunk.FormatEvaluator-">DashChunkSource</a></span>(<a href="../../../../../com/google/android/exoplayer/dash/mpd/MediaPresentationDescription.html" title="class in com.google.android.exoplayer.dash.mpd">MediaPresentationDescription</a>&nbsp;manifest,
<a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.html" title="interface in com.google.android.exoplayer.dash">DashTrackSelector</a>&nbsp;trackSelector,
<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/chunk/FormatEvaluator.html" title="interface in com.google.android.exoplayer.chunk">FormatEvaluator</a>&nbsp;adaptiveFormatEvaluator)</code>
<div class="block">Constructor to use for fixed duration content.</div>
</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/dash/DashChunkSource.html#adaptiveTrack-com.google.android.exoplayer.dash.mpd.MediaPresentationDescription-int-int-int:A-">adaptiveTrack</a></span>(<a href="../../../../../com/google/android/exoplayer/dash/mpd/MediaPresentationDescription.html" title="class in com.google.android.exoplayer.dash.mpd">MediaPresentationDescription</a>&nbsp;manifest,
int&nbsp;periodIndex,
int&nbsp;adaptationSetIndex,
int[]&nbsp;representationIndices)</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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.html#continueBuffering-long-">continueBuffering</a></span>(long&nbsp;playbackPositionUs)</code>
<div class="block">Indicates to the source that it should still be checking for updates to the stream.</div>
</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/dash/DashChunkSource.html#disable-java.util.List-">disable</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../com/google/android/exoplayer/chunk/MediaChunk.html" title="class in com.google.android.exoplayer.chunk">MediaChunk</a>&gt;&nbsp;queue)</code>
<div class="block">Disables the source.</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/dash/DashChunkSource.html#enable-int-">enable</a></span>(int&nbsp;track)</code>
<div class="block">Enable the source for the specified track.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.html#fixedTrack-com.google.android.exoplayer.dash.mpd.MediaPresentationDescription-int-int-int-">fixedTrack</a></span>(<a href="../../../../../com/google/android/exoplayer/dash/mpd/MediaPresentationDescription.html" title="class in com.google.android.exoplayer.dash.mpd">MediaPresentationDescription</a>&nbsp;manifest,
int&nbsp;periodIndex,
int&nbsp;adaptationSetIndex,
int&nbsp;representationIndex)</code>
<div class="block">Outputs an fixed track corresponding to the specified representation in the specified
adaptation set.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.html#getChunkOperation-java.util.List-long-com.google.android.exoplayer.chunk.ChunkOperationHolder-">getChunkOperation</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../com/google/android/exoplayer/chunk/MediaChunk.html" title="class in com.google.android.exoplayer.chunk">MediaChunk</a>&gt;&nbsp;queue,
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/chunk/ChunkSampleSource.html" title="class in com.google.android.exoplayer.chunk"><code>ChunkSampleSource</code></a>.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../com/google/android/exoplayer/MediaFormat.html" title="class in com.google.android.exoplayer">MediaFormat</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.html#getFormat-int-">getFormat</a></span>(int&nbsp;track)</code>
<div class="block">Gets the format of the specified track.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.html#getTrackCount--">getTrackCount</a></span>()</code>
<div class="block">Returns the number of tracks exposed by the source.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.html#maybeThrowError--">maybeThrowError</a></span>()</code>
<div class="block">If the source is currently having difficulty preparing or providing chunks, then this method
throws the underlying error.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../com/google/android/exoplayer/chunk/Chunk.html" title="class in com.google.android.exoplayer.chunk">Chunk</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.html#newMediaChunk-com.google.android.exoplayer.dash.DashChunkSource.PeriodHolder-com.google.android.exoplayer.dash.DashChunkSource.RepresentationHolder-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.MediaFormat-com.google.android.exoplayer.dash.DashChunkSource.ExposedTrack-int-int-boolean-">newMediaChunk</a></span>(<a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.PeriodHolder.html" title="class in com.google.android.exoplayer.dash">DashChunkSource.PeriodHolder</a>&nbsp;periodHolder,
<a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.RepresentationHolder.html" title="class in com.google.android.exoplayer.dash">DashChunkSource.RepresentationHolder</a>&nbsp;representationHolder,
<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/MediaFormat.html" title="class in com.google.android.exoplayer">MediaFormat</a>&nbsp;mediaFormat,
<a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.ExposedTrack.html" title="class in com.google.android.exoplayer.dash">DashChunkSource.ExposedTrack</a>&nbsp;enabledTrack,
int&nbsp;segmentNum,
int&nbsp;trigger,
boolean&nbsp;isMediaFormatFinal)</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.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/chunk/ChunkSampleSource.html" title="class in com.google.android.exoplayer.chunk"><code>ChunkSampleSource</code></a> has finished loading a chunk obtained from this
source.</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/dash/DashChunkSource.html#onChunkLoadError-com.google.android.exoplayer.chunk.Chunk-java.lang.Exception-">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/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;e)</code>
<div class="block">Invoked when the <a href="../../../../../com/google/android/exoplayer/chunk/ChunkSampleSource.html" title="class in com.google.android.exoplayer.chunk"><code>ChunkSampleSource</code></a> encounters an error loading a chunk obtained from
this source.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.html#prepare--">prepare</a></span>()</code>
<div class="block">Prepares the source.</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">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="DashChunkSource-com.google.android.exoplayer.dash.DashTrackSelector-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.chunk.FormatEvaluator-long-int-com.google.android.exoplayer.dash.mpd.Representation...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DashChunkSource</h4>
<pre>public&nbsp;DashChunkSource(<a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.html" title="interface in com.google.android.exoplayer.dash">DashTrackSelector</a>&nbsp;trackSelector,
<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/chunk/FormatEvaluator.html" title="interface in com.google.android.exoplayer.chunk">FormatEvaluator</a>&nbsp;adaptiveFormatEvaluator,
long&nbsp;durationMs,
int&nbsp;adaptationSetType,
<a href="../../../../../com/google/android/exoplayer/dash/mpd/Representation.html" title="class in com.google.android.exoplayer.dash.mpd">Representation</a>...&nbsp;representations)</pre>
<div class="block">Lightweight constructor to use for fixed duration content.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>trackSelector</code> - Selects tracks to be exposed by this source.</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>adaptiveFormatEvaluator</code> - For adaptive tracks, selects from the available formats.</dd>
<dd><code>durationMs</code> - The duration of the content.</dd>
<dd><code>adaptationSetType</code> - The type of the adaptation set to which the representations belong.
One of <a href="../../../../../com/google/android/exoplayer/dash/mpd/AdaptationSet.html#TYPE_AUDIO"><code>AdaptationSet.TYPE_AUDIO</code></a>, <a href="../../../../../com/google/android/exoplayer/dash/mpd/AdaptationSet.html#TYPE_VIDEO"><code>AdaptationSet.TYPE_VIDEO</code></a> and
<a href="../../../../../com/google/android/exoplayer/dash/mpd/AdaptationSet.html#TYPE_TEXT"><code>AdaptationSet.TYPE_TEXT</code></a>.</dd>
<dd><code>representations</code> - The representations to be considered by the source.</dd>
</dl>
</li>
</ul>
<a name="DashChunkSource-com.google.android.exoplayer.dash.DashTrackSelector-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.chunk.FormatEvaluator-long-int-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DashChunkSource</h4>
<pre>public&nbsp;DashChunkSource(<a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.html" title="interface in com.google.android.exoplayer.dash">DashTrackSelector</a>&nbsp;trackSelector,
<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/chunk/FormatEvaluator.html" title="interface in com.google.android.exoplayer.chunk">FormatEvaluator</a>&nbsp;adaptiveFormatEvaluator,
long&nbsp;durationMs,
int&nbsp;adaptationSetType,
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../com/google/android/exoplayer/dash/mpd/Representation.html" title="class in com.google.android.exoplayer.dash.mpd">Representation</a>&gt;&nbsp;representations)</pre>
<div class="block">Lightweight constructor to use for fixed duration content.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>trackSelector</code> - Selects tracks to be exposed by this source.</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>adaptiveFormatEvaluator</code> - For adaptive tracks, selects from the available formats.</dd>
<dd><code>durationMs</code> - The duration of the content.</dd>
<dd><code>adaptationSetType</code> - The type of the adaptation set to which the representations belong.
One of <a href="../../../../../com/google/android/exoplayer/dash/mpd/AdaptationSet.html#TYPE_AUDIO"><code>AdaptationSet.TYPE_AUDIO</code></a>, <a href="../../../../../com/google/android/exoplayer/dash/mpd/AdaptationSet.html#TYPE_VIDEO"><code>AdaptationSet.TYPE_VIDEO</code></a> and
<a href="../../../../../com/google/android/exoplayer/dash/mpd/AdaptationSet.html#TYPE_TEXT"><code>AdaptationSet.TYPE_TEXT</code></a>.</dd>
<dd><code>representations</code> - The representations to be considered by the source.</dd>
</dl>
</li>
</ul>
<a name="DashChunkSource-com.google.android.exoplayer.dash.mpd.MediaPresentationDescription-com.google.android.exoplayer.dash.DashTrackSelector-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.chunk.FormatEvaluator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DashChunkSource</h4>
<pre>public&nbsp;DashChunkSource(<a href="../../../../../com/google/android/exoplayer/dash/mpd/MediaPresentationDescription.html" title="class in com.google.android.exoplayer.dash.mpd">MediaPresentationDescription</a>&nbsp;manifest,
<a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.html" title="interface in com.google.android.exoplayer.dash">DashTrackSelector</a>&nbsp;trackSelector,
<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/chunk/FormatEvaluator.html" title="interface in com.google.android.exoplayer.chunk">FormatEvaluator</a>&nbsp;adaptiveFormatEvaluator)</pre>
<div class="block">Constructor to use for fixed duration content.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>manifest</code> - The manifest.</dd>
<dd><code>trackSelector</code> - Selects tracks from manifest periods to be exposed by this source.</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>adaptiveFormatEvaluator</code> - For adaptive tracks, selects from the available formats.</dd>
</dl>
</li>
</ul>
<a name="DashChunkSource-com.google.android.exoplayer.util.ManifestFetcher-com.google.android.exoplayer.dash.DashTrackSelector-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.chunk.FormatEvaluator-long-long-android.os.Handler-com.google.android.exoplayer.dash.DashChunkSource.EventListener-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DashChunkSource</h4>
<pre>public&nbsp;DashChunkSource(<a href="../../../../../com/google/android/exoplayer/util/ManifestFetcher.html" title="class in com.google.android.exoplayer.util">ManifestFetcher</a>&lt;<a href="../../../../../com/google/android/exoplayer/dash/mpd/MediaPresentationDescription.html" title="class in com.google.android.exoplayer.dash.mpd">MediaPresentationDescription</a>&gt;&nbsp;manifestFetcher,
<a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.html" title="interface in com.google.android.exoplayer.dash">DashTrackSelector</a>&nbsp;trackSelector,
<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/chunk/FormatEvaluator.html" title="interface in com.google.android.exoplayer.chunk">FormatEvaluator</a>&nbsp;adaptiveFormatEvaluator,
long&nbsp;liveEdgeLatencyMs,
long&nbsp;elapsedRealtimeOffsetMs,
<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/dash/DashChunkSource.EventListener.html" title="interface in com.google.android.exoplayer.dash">DashChunkSource.EventListener</a>&nbsp;eventListener,
int&nbsp;eventSourceId)</pre>
<div class="block">Constructor to use for live streaming.
<p>
May also be used for fixed duration content, in which case the call is equivalent to calling
the other constructor, passing <code>manifestFetcher.getManifest()</code> is the first argument.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>manifestFetcher</code> - A fetcher for the manifest, which must have already successfully
completed an initial load.</dd>
<dd><code>trackSelector</code> - Selects tracks from manifest periods to be exposed by this source.</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>adaptiveFormatEvaluator</code> - For adaptive tracks, selects from the available formats.</dd>
<dd><code>liveEdgeLatencyMs</code> - For live streams, 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, however
note that the value sets an upper bound on the length of media that the player can buffer.
Hence a small value may increase the probability of rebuffering and playback failures.</dd>
<dd><code>elapsedRealtimeOffsetMs</code> - If known, an estimate of the instantaneous difference between
server-side unix time and <a href="../../../../../com/google/android/exoplayer/util/SystemClock.html#elapsedRealtime--"><code>SystemClock.elapsedRealtime()</code></a> in milliseconds, specified
as the server's unix time minus the local elapsed time. It unknown, set to 0.</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>
<dd><code>eventSourceId</code> - An identifier that gets passed to <code>eventListener</code> methods.</dd>
</dl>
</li>
</ul>
<a name="DashChunkSource-com.google.android.exoplayer.util.ManifestFetcher-com.google.android.exoplayer.dash.DashTrackSelector-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.chunk.FormatEvaluator-long-long-boolean-android.os.Handler-com.google.android.exoplayer.dash.DashChunkSource.EventListener-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DashChunkSource</h4>
<pre>public&nbsp;DashChunkSource(<a href="../../../../../com/google/android/exoplayer/util/ManifestFetcher.html" title="class in com.google.android.exoplayer.util">ManifestFetcher</a>&lt;<a href="../../../../../com/google/android/exoplayer/dash/mpd/MediaPresentationDescription.html" title="class in com.google.android.exoplayer.dash.mpd">MediaPresentationDescription</a>&gt;&nbsp;manifestFetcher,
<a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.html" title="interface in com.google.android.exoplayer.dash">DashTrackSelector</a>&nbsp;trackSelector,
<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/chunk/FormatEvaluator.html" title="interface in com.google.android.exoplayer.chunk">FormatEvaluator</a>&nbsp;adaptiveFormatEvaluator,
long&nbsp;liveEdgeLatencyMs,
long&nbsp;elapsedRealtimeOffsetMs,
boolean&nbsp;startAtLiveEdge,
<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/dash/DashChunkSource.EventListener.html" title="interface in com.google.android.exoplayer.dash">DashChunkSource.EventListener</a>&nbsp;eventListener,
int&nbsp;eventSourceId)</pre>
<div class="block">Constructor to use for live DVR streaming.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>manifestFetcher</code> - A fetcher for the manifest, which must have already successfully
completed an initial load.</dd>
<dd><code>trackSelector</code> - Selects tracks from manifest periods to be exposed by this source.</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>adaptiveFormatEvaluator</code> - For adaptive tracks, selects from the available formats.</dd>
<dd><code>liveEdgeLatencyMs</code> - For live streams, 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, however
note that the value sets an upper bound on the length of media that the player can buffer.
Hence a small value may increase the probability of rebuffering and playback failures.</dd>
<dd><code>elapsedRealtimeOffsetMs</code> - If known, an estimate of the instantaneous difference between
server-side unix time and <a href="../../../../../com/google/android/exoplayer/util/SystemClock.html#elapsedRealtime--"><code>SystemClock.elapsedRealtime()</code></a> in milliseconds, specified
as the server's unix time minus the local elapsed time. It unknown, set to 0.</dd>
<dd><code>startAtLiveEdge</code> - True if the stream should start at the live edge; false if it should
at the beginning of the live window.</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>
<dd><code>eventSourceId</code> - An identifier that gets passed to <code>eventListener</code> methods.</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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#maybeThrowError--">ChunkSource</a></code></span></div>
<div class="block">If the source is currently having difficulty preparing or providing chunks, then this method
throws the underlying error. Otherwise does nothing.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#maybeThrowError--">maybeThrowError</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer.chunk">ChunkSource</a></code></dd>
<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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#prepare--">ChunkSource</a></code></span></div>
<div class="block">Prepares the source.
<p>
The method can be called repeatedly until the return value indicates success.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#prepare--">prepare</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer.chunk">ChunkSource</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the source was prepared, false otherwise.</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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#getTrackCount--">ChunkSource</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#getTrackCount--">getTrackCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer.chunk">ChunkSource</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of tracks.</dd>
</dl>
</li>
</ul>
<a name="getFormat-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFormat</h4>
<pre>public final&nbsp;<a href="../../../../../com/google/android/exoplayer/MediaFormat.html" title="class in com.google.android.exoplayer">MediaFormat</a>&nbsp;getFormat(int&nbsp;track)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#getFormat-int-">ChunkSource</a></code></span></div>
<div class="block">Gets the format of the specified track.
<p>
This method should only be called after the source has been prepared.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#getFormat-int-">getFormat</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer.chunk">ChunkSource</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>track</code> - The track index.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The format of the track.</dd>
</dl>
</li>
</ul>
<a name="enable-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enable</h4>
<pre>public&nbsp;void&nbsp;enable(int&nbsp;track)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#enable-int-">ChunkSource</a></code></span></div>
<div class="block">Enable the source for the specified track.
<p>
This method should only be called after the source has been prepared, and when the source is
disabled.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#enable-int-">enable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer.chunk">ChunkSource</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>track</code> - The track index.</dd>
</dl>
</li>
</ul>
<a name="continueBuffering-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>continueBuffering</h4>
<pre>public&nbsp;void&nbsp;continueBuffering(long&nbsp;playbackPositionUs)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#continueBuffering-long-">ChunkSource</a></code></span></div>
<div class="block">Indicates to the source that it should still be checking for updates to the stream.
<p>
This method should only be called when the source is enabled.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#continueBuffering-long-">continueBuffering</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer.chunk">ChunkSource</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>playbackPositionUs</code> - The current playback position.</dd>
</dl>
</li>
</ul>
<a name="getChunkOperation-java.util.List-long-com.google.android.exoplayer.chunk.ChunkOperationHolder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChunkOperation</h4>
<pre>public final&nbsp;void&nbsp;getChunkOperation(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../com/google/android/exoplayer/chunk/MediaChunk.html" title="class in com.google.android.exoplayer.chunk">MediaChunk</a>&gt;&nbsp;queue,
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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#getChunkOperation-java.util.List-long-com.google.android.exoplayer.chunk.ChunkOperationHolder-">ChunkSource</a></code></span></div>
<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/chunk/ChunkSampleSource.html" title="class in com.google.android.exoplayer.chunk"><code>ChunkSampleSource</code></a>.
<p>
This method should only be called when the source is enabled.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#getChunkOperation-java.util.List-long-com.google.android.exoplayer.chunk.ChunkOperationHolder-">getChunkOperation</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer.chunk">ChunkSource</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>queue</code> - A representation of the currently buffered <a href="../../../../../com/google/android/exoplayer/chunk/MediaChunk.html" title="class in com.google.android.exoplayer.chunk"><code>MediaChunk</code></a>s.</dd>
<dd><code>playbackPositionUs</code> - The current playback position. If the queue is empty 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> - A holder for the next operation, whose <a href="../../../../../com/google/android/exoplayer/chunk/ChunkOperationHolder.html#endOfStream"><code>ChunkOperationHolder.endOfStream</code></a> is
initially set to false, whose <a href="../../../../../com/google/android/exoplayer/chunk/ChunkOperationHolder.html#queueSize"><code>ChunkOperationHolder.queueSize</code></a> is initially equal to
the length of the queue, and whose <a href="../../../../../com/google/android/exoplayer/chunk/ChunkOperationHolder.html#chunk"><code>ChunkOperationHolder.chunk</code></a> is initially equal to
null or a <a href="../../../../../com/google/android/exoplayer/chunk/Chunk.html" title="class in com.google.android.exoplayer.chunk"><code>Chunk</code></a> previously supplied by the <a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer.chunk"><code>ChunkSource</code></a> that the caller has
not yet finished loading. In the latter case the chunk can either be replaced or left
unchanged. Note that leaving the chunk unchanged is both preferred and more efficient than
replacing it with a new but identical chunk.</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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#onChunkLoadCompleted-com.google.android.exoplayer.chunk.Chunk-">ChunkSource</a></code></span></div>
<div class="block">Invoked when the <a href="../../../../../com/google/android/exoplayer/chunk/ChunkSampleSource.html" title="class in com.google.android.exoplayer.chunk"><code>ChunkSampleSource</code></a> has finished loading a chunk obtained from this
source.
<p>
This method should only be called when the source is enabled.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#onChunkLoadCompleted-com.google.android.exoplayer.chunk.Chunk-">onChunkLoadCompleted</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer.chunk">ChunkSource</a></code></dd>
<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.lang.Exception-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onChunkLoadError</h4>
<pre>public&nbsp;void&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/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;e)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#onChunkLoadError-com.google.android.exoplayer.chunk.Chunk-java.lang.Exception-">ChunkSource</a></code></span></div>
<div class="block">Invoked when the <a href="../../../../../com/google/android/exoplayer/chunk/ChunkSampleSource.html" title="class in com.google.android.exoplayer.chunk"><code>ChunkSampleSource</code></a> encounters an error loading a chunk obtained from
this source.
<p>
This method should only be called when the source is enabled.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#onChunkLoadError-com.google.android.exoplayer.chunk.Chunk-java.lang.Exception-">onChunkLoadError</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer.chunk">ChunkSource</a></code></dd>
<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>
</dl>
</li>
</ul>
<a name="disable-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disable</h4>
<pre>public&nbsp;void&nbsp;disable(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../com/google/android/exoplayer/chunk/MediaChunk.html" title="class in com.google.android.exoplayer.chunk">MediaChunk</a>&gt;&nbsp;queue)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#disable-java.util.List-">ChunkSource</a></code></span></div>
<div class="block">Disables the source.
<p>
This method should only be called when the source is enabled.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html#disable-java.util.List-">disable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/android/exoplayer/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer.chunk">ChunkSource</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>queue</code> - A representation of the currently buffered <a href="../../../../../com/google/android/exoplayer/chunk/MediaChunk.html" title="class in com.google.android.exoplayer.chunk"><code>MediaChunk</code></a>s.</dd>
</dl>
</li>
</ul>
<a name="adaptiveTrack-com.google.android.exoplayer.dash.mpd.MediaPresentationDescription-int-int-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>adaptiveTrack</h4>
<pre>public&nbsp;void&nbsp;adaptiveTrack(<a href="../../../../../com/google/android/exoplayer/dash/mpd/MediaPresentationDescription.html" title="class in com.google.android.exoplayer.dash.mpd">MediaPresentationDescription</a>&nbsp;manifest,
int&nbsp;periodIndex,
int&nbsp;adaptationSetIndex,
int[]&nbsp;representationIndices)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.Output.html#adaptiveTrack-com.google.android.exoplayer.dash.mpd.MediaPresentationDescription-int-int-int:A-">DashTrackSelector.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/dash/DashTrackSelector.Output.html#adaptiveTrack-com.google.android.exoplayer.dash.mpd.MediaPresentationDescription-int-int-int:A-">adaptiveTrack</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.Output.html" title="interface in com.google.android.exoplayer.dash">DashTrackSelector.Output</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>manifest</code> - The media presentation description being processed.</dd>
<dd><code>periodIndex</code> - The index of the period being processed.</dd>
<dd><code>adaptationSetIndex</code> - The index of the adaptation set within which the representations
are located.</dd>
<dd><code>representationIndices</code> - The indices of the track within the element.</dd>
</dl>
</li>
</ul>
<a name="fixedTrack-com.google.android.exoplayer.dash.mpd.MediaPresentationDescription-int-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fixedTrack</h4>
<pre>public&nbsp;void&nbsp;fixedTrack(<a href="../../../../../com/google/android/exoplayer/dash/mpd/MediaPresentationDescription.html" title="class in com.google.android.exoplayer.dash.mpd">MediaPresentationDescription</a>&nbsp;manifest,
int&nbsp;periodIndex,
int&nbsp;adaptationSetIndex,
int&nbsp;representationIndex)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.Output.html#fixedTrack-com.google.android.exoplayer.dash.mpd.MediaPresentationDescription-int-int-int-">DashTrackSelector.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/dash/DashTrackSelector.Output.html#fixedTrack-com.google.android.exoplayer.dash.mpd.MediaPresentationDescription-int-int-int-">fixedTrack</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/android/exoplayer/dash/DashTrackSelector.Output.html" title="interface in com.google.android.exoplayer.dash">DashTrackSelector.Output</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>manifest</code> - The media presentation description being processed.</dd>
<dd><code>periodIndex</code> - The index of the period being processed.</dd>
<dd><code>adaptationSetIndex</code> - The index of the adaptation set within which the track is located.</dd>
<dd><code>representationIndex</code> - The index of the representation within the adaptation set.</dd>
</dl>
</li>
</ul>
<a name="newMediaChunk-com.google.android.exoplayer.dash.DashChunkSource.PeriodHolder-com.google.android.exoplayer.dash.DashChunkSource.RepresentationHolder-com.google.android.exoplayer.upstream.DataSource-com.google.android.exoplayer.MediaFormat-com.google.android.exoplayer.dash.DashChunkSource.ExposedTrack-int-int-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>newMediaChunk</h4>
<pre>protected&nbsp;<a href="../../../../../com/google/android/exoplayer/chunk/Chunk.html" title="class in com.google.android.exoplayer.chunk">Chunk</a>&nbsp;newMediaChunk(<a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.PeriodHolder.html" title="class in com.google.android.exoplayer.dash">DashChunkSource.PeriodHolder</a>&nbsp;periodHolder,
<a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.RepresentationHolder.html" title="class in com.google.android.exoplayer.dash">DashChunkSource.RepresentationHolder</a>&nbsp;representationHolder,
<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/MediaFormat.html" title="class in com.google.android.exoplayer">MediaFormat</a>&nbsp;mediaFormat,
<a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.ExposedTrack.html" title="class in com.google.android.exoplayer.dash">DashChunkSource.ExposedTrack</a>&nbsp;enabledTrack,
int&nbsp;segmentNum,
int&nbsp;trigger,
boolean&nbsp;isMediaFormatFinal)</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>Prev&nbsp;Class</li>
<li><a href="../../../../../com/google/android/exoplayer/dash/DashChunkSource.EventListener.html" title="interface in com.google.android.exoplayer.dash"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/google/android/exoplayer/dash/DashChunkSource.html" target="_top">Frames</a></li>
<li><a href="DashChunkSource.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>Field&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>Field&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>