2021-04-20 16:18:09 +01:00

336 lines
14 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:31 GMT 2016 -->
<title>LoadControl (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="LoadControl (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/FrameworkSampleSource.html" title="class in com.google.android.exoplayer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/google/android/exoplayer/MediaClock.html" title="interface in com.google.android.exoplayer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/google/android/exoplayer/LoadControl.html" target="_top">Frames</a></li>
<li><a href="LoadControl.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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</div>
<h2 title="Interface LoadControl" class="title">Interface LoadControl</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../com/google/android/exoplayer/DefaultLoadControl.html" title="class in com.google.android.exoplayer">DefaultLoadControl</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">LoadControl</span></pre>
<div class="block">Coordinates multiple loaders of time series data.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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><a href="../../../../com/google/android/exoplayer/upstream/Allocator.html" title="interface in com.google.android.exoplayer.upstream">Allocator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/google/android/exoplayer/LoadControl.html#getAllocator--">getAllocator</a></span>()</code>
<div class="block">Gets the <a href="../../../../com/google/android/exoplayer/upstream/Allocator.html" title="interface in com.google.android.exoplayer.upstream"><code>Allocator</code></a> that loaders should use to obtain memory allocations into which
data can be loaded.</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/LoadControl.html#register-java.lang.Object-int-">register</a></span>(<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>&nbsp;loader,
int&nbsp;bufferSizeContribution)</code>
<div class="block">Registers a loader.</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/LoadControl.html#trimAllocator--">trimAllocator</a></span>()</code>
<div class="block">Hints to the control that it should consider trimming any unused memory being held in order
to satisfy allocation requests.</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/LoadControl.html#unregister-java.lang.Object-">unregister</a></span>(<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>&nbsp;loader)</code>
<div class="block">Unregisters a loader.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/google/android/exoplayer/LoadControl.html#update-java.lang.Object-long-long-boolean-">update</a></span>(<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>&nbsp;loader,
long&nbsp;playbackPositionUs,
long&nbsp;nextLoadPositionUs,
boolean&nbsp;loading)</code>
<div class="block">Invoked by a loader to update the control with its current state.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="register-java.lang.Object-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre>void&nbsp;register(<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>&nbsp;loader,
int&nbsp;bufferSizeContribution)</pre>
<div class="block">Registers a loader.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>loader</code> - The loader being registered.</dd>
<dd><code>bufferSizeContribution</code> - For instances whose <a href="../../../../com/google/android/exoplayer/upstream/Allocator.html" title="interface in com.google.android.exoplayer.upstream"><code>Allocator</code></a> maintains a pool of memory
for the purpose of satisfying allocation requests, this is a hint indicating the loader's
desired contribution to the size of the pool, in bytes.</dd>
</dl>
</li>
</ul>
<a name="unregister-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregister</h4>
<pre>void&nbsp;unregister(<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>&nbsp;loader)</pre>
<div class="block">Unregisters a loader.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>loader</code> - The loader being unregistered.</dd>
</dl>
</li>
</ul>
<a name="getAllocator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllocator</h4>
<pre><a href="../../../../com/google/android/exoplayer/upstream/Allocator.html" title="interface in com.google.android.exoplayer.upstream">Allocator</a>&nbsp;getAllocator()</pre>
<div class="block">Gets the <a href="../../../../com/google/android/exoplayer/upstream/Allocator.html" title="interface in com.google.android.exoplayer.upstream"><code>Allocator</code></a> that loaders should use to obtain memory allocations into which
data can be loaded.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <a href="../../../../com/google/android/exoplayer/upstream/Allocator.html" title="interface in com.google.android.exoplayer.upstream"><code>Allocator</code></a> to use.</dd>
</dl>
</li>
</ul>
<a name="trimAllocator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimAllocator</h4>
<pre>void&nbsp;trimAllocator()</pre>
<div class="block">Hints to the control that it should consider trimming any unused memory being held in order
to satisfy allocation requests.
<p>
This method is typically invoked by a recently unregistered loader, once it has released all
of its allocations back to the <a href="../../../../com/google/android/exoplayer/upstream/Allocator.html" title="interface in com.google.android.exoplayer.upstream"><code>Allocator</code></a>.</div>
</li>
</ul>
<a name="update-java.lang.Object-long-long-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>update</h4>
<pre>boolean&nbsp;update(<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>&nbsp;loader,
long&nbsp;playbackPositionUs,
long&nbsp;nextLoadPositionUs,
boolean&nbsp;loading)</pre>
<div class="block">Invoked by a loader to update the control with its current state.
<p>
This method must be called by a registered loader whenever its state changes. This is true
even if the registered loader does not itself wish to start its next load (since the state of
the loader will still affect whether other registered loaders are allowed to proceed).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>loader</code> - The loader invoking the update.</dd>
<dd><code>playbackPositionUs</code> - The loader's playback position.</dd>
<dd><code>nextLoadPositionUs</code> - The loader's next load position. -1 if finished, failed, or if the
next load position is not yet known.</dd>
<dd><code>loading</code> - Whether the loader is currently loading data.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the loader is allowed to start its next load. False otherwise.</dd>
</dl>
</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/FrameworkSampleSource.html" title="class in com.google.android.exoplayer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/google/android/exoplayer/MediaClock.html" title="interface in com.google.android.exoplayer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/google/android/exoplayer/LoadControl.html" target="_top">Frames</a></li>
<li><a href="LoadControl.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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>