mirror of
https://github.com/samsonjs/media.git
synced 2026-04-11 12:15:47 +00:00
311 lines
17 KiB
HTML
311 lines
17 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:29 GMT 2016 -->
|
|
<title>DataSource (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="DataSource (ExoPlayer library)";
|
|
}
|
|
}
|
|
catch(err) {
|
|
}
|
|
//-->
|
|
var methods = {"i0":6,"i1":6,"i2":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/upstream/DataSink.html" title="interface in com.google.android.exoplayer.upstream"><span class="typeNameLink">Prev Class</span></a></li>
|
|
<li><a href="../../../../../com/google/android/exoplayer/upstream/DataSourceInputStream.html" title="class in com.google.android.exoplayer.upstream"><span class="typeNameLink">Next Class</span></a></li>
|
|
</ul>
|
|
<ul class="navList">
|
|
<li><a href="../../../../../index.html?com/google/android/exoplayer/upstream/DataSource.html" target="_top">Frames</a></li>
|
|
<li><a href="DataSource.html" target="_top">No Frames</a></li>
|
|
</ul>
|
|
<ul class="navList" id="allclasses_navbar_top">
|
|
<li><a href="../../../../../allclasses-noframe.html">All 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: </li>
|
|
<li>Nested | </li>
|
|
<li>Field | </li>
|
|
<li>Constr | </li>
|
|
<li><a href="#method.summary">Method</a></li>
|
|
</ul>
|
|
<ul class="subNavList">
|
|
<li>Detail: </li>
|
|
<li>Field | </li>
|
|
<li>Constr | </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.upstream</div>
|
|
<h2 title="Interface DataSource" class="title">Interface DataSource</h2>
|
|
</div>
|
|
<div class="contentContainer">
|
|
<div class="description">
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<dl>
|
|
<dt>All Known Subinterfaces:</dt>
|
|
<dd><a href="../../../../../com/google/android/exoplayer/upstream/HttpDataSource.html" title="interface in com.google.android.exoplayer.upstream">HttpDataSource</a>, <a href="../../../../../com/google/android/exoplayer/upstream/UriDataSource.html" title="interface in com.google.android.exoplayer.upstream">UriDataSource</a></dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>All Known Implementing Classes:</dt>
|
|
<dd><a href="../../../../../com/google/android/exoplayer/upstream/AssetDataSource.html" title="class in com.google.android.exoplayer.upstream">AssetDataSource</a>, <a href="../../../../../com/google/android/exoplayer/upstream/ByteArrayDataSource.html" title="class in com.google.android.exoplayer.upstream">ByteArrayDataSource</a>, <a href="../../../../../com/google/android/exoplayer/upstream/cache/CacheDataSource.html" title="class in com.google.android.exoplayer.upstream.cache">CacheDataSource</a>, <a href="../../../../../com/google/android/exoplayer/upstream/ContentDataSource.html" title="class in com.google.android.exoplayer.upstream">ContentDataSource</a>, <a href="../../../../../com/google/android/exoplayer/upstream/DefaultHttpDataSource.html" title="class in com.google.android.exoplayer.upstream">DefaultHttpDataSource</a>, <a href="../../../../../com/google/android/exoplayer/upstream/DefaultUriDataSource.html" title="class in com.google.android.exoplayer.upstream">DefaultUriDataSource</a>, <a href="../../../../../com/google/android/exoplayer/upstream/FileDataSource.html" title="class in com.google.android.exoplayer.upstream">FileDataSource</a>, <a href="../../../../../com/google/android/exoplayer/upstream/PriorityDataSource.html" title="class in com.google.android.exoplayer.upstream">PriorityDataSource</a>, <a href="../../../../../com/google/android/exoplayer/upstream/TeeDataSource.html" title="class in com.google.android.exoplayer.upstream">TeeDataSource</a>, <a href="../../../../../com/google/android/exoplayer/upstream/UdpDataSource.html" title="class in com.google.android.exoplayer.upstream">UdpDataSource</a></dd>
|
|
</dl>
|
|
<hr>
|
|
<br>
|
|
<pre>public interface <span class="typeNameLabel">DataSource</span></pre>
|
|
<div class="block">A component that provides media 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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </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/upstream/DataSource.html#close--">close</a></span>()</code>
|
|
<div class="block">Closes the <a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html" title="interface in com.google.android.exoplayer.upstream"><code>DataSource</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i1" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html#open-com.google.android.exoplayer.upstream.DataSpec-">open</a></span>(<a href="../../../../../com/google/android/exoplayer/upstream/DataSpec.html" title="class in com.google.android.exoplayer.upstream">DataSpec</a> dataSpec)</code>
|
|
<div class="block">Opens the <a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html" title="interface in com.google.android.exoplayer.upstream"><code>DataSource</code></a> to read the specified data.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i2" class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html#read-byte:A-int-int-">read</a></span>(byte[] buffer,
|
|
int offset,
|
|
int readLength)</code>
|
|
<div class="block">Reads up to <code>length</code> bytes of data and stores them into <code>buffer</code>, starting at
|
|
index <code>offset</code>.</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="open-com.google.android.exoplayer.upstream.DataSpec-">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>open</h4>
|
|
<pre>long open(<a href="../../../../../com/google/android/exoplayer/upstream/DataSpec.html" title="class in com.google.android.exoplayer.upstream">DataSpec</a> dataSpec)
|
|
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">Opens the <a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html" title="interface in com.google.android.exoplayer.upstream"><code>DataSource</code></a> to read the specified data. Calls to <a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html#open-com.google.android.exoplayer.upstream.DataSpec-"><code>open(DataSpec)</code></a> and
|
|
<a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html#close--"><code>close()</code></a> must be balanced.
|
|
<p>
|
|
Note: If <a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html#open-com.google.android.exoplayer.upstream.DataSpec-"><code>open(DataSpec)</code></a> throws an <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a>, callers must still call
|
|
<a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html#close--"><code>close()</code></a> to ensure that any partial effects of the <a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html#open-com.google.android.exoplayer.upstream.DataSpec-"><code>open(DataSpec)</code></a> invocation
|
|
are cleaned up. Implementations of this class can assume that callers will call
|
|
<a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html#close--"><code>close()</code></a> in this case.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>dataSpec</code> - Defines the data to be read.</dd>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The number of bytes that can be read from the opened source. For unbounded requests
|
|
(i.e. requests where <a href="../../../../../com/google/android/exoplayer/upstream/DataSpec.html#length"><code>DataSpec.length</code></a> equals <a href="../../../../../com/google/android/exoplayer/C.html#LENGTH_UNBOUNDED"><code>C.LENGTH_UNBOUNDED</code></a>) this value
|
|
is the resolved length of the request, or <a href="../../../../../com/google/android/exoplayer/C.html#LENGTH_UNBOUNDED"><code>C.LENGTH_UNBOUNDED</code></a> if the length is still
|
|
unresolved. For all other requests, the value returned will be equal to the request's
|
|
<a href="../../../../../com/google/android/exoplayer/upstream/DataSpec.html#length"><code>DataSpec.length</code></a>.</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> - If an error occurs opening the source.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a name="close--">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>close</h4>
|
|
<pre>void close()
|
|
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">Closes the <a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html" title="interface in com.google.android.exoplayer.upstream"><code>DataSource</code></a>.
|
|
<p>
|
|
Note: This method will be called even if the corresponding call to <a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html#open-com.google.android.exoplayer.upstream.DataSpec-"><code>open(DataSpec)</code></a>
|
|
threw an <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a>. See <a href="../../../../../com/google/android/exoplayer/upstream/DataSource.html#open-com.google.android.exoplayer.upstream.DataSpec-"><code>open(DataSpec)</code></a> for more details.</div>
|
|
<dl>
|
|
<dt><span class="throwsLabel">Throws:</span></dt>
|
|
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If an error occurs closing the source.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a name="read-byte:A-int-int-">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockListLast">
|
|
<li class="blockList">
|
|
<h4>read</h4>
|
|
<pre>int read(byte[] buffer,
|
|
int offset,
|
|
int readLength)
|
|
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">Reads up to <code>length</code> bytes of data and stores them into <code>buffer</code>, starting at
|
|
index <code>offset</code>.
|
|
<p>
|
|
This method blocks until at least one byte of data can be read, the end of the opened range is
|
|
detected, or an exception is thrown.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>buffer</code> - The buffer into which the read data should be stored.</dd>
|
|
<dd><code>offset</code> - The start offset into <code>buffer</code> at which data should be written.</dd>
|
|
<dd><code>readLength</code> - The maximum number of bytes to read.</dd>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The number of bytes read, or <a href="../../../../../com/google/android/exoplayer/C.html#RESULT_END_OF_INPUT"><code>C.RESULT_END_OF_INPUT</code></a> if the end of the opened
|
|
range is reached.</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> - If an error occurs reading from 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/upstream/DataSink.html" title="interface in com.google.android.exoplayer.upstream"><span class="typeNameLink">Prev Class</span></a></li>
|
|
<li><a href="../../../../../com/google/android/exoplayer/upstream/DataSourceInputStream.html" title="class in com.google.android.exoplayer.upstream"><span class="typeNameLink">Next Class</span></a></li>
|
|
</ul>
|
|
<ul class="navList">
|
|
<li><a href="../../../../../index.html?com/google/android/exoplayer/upstream/DataSource.html" target="_top">Frames</a></li>
|
|
<li><a href="DataSource.html" target="_top">No Frames</a></li>
|
|
</ul>
|
|
<ul class="navList" id="allclasses_navbar_bottom">
|
|
<li><a href="../../../../../allclasses-noframe.html">All 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: </li>
|
|
<li>Nested | </li>
|
|
<li>Field | </li>
|
|
<li>Constr | </li>
|
|
<li><a href="#method.summary">Method</a></li>
|
|
</ul>
|
|
<ul class="subNavList">
|
|
<li>Detail: </li>
|
|
<li>Field | </li>
|
|
<li>Constr | </li>
|
|
<li><a href="#method.detail">Method</a></li>
|
|
</ul>
|
|
</div>
|
|
<a name="skip.navbar.bottom">
|
|
<!-- -->
|
|
</a></div>
|
|
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
|
</body>
|
|
</html>
|