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

388 lines
16 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>SampleSource (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="SampleSource (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var methods = {"i0":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/SampleHolder.html" title="class in com.google.android.exoplayer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/google/android/exoplayer/SampleSource.SampleSourceReader.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/SampleSource.html" target="_top">Frames</a></li>
<li><a href="SampleSource.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>Constr&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>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 SampleSource" class="title">Interface SampleSource</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/chunk/ChunkSampleSource.html" title="class in com.google.android.exoplayer.chunk">ChunkSampleSource</a>, <a href="../../../../com/google/android/exoplayer/extractor/ExtractorSampleSource.html" title="class in com.google.android.exoplayer.extractor">ExtractorSampleSource</a>, <a href="../../../../com/google/android/exoplayer/FrameworkSampleSource.html" title="class in com.google.android.exoplayer">FrameworkSampleSource</a>, <a href="../../../../com/google/android/exoplayer/hls/HlsSampleSource.html" title="class in com.google.android.exoplayer.hls">HlsSampleSource</a>, <a href="../../../../com/google/android/exoplayer/SingleSampleSource.html" title="class in com.google.android.exoplayer">SingleSampleSource</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">SampleSource</span></pre>
<div class="block">A source of media samples.
<p>
A <a href="../../../../com/google/android/exoplayer/SampleSource.html" title="interface in com.google.android.exoplayer"><code>SampleSource</code></a> may expose one or multiple tracks. The number of tracks and each track's
media format can be queried using <a href="../../../../com/google/android/exoplayer/SampleSource.SampleSourceReader.html#getTrackCount--"><code>SampleSource.SampleSourceReader.getTrackCount()</code></a> and
<a href="../../../../com/google/android/exoplayer/SampleSource.SampleSourceReader.html#getFormat-int-"><code>SampleSource.SampleSourceReader.getFormat(int)</code></a> respectively.</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">Interface 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/SampleSource.SampleSourceReader.html" title="interface in com.google.android.exoplayer">SampleSource.SampleSourceReader</a></span></code>
<div class="block">An interface providing read access to a <a href="../../../../com/google/android/exoplayer/SampleSource.html" title="interface in com.google.android.exoplayer"><code>SampleSource</code></a>.</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 int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/google/android/exoplayer/SampleSource.html#END_OF_STREAM">END_OF_STREAM</a></span></code>
<div class="block">The end of stream has been reached.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/google/android/exoplayer/SampleSource.html#FORMAT_READ">FORMAT_READ</a></span></code>
<div class="block">A format was read.</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/SampleSource.html#NO_DISCONTINUITY">NO_DISCONTINUITY</a></span></code>
<div class="block">Returned from <a href="../../../../com/google/android/exoplayer/SampleSource.SampleSourceReader.html#readDiscontinuity-int-"><code>SampleSource.SampleSourceReader.readDiscontinuity(int)</code></a> to indicate no discontinuity.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/google/android/exoplayer/SampleSource.html#NOTHING_READ">NOTHING_READ</a></span></code>
<div class="block">Neither a sample nor a format was read in full.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/google/android/exoplayer/SampleSource.html#SAMPLE_READ">SAMPLE_READ</a></span></code>
<div class="block">A sample was read.</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="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/SampleSource.SampleSourceReader.html" title="interface in com.google.android.exoplayer">SampleSource.SampleSourceReader</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/google/android/exoplayer/SampleSource.html#register--">register</a></span>()</code>
<div class="block">A consumer of samples should call this method to register themselves and gain access to the
source through the returned <a href="../../../../com/google/android/exoplayer/SampleSource.SampleSourceReader.html" title="interface in com.google.android.exoplayer"><code>SampleSource.SampleSourceReader</code></a>.</div>
</td>
</tr>
</table>
</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="END_OF_STREAM">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>END_OF_STREAM</h4>
<pre>static final&nbsp;int END_OF_STREAM</pre>
<div class="block">The end of stream has been reached.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer.SampleSource.END_OF_STREAM">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="NOTHING_READ">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NOTHING_READ</h4>
<pre>static final&nbsp;int NOTHING_READ</pre>
<div class="block">Neither a sample nor a format was read in full. This may be because insufficient data is
buffered upstream. If multiple tracks are enabled, this return value may indicate that the
next piece of data to be returned from the <a href="../../../../com/google/android/exoplayer/SampleSource.html" title="interface in com.google.android.exoplayer"><code>SampleSource</code></a> corresponds to a different
track than the one for which data was requested.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer.SampleSource.NOTHING_READ">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SAMPLE_READ">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SAMPLE_READ</h4>
<pre>static final&nbsp;int SAMPLE_READ</pre>
<div class="block">A sample was read.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer.SampleSource.SAMPLE_READ">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="FORMAT_READ">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FORMAT_READ</h4>
<pre>static final&nbsp;int FORMAT_READ</pre>
<div class="block">A format was read.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer.SampleSource.FORMAT_READ">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="NO_DISCONTINUITY">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>NO_DISCONTINUITY</h4>
<pre>static final&nbsp;long NO_DISCONTINUITY</pre>
<div class="block">Returned from <a href="../../../../com/google/android/exoplayer/SampleSource.SampleSourceReader.html#readDiscontinuity-int-"><code>SampleSource.SampleSourceReader.readDiscontinuity(int)</code></a> to indicate no discontinuity.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer.SampleSource.NO_DISCONTINUITY">Constant Field Values</a></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="register--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>register</h4>
<pre><a href="../../../../com/google/android/exoplayer/SampleSource.SampleSourceReader.html" title="interface in com.google.android.exoplayer">SampleSource.SampleSourceReader</a>&nbsp;register()</pre>
<div class="block">A consumer of samples should call this method to register themselves and gain access to the
source through the returned <a href="../../../../com/google/android/exoplayer/SampleSource.SampleSourceReader.html" title="interface in com.google.android.exoplayer"><code>SampleSource.SampleSourceReader</code></a>.
<p>
<a href="../../../../com/google/android/exoplayer/SampleSource.SampleSourceReader.html#release--"><code>SampleSource.SampleSourceReader.release()</code></a> should be called on the returned object when access is no
longer required.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A <a href="../../../../com/google/android/exoplayer/SampleSource.SampleSourceReader.html" title="interface in com.google.android.exoplayer"><code>SampleSource.SampleSourceReader</code></a> that provides access to the source.</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/SampleHolder.html" title="class in com.google.android.exoplayer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/google/android/exoplayer/SampleSource.SampleSourceReader.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/SampleSource.html" target="_top">Frames</a></li>
<li><a href="SampleSource.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>Constr&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>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>