mirror of
https://github.com/samsonjs/media.git
synced 2026-03-26 09:35:47 +00:00
2294 lines
104 KiB
HTML
2294 lines
104 KiB
HTML
<!DOCTYPE HTML>
|
|
<!-- NewPage -->
|
|
<html lang="en">
|
|
<head><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"><link rel="manifest" href="/assets/site.webmanifest"><link rel="mask-icon" href="/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/assets/favicon.ico"><meta name="msapplication-TileColor" content="#ffc40d"><meta name="msapplication-config" content="/assets/browserconfig.xml"><meta name="theme-color" content="#ffffff"><!-- end favicons snippet -->
|
|
<title>PlaybackStats (ExoPlayer library)</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
|
|
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
|
|
<script type="text/javascript" src="../../../../../script.js"></script>
|
|
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
|
|
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
|
|
<!--[if IE]>
|
|
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
|
|
<![endif]-->
|
|
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
|
|
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
|
|
</head>
|
|
<body>
|
|
<script type="text/javascript"><!--
|
|
try {
|
|
if (location.href.indexOf('is-external=true') == -1) {
|
|
parent.document.title="PlaybackStats (ExoPlayer library)";
|
|
}
|
|
}
|
|
catch(err) {
|
|
}
|
|
//-->
|
|
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":9};
|
|
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
|
|
var altColor = "altColor";
|
|
var rowColor = "rowColor";
|
|
var tableTab = "tableTab";
|
|
var activeTableTab = "activeTableTab";
|
|
var pathtoroot = "../../../../../";
|
|
var useModuleDirectories = false;
|
|
loadScripts(document, 'script');</script>
|
|
<noscript>
|
|
<div>JavaScript is disabled on your browser.</div>
|
|
</noscript>
|
|
<header role="banner">
|
|
<nav role="navigation">
|
|
<div class="fixedNav">
|
|
<!-- ========= START OF TOP NAVBAR ======= -->
|
|
<div class="topNav"><a id="navbar.top">
|
|
<!-- -->
|
|
</a>
|
|
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
|
|
<a id="navbar.top.firstrow">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="navList" title="Navigation">
|
|
<li><a href="../../../../../index.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" id="allclasses_navbar_top">
|
|
<li><a href="../../../../../allclasses.html">All Classes</a></li>
|
|
</ul>
|
|
<ul class="navListSearch">
|
|
<li><label for="search">SEARCH:</label>
|
|
<input type="text" id="search" value="search" disabled="disabled">
|
|
<input type="reset" id="reset" value="reset" disabled="disabled">
|
|
</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>
|
|
<noscript>
|
|
<div>JavaScript is disabled on your browser.</div>
|
|
</noscript>
|
|
</div>
|
|
<div>
|
|
<ul class="subNavList">
|
|
<li>Summary: </li>
|
|
<li><a href="#nested.class.summary">Nested</a> | </li>
|
|
<li><a href="#field.summary">Field</a> | </li>
|
|
<li>Constr | </li>
|
|
<li><a href="#method.summary">Method</a></li>
|
|
</ul>
|
|
<ul class="subNavList">
|
|
<li>Detail: </li>
|
|
<li><a href="#field.detail">Field</a> | </li>
|
|
<li>Constr | </li>
|
|
<li><a href="#method.detail">Method</a></li>
|
|
</ul>
|
|
</div>
|
|
<a id="skip.navbar.top">
|
|
<!-- -->
|
|
</a></div>
|
|
<!-- ========= END OF TOP NAVBAR ========= -->
|
|
</div>
|
|
<div class="navPadding"> </div>
|
|
<script type="text/javascript"><!--
|
|
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
|
//-->
|
|
</script>
|
|
</nav>
|
|
</header>
|
|
<!-- ======== START OF CLASS DATA ======== -->
|
|
<main role="main">
|
|
<div class="header">
|
|
<div class="subTitle"><span class="packageLabelInType">Package</span> <a href="package-summary.html">com.google.android.exoplayer2.analytics</a></div>
|
|
<h2 title="Class PlaybackStats" class="title">Class PlaybackStats</h2>
|
|
</div>
|
|
<div class="contentContainer">
|
|
<ul class="inheritance">
|
|
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
|
|
<li>
|
|
<ul class="inheritance">
|
|
<li>com.google.android.exoplayer2.analytics.PlaybackStats</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<div class="description">
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<hr>
|
|
<pre>public final class <span class="typeNameLabel">PlaybackStats</span>
|
|
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></pre>
|
|
<div class="block">Statistics about playbacks.</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="summary">
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<!-- ======== NESTED CLASS SUMMARY ======== -->
|
|
<section role="region">
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="nested.class.summary">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Nested Class Summary</h3>
|
|
<table class="memberSummary">
|
|
<caption><span>Nested Classes</span><span class="tabEnd"> </span></caption>
|
|
<tr>
|
|
<th class="colFirst" scope="col">Modifier and Type</th>
|
|
<th class="colSecond" scope="col">Class</th>
|
|
<th class="colLast" scope="col">Description</th>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>static class </code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PlaybackStats.EventTimeAndException.html" title="class in com.google.android.exoplayer2.analytics">PlaybackStats.EventTimeAndException</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Stores an exception with the event time at which it occurred.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>static class </code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PlaybackStats.EventTimeAndFormat.html" title="class in com.google.android.exoplayer2.analytics">PlaybackStats.EventTimeAndFormat</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Stores a format with the event time at which it started being used, or <code>null</code> to indicate
|
|
that no format was used.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>static class </code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PlaybackStats.EventTimeAndPlaybackState.html" title="class in com.google.android.exoplayer2.analytics">PlaybackStats.EventTimeAndPlaybackState</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Stores a playback state with the event time at which it became active.</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<!-- =========== FIELD SUMMARY =========== -->
|
|
<section role="region">
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="field.summary">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Field Summary</h3>
|
|
<table class="memberSummary">
|
|
<caption><span>Fields</span><span class="tabEnd"> </span></caption>
|
|
<tr>
|
|
<th class="colFirst" scope="col">Modifier and Type</th>
|
|
<th class="colSecond" scope="col">Field</th>
|
|
<th class="colLast" scope="col">Description</th>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#abandonedBeforeReadyCount">abandonedBeforeReadyCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The number of playbacks which were abandoned before they were ready to play.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#adPlaybackCount">adPlaybackCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The number of ad playbacks.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code><a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="PlaybackStats.EventTimeAndFormat.html" title="class in com.google.android.exoplayer2.analytics" target="_top">PlaybackStats.EventTimeAndFormat</a>></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#audioFormatHistory">audioFormatHistory</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The audio format history as <a href="PlaybackStats.EventTimeAndFormat.html" title="class in com.google.android.exoplayer2.analytics"><code>EventTimeAndFormats</code></a> ordered by <code>
|
|
EventTime.realTimeMs</code>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#backgroundJoiningCount">backgroundJoiningCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The number of playbacks which were pre-buffered in the background.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>static <a href="PlaybackStats.html" title="class in com.google.android.exoplayer2.analytics">PlaybackStats</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EMPTY">EMPTY</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Empty playback stats.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#endedCount">endedCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The number of playbacks which reached the ended state at least once.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fatalErrorCount">fatalErrorCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total number of fatal errors.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code><a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="PlaybackStats.EventTimeAndException.html" title="class in com.google.android.exoplayer2.analytics" target="_top">PlaybackStats.EventTimeAndException</a>></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fatalErrorHistory">fatalErrorHistory</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The history of fatal errors as <a href="PlaybackStats.EventTimeAndException.html" title="class in com.google.android.exoplayer2.analytics"><code>EventTimeAndExceptions</code></a> ordered by
|
|
<code>EventTime.realTimeMs</code>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fatalErrorPlaybackCount">fatalErrorPlaybackCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total number of playback with at least one fatal error.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#firstReportedTimeMs">firstReportedTimeMs</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The elapsed real-time as returned by <code>SystemClock.elapsedRealtime()</code> of the first
|
|
reported playback event, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no event has been reported.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#foregroundPlaybackCount">foregroundPlaybackCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The number of playbacks which were the active foreground playback at some point.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#initialAudioFormatBitrateCount">initialAudioFormatBitrateCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The number of playbacks with initial audio format bitrate data.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#initialVideoFormatBitrateCount">initialVideoFormatBitrateCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The number of playbacks with initial video format bitrate data.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#initialVideoFormatHeightCount">initialVideoFormatHeightCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The number of playbacks with initial video format height data.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#maxRebufferTimeMs">maxRebufferTimeMs</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The maximum time spent during a single rebuffer, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no
|
|
rebuffer occurred.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code><a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink" target="_top">List</a><long[]></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#mediaTimeHistory">mediaTimeHistory</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The media time history as an ordered list of long[2] arrays with [0] being the realtime as
|
|
returned by <code>SystemClock.elapsedRealtime()</code> and [1] being the media time at this
|
|
realtime, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nonFatalErrorCount">nonFatalErrorCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total number of non-fatal errors.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code><a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="PlaybackStats.EventTimeAndException.html" title="class in com.google.android.exoplayer2.analytics" target="_top">PlaybackStats.EventTimeAndException</a>></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nonFatalErrorHistory">nonFatalErrorHistory</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The history of non-fatal errors as <a href="PlaybackStats.EventTimeAndException.html" title="class in com.google.android.exoplayer2.analytics"><code>EventTimeAndExceptions</code></a> ordered
|
|
by <code>EventTime.realTimeMs</code>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>static int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_STATE_ABANDONED">PLAYBACK_STATE_ABANDONED</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Playback is abandoned before reaching the end of the media.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>static int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_STATE_BUFFERING">PLAYBACK_STATE_BUFFERING</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Playback is buffering to resume active playback.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>static int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_STATE_ENDED">PLAYBACK_STATE_ENDED</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Playback has reached the end of the media.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>static int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_STATE_FAILED">PLAYBACK_STATE_FAILED</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Playback is stopped due a fatal error and can be retried.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>static int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_STATE_INTERRUPTED_BY_AD">PLAYBACK_STATE_INTERRUPTED_BY_AD</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Playback is interrupted by an ad.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>static int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_STATE_JOINING_BACKGROUND">PLAYBACK_STATE_JOINING_BACKGROUND</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Playback is buffering in the background for initial playback start.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>static int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_STATE_JOINING_FOREGROUND">PLAYBACK_STATE_JOINING_FOREGROUND</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Playback is buffering in the foreground for initial playback start.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>static int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_STATE_NOT_STARTED">PLAYBACK_STATE_NOT_STARTED</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Playback has not started (initial state).</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>static int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_STATE_PAUSED">PLAYBACK_STATE_PAUSED</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Playback is paused but ready to play.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>static int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_STATE_PAUSED_BUFFERING">PLAYBACK_STATE_PAUSED_BUFFERING</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Playback is buffering while paused.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>static int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_STATE_PLAYING">PLAYBACK_STATE_PLAYING</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Playback is actively playing.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>static int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_STATE_SEEKING">PLAYBACK_STATE_SEEKING</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Playback is handling a seek.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>static int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_STATE_STOPPED">PLAYBACK_STATE_STOPPED</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Playback is stopped and can be restarted.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>static int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_STATE_SUPPRESSED">PLAYBACK_STATE_SUPPRESSED</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Playback is suppressed (e.g.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>static int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_STATE_SUPPRESSED_BUFFERING">PLAYBACK_STATE_SUPPRESSED_BUFFERING</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Playback is suppressed (e.g.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#playbackCount">playbackCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The number of individual playbacks for which these stats were collected.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code><a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="PlaybackStats.EventTimeAndPlaybackState.html" title="class in com.google.android.exoplayer2.analytics" target="_top">PlaybackStats.EventTimeAndPlaybackState</a>></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#playbackStateHistory">playbackStateHistory</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The playback state history as <a href="PlaybackStats.EventTimeAndPlaybackState.html" title="class in com.google.android.exoplayer2.analytics"><code>EventTimeAndPlaybackStates</code></a>
|
|
ordered by <code>EventTime.realTimeMs</code>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalAudioFormatBitrateTimeProduct">totalAudioFormatBitrateTimeProduct</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The accumulated sum of all audio format bitrates, in bits per second, times the time the format
|
|
was used for playback, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalAudioFormatTimeMs">totalAudioFormatTimeMs</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total media time for which audio format data is available, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalAudioUnderruns">totalAudioUnderruns</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total number of audio underruns.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalBandwidthBytes">totalBandwidthBytes</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total bytes transferred during <a href="#totalBandwidthTimeMs"><code>totalBandwidthTimeMs</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalBandwidthTimeMs">totalBandwidthTimeMs</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total time for which bandwidth measurement data is available, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalDroppedFrames">totalDroppedFrames</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total number of dropped video frames.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalInitialAudioFormatBitrate">totalInitialAudioFormatBitrate</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total initial audio format bitrate for all playbacks, in bits per second, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if no initial audio format data is available.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalInitialVideoFormatBitrate">totalInitialVideoFormatBitrate</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total initial video format bitrate for all playbacks, in bits per second, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if no initial video format data is available.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalInitialVideoFormatHeight">totalInitialVideoFormatHeight</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total initial video format height for all playbacks, in pixels, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a>
|
|
if no initial video format data is available.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalPauseBufferCount">totalPauseBufferCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total number of times a playback has been paused while rebuffering.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalPauseCount">totalPauseCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total number of times a playback has been paused.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalRebufferCount">totalRebufferCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total number of times a rebuffer occurred.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalSeekCount">totalSeekCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total number of times a seek occurred.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalValidJoinTimeMs">totalValidJoinTimeMs</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total time spent joining the playback, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no valid
|
|
join time could be determined.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalVideoFormatBitrateTimeMs">totalVideoFormatBitrateTimeMs</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total media time for which video format bitrate data is available, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalVideoFormatBitrateTimeProduct">totalVideoFormatBitrateTimeProduct</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The accumulated sum of all video format bitrates, in bits per second, times the time the format
|
|
was used for playback, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalVideoFormatHeightTimeMs">totalVideoFormatHeightTimeMs</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The total media time for which video format height data is available, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#totalVideoFormatHeightTimeProduct">totalVideoFormatHeightTimeProduct</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The accumulated sum of all video format heights, in pixels, times the time the format was used
|
|
for playback, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validJoinTimeCount">validJoinTimeCount</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The number of playbacks with a valid join time as documented in <a href="#totalValidJoinTimeMs"><code>totalValidJoinTimeMs</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code><a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="PlaybackStats.EventTimeAndFormat.html" title="class in com.google.android.exoplayer2.analytics" target="_top">PlaybackStats.EventTimeAndFormat</a>></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#videoFormatHistory">videoFormatHistory</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">The video format history as <a href="PlaybackStats.EventTimeAndFormat.html" title="class in com.google.android.exoplayer2.analytics"><code>EventTimeAndFormats</code></a> ordered by <code>
|
|
EventTime.realTimeMs</code>.</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<!-- ========== METHOD SUMMARY =========== -->
|
|
<section role="region">
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="method.summary">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Method Summary</h3>
|
|
<table class="memberSummary">
|
|
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
|
|
<tr>
|
|
<th class="colFirst" scope="col">Modifier and Type</th>
|
|
<th class="colSecond" scope="col">Method</th>
|
|
<th class="colLast" scope="col">Description</th>
|
|
</tr>
|
|
<tr id="i0" class="altColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAbandonedBeforeReadyRatio()">getAbandonedBeforeReadyRatio</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the ratio of foreground playbacks which were abandoned before they were ready to play,
|
|
or <code>0.0</code> if no playback has been in foreground.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i1" class="rowColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAudioUnderrunRate()">getAudioUnderrunRate</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean rate at which audio underruns occurred, in underruns per play time second, or
|
|
<code>0.0</code> if no time was spent playing.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i2" class="altColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDroppedFramesRate()">getDroppedFramesRate</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean rate at which video frames are dropped, in dropped frames per play time
|
|
second, or <code>0.0</code> if no time was spent playing.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i3" class="rowColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEndedRatio()">getEndedRatio</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the ratio of foreground playbacks which reached the ended state at least once, or
|
|
<code>0.0</code> if no playback has been in foreground.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i4" class="altColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFatalErrorRate()">getFatalErrorRate</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the rate of fatal errors, in errors per play time second, or <code>0.0</code> if no time was
|
|
spend playing.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i5" class="rowColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFatalErrorRatio()">getFatalErrorRatio</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the ratio of foreground playbacks which experienced fatal errors, or <code>0.0</code> if no
|
|
playback has been in foreground.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i6" class="altColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getJoinTimeRatio()">getJoinTimeRatio</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the ratio of foreground join time to the total time spent playing and waiting, or
|
|
<code>0.0</code> if no time was spend playing or waiting.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i7" class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanAudioFormatBitrate()">getMeanAudioFormatBitrate</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean audio format bitrate, in bits per second, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if no
|
|
audio format data is available.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i8" class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanBandwidth()">getMeanBandwidth</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean network bandwidth based on transfer measurements, in bits per second, or
|
|
<a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if no transfer data is available.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i9" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanElapsedTimeMs()">getMeanElapsedTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean time covered by any playback state per playback, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no playback was recorded.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i10" class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanInitialAudioFormatBitrate()">getMeanInitialAudioFormatBitrate</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean initial audio format bitrate, in bits per second, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if
|
|
no audio format data is available.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i11" class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanInitialVideoFormatBitrate()">getMeanInitialVideoFormatBitrate</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean initial video format bitrate, in bits per second, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if
|
|
no video format data is available.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i12" class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanInitialVideoFormatHeight()">getMeanInitialVideoFormatHeight</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean initial video format height, in pixels, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if no video
|
|
format data is available.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i13" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanJoinTimeMs()">getMeanJoinTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean time spent joining the playback, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if
|
|
no valid join time is available.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i14" class="altColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanNonFatalErrorCount()">getMeanNonFatalErrorCount</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean number of non-fatal errors per foreground playback, or <code>0.0</code> if no
|
|
playback has been in foreground.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i15" class="rowColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanPauseBufferCount()">getMeanPauseBufferCount</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean number of times a playback has been paused while rebuffering per foreground
|
|
playback, or <code>0.0</code> if no playback has been in foreground.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i16" class="altColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanPauseCount()">getMeanPauseCount</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean number of times a playback has been paused per foreground playback, or <code>
|
|
0.0</code> if no playback has been in foreground.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i17" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanPausedTimeMs()">getMeanPausedTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean time spent in a paused state per foreground playback, in milliseconds, or
|
|
<a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no playback has been in foreground.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i18" class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanPlayAndWaitTimeMs()">getMeanPlayAndWaitTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean time spent playing or actively waiting for playback per foreground playback,
|
|
in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no playback has been in foreground.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i19" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanPlayTimeMs()">getMeanPlayTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean time spent actively playing per foreground playback, in milliseconds, or
|
|
<a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no playback has been in foreground.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i20" class="altColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanRebufferCount()">getMeanRebufferCount</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean number of times a rebuffer occurred per foreground playback, or <code>0.0</code> if
|
|
no playback has been in foreground.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i21" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanRebufferTimeMs()">getMeanRebufferTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean time spent rebuffering per foreground playback, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no playback has been in foreground.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i22" class="altColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanSeekCount()">getMeanSeekCount</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean number of times a seek occurred per foreground playback, or <code>0.0</code> if no
|
|
playback has been in foreground.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i23" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanSeekTimeMs()">getMeanSeekTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean time spent per foreground playback from the start of a seek until playback is
|
|
ready again, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no playback has been in foreground.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i24" class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanSingleRebufferTimeMs()">getMeanSingleRebufferTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean time spent during a single rebuffer, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a>
|
|
if no rebuffer was recorded.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i25" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanSingleSeekTimeMs()">getMeanSingleSeekTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean time spent from the start of a single seek until playback is ready again, in
|
|
milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no seek occurred.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i26" class="altColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanTimeBetweenFatalErrors()">getMeanTimeBetweenFatalErrors</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean play time between fatal errors, in seconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i27" class="rowColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanTimeBetweenNonFatalErrors()">getMeanTimeBetweenNonFatalErrors</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean play time between non-fatal errors, in seconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i28" class="altColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanTimeBetweenRebuffers()">getMeanTimeBetweenRebuffers</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean play time between rebuffer events, in seconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i29" class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanVideoFormatBitrate()">getMeanVideoFormatBitrate</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean video format bitrate, in bits per second, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if no
|
|
video format data is available.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i30" class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanVideoFormatHeight()">getMeanVideoFormatHeight</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean video format height, in pixels, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if no video format
|
|
data is available.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i31" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeanWaitTimeMs()">getMeanWaitTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the mean time spent actively waiting for playback per foreground playback, in
|
|
milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no playback has been in foreground.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i32" class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMediaTimeMsAtRealtimeMs(long)">getMediaTimeMsAtRealtimeMs</a></span>​(long realtimeMs)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the estimated media time at the given realtime, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if the media time history is unknown.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i33" class="rowColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getNonFatalErrorRate()">getNonFatalErrorRate</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the rate of non-fatal errors, in errors per play time second, or <code>0.0</code> if no time
|
|
was spend playing.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i34" class="altColor">
|
|
<td class="colFirst"><code>@com.google.android.exoplayer2.analytics.PlaybackStats.PlaybackState int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPlaybackStateAtTime(long)">getPlaybackStateAtTime</a></span>​(long realtimeMs)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the <code>PlaybackStats.PlaybackState</code> at the given time.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i35" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPlaybackStateDurationMs(@com.google.android.exoplayer2.analytics.PlaybackStats.PlaybackStateint)">getPlaybackStateDurationMs</a></span>​(@com.google.android.exoplayer2.analytics.PlaybackStats.PlaybackState int playbackState)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the total time spent in a given <code>PlaybackStats.PlaybackState</code>, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i36" class="altColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRebufferRate()">getRebufferRate</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the rate of rebuffer events, in rebuffers per play time second, or <code>0.0</code> if no
|
|
time was spend playing.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i37" class="rowColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRebufferTimeRatio()">getRebufferTimeRatio</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the ratio of rebuffer time to the total time spent playing and waiting, or <code>0.0</code>
|
|
if no time was spend playing or waiting.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i38" class="altColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSeekTimeRatio()">getSeekTimeRatio</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the ratio of seek time to the total time spent playing and waiting, or <code>0.0</code> if
|
|
no time was spend playing or waiting.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i39" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalElapsedTimeMs()">getTotalElapsedTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the total time covered by any playback state, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i40" class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalJoinTimeMs()">getTotalJoinTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the total time spent joining the playback in foreground, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i41" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalPausedTimeMs()">getTotalPausedTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the total time spent in a paused state, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i42" class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalPlayAndWaitTimeMs()">getTotalPlayAndWaitTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the total time spent playing or actively waiting for playback, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i43" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalPlayTimeMs()">getTotalPlayTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the total time spent actively playing, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i44" class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalRebufferTimeMs()">getTotalRebufferTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the total time spent rebuffering, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i45" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalSeekTimeMs()">getTotalSeekTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the total time spent from the start of a seek until playback is ready again, in
|
|
milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i46" class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalWaitTimeMs()">getTotalWaitTimeMs</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the total time spent actively waiting for playback, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i47" class="rowColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getWaitTimeRatio()">getWaitTimeRatio</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the ratio of wait times to the total time spent playing and waiting, or <code>0.0</code> if
|
|
no time was spend playing or waiting.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i48" class="altColor">
|
|
<td class="colFirst"><code>static <a href="PlaybackStats.html" title="class in com.google.android.exoplayer2.analytics">PlaybackStats</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#merge(com.google.android.exoplayer2.analytics.PlaybackStats...)">merge</a></span>​(<a href="PlaybackStats.html" title="class in com.google.android.exoplayer2.analytics">PlaybackStats</a>... playbackStats)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the combined <a href="PlaybackStats.html" title="class in com.google.android.exoplayer2.analytics"><code>PlaybackStats</code></a> for all input <a href="PlaybackStats.html" title="class in com.google.android.exoplayer2.analytics"><code>PlaybackStats</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Methods inherited from class java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
|
|
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="details">
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<!-- ============ FIELD DETAIL =========== -->
|
|
<section role="region">
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="field.detail">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Field Detail</h3>
|
|
<a id="PLAYBACK_STATE_NOT_STARTED">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>PLAYBACK_STATE_NOT_STARTED</h4>
|
|
<pre>public static final int PLAYBACK_STATE_NOT_STARTED</pre>
|
|
<div class="block">Playback has not started (initial state).</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.analytics.PlaybackStats.PLAYBACK_STATE_NOT_STARTED">Constant Field Values</a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="PLAYBACK_STATE_JOINING_BACKGROUND">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>PLAYBACK_STATE_JOINING_BACKGROUND</h4>
|
|
<pre>public static final int PLAYBACK_STATE_JOINING_BACKGROUND</pre>
|
|
<div class="block">Playback is buffering in the background for initial playback start.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.analytics.PlaybackStats.PLAYBACK_STATE_JOINING_BACKGROUND">Constant Field Values</a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="PLAYBACK_STATE_JOINING_FOREGROUND">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>PLAYBACK_STATE_JOINING_FOREGROUND</h4>
|
|
<pre>public static final int PLAYBACK_STATE_JOINING_FOREGROUND</pre>
|
|
<div class="block">Playback is buffering in the foreground for initial playback start.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.analytics.PlaybackStats.PLAYBACK_STATE_JOINING_FOREGROUND">Constant Field Values</a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="PLAYBACK_STATE_PLAYING">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>PLAYBACK_STATE_PLAYING</h4>
|
|
<pre>public static final int PLAYBACK_STATE_PLAYING</pre>
|
|
<div class="block">Playback is actively playing.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.analytics.PlaybackStats.PLAYBACK_STATE_PLAYING">Constant Field Values</a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="PLAYBACK_STATE_PAUSED">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>PLAYBACK_STATE_PAUSED</h4>
|
|
<pre>public static final int PLAYBACK_STATE_PAUSED</pre>
|
|
<div class="block">Playback is paused but ready to play.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.analytics.PlaybackStats.PLAYBACK_STATE_PAUSED">Constant Field Values</a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="PLAYBACK_STATE_SEEKING">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>PLAYBACK_STATE_SEEKING</h4>
|
|
<pre>public static final int PLAYBACK_STATE_SEEKING</pre>
|
|
<div class="block">Playback is handling a seek.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.analytics.PlaybackStats.PLAYBACK_STATE_SEEKING">Constant Field Values</a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="PLAYBACK_STATE_BUFFERING">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>PLAYBACK_STATE_BUFFERING</h4>
|
|
<pre>public static final int PLAYBACK_STATE_BUFFERING</pre>
|
|
<div class="block">Playback is buffering to resume active playback.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.analytics.PlaybackStats.PLAYBACK_STATE_BUFFERING">Constant Field Values</a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="PLAYBACK_STATE_PAUSED_BUFFERING">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>PLAYBACK_STATE_PAUSED_BUFFERING</h4>
|
|
<pre>public static final int PLAYBACK_STATE_PAUSED_BUFFERING</pre>
|
|
<div class="block">Playback is buffering while paused.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.analytics.PlaybackStats.PLAYBACK_STATE_PAUSED_BUFFERING">Constant Field Values</a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="PLAYBACK_STATE_SUPPRESSED">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>PLAYBACK_STATE_SUPPRESSED</h4>
|
|
<pre>public static final int PLAYBACK_STATE_SUPPRESSED</pre>
|
|
<div class="block">Playback is suppressed (e.g. due to audio focus loss).</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.analytics.PlaybackStats.PLAYBACK_STATE_SUPPRESSED">Constant Field Values</a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="PLAYBACK_STATE_SUPPRESSED_BUFFERING">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>PLAYBACK_STATE_SUPPRESSED_BUFFERING</h4>
|
|
<pre>public static final int PLAYBACK_STATE_SUPPRESSED_BUFFERING</pre>
|
|
<div class="block">Playback is suppressed (e.g. due to audio focus loss) while buffering to resume a playback.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.analytics.PlaybackStats.PLAYBACK_STATE_SUPPRESSED_BUFFERING">Constant Field Values</a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="PLAYBACK_STATE_ENDED">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>PLAYBACK_STATE_ENDED</h4>
|
|
<pre>public static final int PLAYBACK_STATE_ENDED</pre>
|
|
<div class="block">Playback has reached the end of the media.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.analytics.PlaybackStats.PLAYBACK_STATE_ENDED">Constant Field Values</a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="PLAYBACK_STATE_STOPPED">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>PLAYBACK_STATE_STOPPED</h4>
|
|
<pre>public static final int PLAYBACK_STATE_STOPPED</pre>
|
|
<div class="block">Playback is stopped and can be restarted.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.analytics.PlaybackStats.PLAYBACK_STATE_STOPPED">Constant Field Values</a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="PLAYBACK_STATE_FAILED">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>PLAYBACK_STATE_FAILED</h4>
|
|
<pre>public static final int PLAYBACK_STATE_FAILED</pre>
|
|
<div class="block">Playback is stopped due a fatal error and can be retried.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.analytics.PlaybackStats.PLAYBACK_STATE_FAILED">Constant Field Values</a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="PLAYBACK_STATE_INTERRUPTED_BY_AD">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>PLAYBACK_STATE_INTERRUPTED_BY_AD</h4>
|
|
<pre>public static final int PLAYBACK_STATE_INTERRUPTED_BY_AD</pre>
|
|
<div class="block">Playback is interrupted by an ad.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.analytics.PlaybackStats.PLAYBACK_STATE_INTERRUPTED_BY_AD">Constant Field Values</a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="PLAYBACK_STATE_ABANDONED">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>PLAYBACK_STATE_ABANDONED</h4>
|
|
<pre>public static final int PLAYBACK_STATE_ABANDONED</pre>
|
|
<div class="block">Playback is abandoned before reaching the end of the media.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.analytics.PlaybackStats.PLAYBACK_STATE_ABANDONED">Constant Field Values</a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="EMPTY">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>EMPTY</h4>
|
|
<pre>public static final <a href="PlaybackStats.html" title="class in com.google.android.exoplayer2.analytics">PlaybackStats</a> EMPTY</pre>
|
|
<div class="block">Empty playback stats.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="playbackCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>playbackCount</h4>
|
|
<pre>public final int playbackCount</pre>
|
|
<div class="block">The number of individual playbacks for which these stats were collected.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="playbackStateHistory">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>playbackStateHistory</h4>
|
|
<pre>public final <a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="PlaybackStats.EventTimeAndPlaybackState.html" title="class in com.google.android.exoplayer2.analytics" target="_top">PlaybackStats.EventTimeAndPlaybackState</a>> playbackStateHistory</pre>
|
|
<div class="block">The playback state history as <a href="PlaybackStats.EventTimeAndPlaybackState.html" title="class in com.google.android.exoplayer2.analytics"><code>EventTimeAndPlaybackStates</code></a>
|
|
ordered by <code>EventTime.realTimeMs</code>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="mediaTimeHistory">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>mediaTimeHistory</h4>
|
|
<pre>public final <a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink" target="_top">List</a><long[]> mediaTimeHistory</pre>
|
|
<div class="block">The media time history as an ordered list of long[2] arrays with [0] being the realtime as
|
|
returned by <code>SystemClock.elapsedRealtime()</code> and [1] being the media time at this
|
|
realtime, in milliseconds.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="firstReportedTimeMs">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>firstReportedTimeMs</h4>
|
|
<pre>public final long firstReportedTimeMs</pre>
|
|
<div class="block">The elapsed real-time as returned by <code>SystemClock.elapsedRealtime()</code> of the first
|
|
reported playback event, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no event has been reported.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="foregroundPlaybackCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>foregroundPlaybackCount</h4>
|
|
<pre>public final int foregroundPlaybackCount</pre>
|
|
<div class="block">The number of playbacks which were the active foreground playback at some point.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="abandonedBeforeReadyCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>abandonedBeforeReadyCount</h4>
|
|
<pre>public final int abandonedBeforeReadyCount</pre>
|
|
<div class="block">The number of playbacks which were abandoned before they were ready to play.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="endedCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>endedCount</h4>
|
|
<pre>public final int endedCount</pre>
|
|
<div class="block">The number of playbacks which reached the ended state at least once.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="backgroundJoiningCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>backgroundJoiningCount</h4>
|
|
<pre>public final int backgroundJoiningCount</pre>
|
|
<div class="block">The number of playbacks which were pre-buffered in the background.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalValidJoinTimeMs">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalValidJoinTimeMs</h4>
|
|
<pre>public final long totalValidJoinTimeMs</pre>
|
|
<div class="block">The total time spent joining the playback, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no valid
|
|
join time could be determined.
|
|
|
|
<p>Note that this does not include background joining time. A join time may be invalid if the
|
|
playback never reached <a href="#PLAYBACK_STATE_PLAYING"><code>PLAYBACK_STATE_PLAYING</code></a> or <a href="#PLAYBACK_STATE_PAUSED"><code>PLAYBACK_STATE_PAUSED</code></a>, or
|
|
joining was interrupted by a seek, stop, or error state.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="validJoinTimeCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>validJoinTimeCount</h4>
|
|
<pre>public final int validJoinTimeCount</pre>
|
|
<div class="block">The number of playbacks with a valid join time as documented in <a href="#totalValidJoinTimeMs"><code>totalValidJoinTimeMs</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalPauseCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalPauseCount</h4>
|
|
<pre>public final int totalPauseCount</pre>
|
|
<div class="block">The total number of times a playback has been paused.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalPauseBufferCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalPauseBufferCount</h4>
|
|
<pre>public final int totalPauseBufferCount</pre>
|
|
<div class="block">The total number of times a playback has been paused while rebuffering.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalSeekCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalSeekCount</h4>
|
|
<pre>public final int totalSeekCount</pre>
|
|
<div class="block">The total number of times a seek occurred. This includes seeks happening before playback
|
|
resumed after another seek.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalRebufferCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalRebufferCount</h4>
|
|
<pre>public final int totalRebufferCount</pre>
|
|
<div class="block">The total number of times a rebuffer occurred. This excludes initial joining and buffering
|
|
after seek.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="maxRebufferTimeMs">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>maxRebufferTimeMs</h4>
|
|
<pre>public final long maxRebufferTimeMs</pre>
|
|
<div class="block">The maximum time spent during a single rebuffer, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no
|
|
rebuffer occurred.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="adPlaybackCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>adPlaybackCount</h4>
|
|
<pre>public final int adPlaybackCount</pre>
|
|
<div class="block">The number of ad playbacks.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="videoFormatHistory">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>videoFormatHistory</h4>
|
|
<pre>public final <a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="PlaybackStats.EventTimeAndFormat.html" title="class in com.google.android.exoplayer2.analytics" target="_top">PlaybackStats.EventTimeAndFormat</a>> videoFormatHistory</pre>
|
|
<div class="block">The video format history as <a href="PlaybackStats.EventTimeAndFormat.html" title="class in com.google.android.exoplayer2.analytics"><code>EventTimeAndFormats</code></a> ordered by <code>
|
|
EventTime.realTimeMs</code>. The <a href="../Format.html" title="class in com.google.android.exoplayer2"><code>Format</code></a> may be null if no video format was used.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="audioFormatHistory">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>audioFormatHistory</h4>
|
|
<pre>public final <a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="PlaybackStats.EventTimeAndFormat.html" title="class in com.google.android.exoplayer2.analytics" target="_top">PlaybackStats.EventTimeAndFormat</a>> audioFormatHistory</pre>
|
|
<div class="block">The audio format history as <a href="PlaybackStats.EventTimeAndFormat.html" title="class in com.google.android.exoplayer2.analytics"><code>EventTimeAndFormats</code></a> ordered by <code>
|
|
EventTime.realTimeMs</code>. The <a href="../Format.html" title="class in com.google.android.exoplayer2"><code>Format</code></a> may be null if no audio format was used.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalVideoFormatHeightTimeMs">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalVideoFormatHeightTimeMs</h4>
|
|
<pre>public final long totalVideoFormatHeightTimeMs</pre>
|
|
<div class="block">The total media time for which video format height data is available, in milliseconds.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalVideoFormatHeightTimeProduct">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalVideoFormatHeightTimeProduct</h4>
|
|
<pre>public final long totalVideoFormatHeightTimeProduct</pre>
|
|
<div class="block">The accumulated sum of all video format heights, in pixels, times the time the format was used
|
|
for playback, in milliseconds.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalVideoFormatBitrateTimeMs">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalVideoFormatBitrateTimeMs</h4>
|
|
<pre>public final long totalVideoFormatBitrateTimeMs</pre>
|
|
<div class="block">The total media time for which video format bitrate data is available, in milliseconds.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalVideoFormatBitrateTimeProduct">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalVideoFormatBitrateTimeProduct</h4>
|
|
<pre>public final long totalVideoFormatBitrateTimeProduct</pre>
|
|
<div class="block">The accumulated sum of all video format bitrates, in bits per second, times the time the format
|
|
was used for playback, in milliseconds.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalAudioFormatTimeMs">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalAudioFormatTimeMs</h4>
|
|
<pre>public final long totalAudioFormatTimeMs</pre>
|
|
<div class="block">The total media time for which audio format data is available, in milliseconds.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalAudioFormatBitrateTimeProduct">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalAudioFormatBitrateTimeProduct</h4>
|
|
<pre>public final long totalAudioFormatBitrateTimeProduct</pre>
|
|
<div class="block">The accumulated sum of all audio format bitrates, in bits per second, times the time the format
|
|
was used for playback, in milliseconds.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="initialVideoFormatHeightCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>initialVideoFormatHeightCount</h4>
|
|
<pre>public final int initialVideoFormatHeightCount</pre>
|
|
<div class="block">The number of playbacks with initial video format height data.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="initialVideoFormatBitrateCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>initialVideoFormatBitrateCount</h4>
|
|
<pre>public final int initialVideoFormatBitrateCount</pre>
|
|
<div class="block">The number of playbacks with initial video format bitrate data.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalInitialVideoFormatHeight">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalInitialVideoFormatHeight</h4>
|
|
<pre>public final int totalInitialVideoFormatHeight</pre>
|
|
<div class="block">The total initial video format height for all playbacks, in pixels, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a>
|
|
if no initial video format data is available.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalInitialVideoFormatBitrate">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalInitialVideoFormatBitrate</h4>
|
|
<pre>public final long totalInitialVideoFormatBitrate</pre>
|
|
<div class="block">The total initial video format bitrate for all playbacks, in bits per second, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if no initial video format data is available.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="initialAudioFormatBitrateCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>initialAudioFormatBitrateCount</h4>
|
|
<pre>public final int initialAudioFormatBitrateCount</pre>
|
|
<div class="block">The number of playbacks with initial audio format bitrate data.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalInitialAudioFormatBitrate">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalInitialAudioFormatBitrate</h4>
|
|
<pre>public final long totalInitialAudioFormatBitrate</pre>
|
|
<div class="block">The total initial audio format bitrate for all playbacks, in bits per second, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if no initial audio format data is available.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalBandwidthTimeMs">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalBandwidthTimeMs</h4>
|
|
<pre>public final long totalBandwidthTimeMs</pre>
|
|
<div class="block">The total time for which bandwidth measurement data is available, in milliseconds.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalBandwidthBytes">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalBandwidthBytes</h4>
|
|
<pre>public final long totalBandwidthBytes</pre>
|
|
<div class="block">The total bytes transferred during <a href="#totalBandwidthTimeMs"><code>totalBandwidthTimeMs</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalDroppedFrames">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalDroppedFrames</h4>
|
|
<pre>public final long totalDroppedFrames</pre>
|
|
<div class="block">The total number of dropped video frames.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="totalAudioUnderruns">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>totalAudioUnderruns</h4>
|
|
<pre>public final long totalAudioUnderruns</pre>
|
|
<div class="block">The total number of audio underruns.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="fatalErrorPlaybackCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>fatalErrorPlaybackCount</h4>
|
|
<pre>public final int fatalErrorPlaybackCount</pre>
|
|
<div class="block">The total number of playback with at least one fatal error. Errors are fatal if playback
|
|
stopped due to this error.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="fatalErrorCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>fatalErrorCount</h4>
|
|
<pre>public final int fatalErrorCount</pre>
|
|
<div class="block">The total number of fatal errors. Errors are fatal if playback stopped due to this error.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="nonFatalErrorCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>nonFatalErrorCount</h4>
|
|
<pre>public final int nonFatalErrorCount</pre>
|
|
<div class="block">The total number of non-fatal errors. Error are non-fatal if playback can recover from the
|
|
error without stopping.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="fatalErrorHistory">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>fatalErrorHistory</h4>
|
|
<pre>public final <a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="PlaybackStats.EventTimeAndException.html" title="class in com.google.android.exoplayer2.analytics" target="_top">PlaybackStats.EventTimeAndException</a>> fatalErrorHistory</pre>
|
|
<div class="block">The history of fatal errors as <a href="PlaybackStats.EventTimeAndException.html" title="class in com.google.android.exoplayer2.analytics"><code>EventTimeAndExceptions</code></a> ordered by
|
|
<code>EventTime.realTimeMs</code>. Errors are fatal if playback stopped due to this error.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="nonFatalErrorHistory">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockListLast">
|
|
<li class="blockList">
|
|
<h4>nonFatalErrorHistory</h4>
|
|
<pre>public final <a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="PlaybackStats.EventTimeAndException.html" title="class in com.google.android.exoplayer2.analytics" target="_top">PlaybackStats.EventTimeAndException</a>> nonFatalErrorHistory</pre>
|
|
<div class="block">The history of non-fatal errors as <a href="PlaybackStats.EventTimeAndException.html" title="class in com.google.android.exoplayer2.analytics"><code>EventTimeAndExceptions</code></a> ordered
|
|
by <code>EventTime.realTimeMs</code>. Errors are non-fatal if playback can recover from the error
|
|
without stopping.</div>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<!-- ============ METHOD DETAIL ========== -->
|
|
<section role="region">
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="method.detail">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Method Detail</h3>
|
|
<a id="merge(com.google.android.exoplayer2.analytics.PlaybackStats...)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>merge</h4>
|
|
<pre class="methodSignature">public static <a href="PlaybackStats.html" title="class in com.google.android.exoplayer2.analytics">PlaybackStats</a> merge​(<a href="PlaybackStats.html" title="class in com.google.android.exoplayer2.analytics">PlaybackStats</a>... playbackStats)</pre>
|
|
<div class="block">Returns the combined <a href="PlaybackStats.html" title="class in com.google.android.exoplayer2.analytics"><code>PlaybackStats</code></a> for all input <a href="PlaybackStats.html" title="class in com.google.android.exoplayer2.analytics"><code>PlaybackStats</code></a>.
|
|
|
|
<p>Note that the full history of events is not kept as the history only makes sense in the
|
|
context of a single playback.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>playbackStats</code> - Array of <a href="PlaybackStats.html" title="class in com.google.android.exoplayer2.analytics"><code>PlaybackStats</code></a> to combine.</dd>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The combined <a href="PlaybackStats.html" title="class in com.google.android.exoplayer2.analytics"><code>PlaybackStats</code></a>.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getPlaybackStateDurationMs(@com.google.android.exoplayer2.analytics.PlaybackStats.PlaybackStateint)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getPlaybackStateDurationMs</h4>
|
|
<pre class="methodSignature">public long getPlaybackStateDurationMs​(@com.google.android.exoplayer2.analytics.PlaybackStats.PlaybackState int playbackState)</pre>
|
|
<div class="block">Returns the total time spent in a given <code>PlaybackStats.PlaybackState</code>, in milliseconds.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>playbackState</code> - A <code>PlaybackStats.PlaybackState</code>.</dd>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>Total spent in the given playback state, in milliseconds</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getPlaybackStateAtTime(long)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getPlaybackStateAtTime</h4>
|
|
<pre class="methodSignature">public @com.google.android.exoplayer2.analytics.PlaybackStats.PlaybackState int getPlaybackStateAtTime​(long realtimeMs)</pre>
|
|
<div class="block">Returns the <code>PlaybackStats.PlaybackState</code> at the given time.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>realtimeMs</code> - The time as returned by <a href="https://developer.android.com/reference/android/os/SystemClock.html#elapsedRealtime()" title="class or interface in android.os" class="externalLink" target="_top"><code>SystemClock.elapsedRealtime()</code></a>.</dd>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The <code>PlaybackStats.PlaybackState</code> at that time, or <a href="#PLAYBACK_STATE_NOT_STARTED"><code>PLAYBACK_STATE_NOT_STARTED</code></a> if the
|
|
given time is before the first known playback state in the history.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getMediaTimeMsAtRealtimeMs(long)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMediaTimeMsAtRealtimeMs</h4>
|
|
<pre class="methodSignature">public long getMediaTimeMsAtRealtimeMs​(long realtimeMs)</pre>
|
|
<div class="block">Returns the estimated media time at the given realtime, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if the media time history is unknown.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>realtimeMs</code> - The realtime as returned by <a href="https://developer.android.com/reference/android/os/SystemClock.html#elapsedRealtime()" title="class or interface in android.os" class="externalLink" target="_top"><code>SystemClock.elapsedRealtime()</code></a>.</dd>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The estimated media time in milliseconds at this realtime, <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no
|
|
estimate can be given.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanJoinTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanJoinTimeMs</h4>
|
|
<pre class="methodSignature">public long getMeanJoinTimeMs()</pre>
|
|
<div class="block">Returns the mean time spent joining the playback, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if
|
|
no valid join time is available. Only includes playbacks with valid join times as documented in
|
|
<a href="#totalValidJoinTimeMs"><code>totalValidJoinTimeMs</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getTotalJoinTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getTotalJoinTimeMs</h4>
|
|
<pre class="methodSignature">public long getTotalJoinTimeMs()</pre>
|
|
<div class="block">Returns the total time spent joining the playback in foreground, in milliseconds. This does
|
|
include invalid join times where the playback never reached <a href="#PLAYBACK_STATE_PLAYING"><code>PLAYBACK_STATE_PLAYING</code></a> or
|
|
<a href="#PLAYBACK_STATE_PAUSED"><code>PLAYBACK_STATE_PAUSED</code></a>, or joining was interrupted by a seek, stop, or error state.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getTotalPlayTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getTotalPlayTimeMs</h4>
|
|
<pre class="methodSignature">public long getTotalPlayTimeMs()</pre>
|
|
<div class="block">Returns the total time spent actively playing, in milliseconds.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanPlayTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanPlayTimeMs</h4>
|
|
<pre class="methodSignature">public long getMeanPlayTimeMs()</pre>
|
|
<div class="block">Returns the mean time spent actively playing per foreground playback, in milliseconds, or
|
|
<a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no playback has been in foreground.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getTotalPausedTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getTotalPausedTimeMs</h4>
|
|
<pre class="methodSignature">public long getTotalPausedTimeMs()</pre>
|
|
<div class="block">Returns the total time spent in a paused state, in milliseconds.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanPausedTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanPausedTimeMs</h4>
|
|
<pre class="methodSignature">public long getMeanPausedTimeMs()</pre>
|
|
<div class="block">Returns the mean time spent in a paused state per foreground playback, in milliseconds, or
|
|
<a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no playback has been in foreground.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getTotalRebufferTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getTotalRebufferTimeMs</h4>
|
|
<pre class="methodSignature">public long getTotalRebufferTimeMs()</pre>
|
|
<div class="block">Returns the total time spent rebuffering, in milliseconds. This excludes initial join times,
|
|
buffer times after a seek and buffering while paused.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanRebufferTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanRebufferTimeMs</h4>
|
|
<pre class="methodSignature">public long getMeanRebufferTimeMs()</pre>
|
|
<div class="block">Returns the mean time spent rebuffering per foreground playback, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no playback has been in foreground. This excludes initial join times, buffer
|
|
times after a seek and buffering while paused.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanSingleRebufferTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanSingleRebufferTimeMs</h4>
|
|
<pre class="methodSignature">public long getMeanSingleRebufferTimeMs()</pre>
|
|
<div class="block">Returns the mean time spent during a single rebuffer, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a>
|
|
if no rebuffer was recorded. This excludes initial join times and buffer times after a seek.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getTotalSeekTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getTotalSeekTimeMs</h4>
|
|
<pre class="methodSignature">public long getTotalSeekTimeMs()</pre>
|
|
<div class="block">Returns the total time spent from the start of a seek until playback is ready again, in
|
|
milliseconds.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanSeekTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanSeekTimeMs</h4>
|
|
<pre class="methodSignature">public long getMeanSeekTimeMs()</pre>
|
|
<div class="block">Returns the mean time spent per foreground playback from the start of a seek until playback is
|
|
ready again, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no playback has been in foreground.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanSingleSeekTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanSingleSeekTimeMs</h4>
|
|
<pre class="methodSignature">public long getMeanSingleSeekTimeMs()</pre>
|
|
<div class="block">Returns the mean time spent from the start of a single seek until playback is ready again, in
|
|
milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no seek occurred.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getTotalWaitTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getTotalWaitTimeMs</h4>
|
|
<pre class="methodSignature">public long getTotalWaitTimeMs()</pre>
|
|
<div class="block">Returns the total time spent actively waiting for playback, in milliseconds. This includes all
|
|
join times, rebuffer times and seek times, but excludes times without user intention to play,
|
|
e.g. all paused states.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanWaitTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanWaitTimeMs</h4>
|
|
<pre class="methodSignature">public long getMeanWaitTimeMs()</pre>
|
|
<div class="block">Returns the mean time spent actively waiting for playback per foreground playback, in
|
|
milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no playback has been in foreground. This includes all
|
|
join times, rebuffer times and seek times, but excludes times without user intention to play,
|
|
e.g. all paused states.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getTotalPlayAndWaitTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getTotalPlayAndWaitTimeMs</h4>
|
|
<pre class="methodSignature">public long getTotalPlayAndWaitTimeMs()</pre>
|
|
<div class="block">Returns the total time spent playing or actively waiting for playback, in milliseconds.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanPlayAndWaitTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanPlayAndWaitTimeMs</h4>
|
|
<pre class="methodSignature">public long getMeanPlayAndWaitTimeMs()</pre>
|
|
<div class="block">Returns the mean time spent playing or actively waiting for playback per foreground playback,
|
|
in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no playback has been in foreground.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getTotalElapsedTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getTotalElapsedTimeMs</h4>
|
|
<pre class="methodSignature">public long getTotalElapsedTimeMs()</pre>
|
|
<div class="block">Returns the total time covered by any playback state, in milliseconds.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanElapsedTimeMs()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanElapsedTimeMs</h4>
|
|
<pre class="methodSignature">public long getMeanElapsedTimeMs()</pre>
|
|
<div class="block">Returns the mean time covered by any playback state per playback, in milliseconds, or <a href="../C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if no playback was recorded.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getAbandonedBeforeReadyRatio()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getAbandonedBeforeReadyRatio</h4>
|
|
<pre class="methodSignature">public float getAbandonedBeforeReadyRatio()</pre>
|
|
<div class="block">Returns the ratio of foreground playbacks which were abandoned before they were ready to play,
|
|
or <code>0.0</code> if no playback has been in foreground.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getEndedRatio()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getEndedRatio</h4>
|
|
<pre class="methodSignature">public float getEndedRatio()</pre>
|
|
<div class="block">Returns the ratio of foreground playbacks which reached the ended state at least once, or
|
|
<code>0.0</code> if no playback has been in foreground.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanPauseCount()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanPauseCount</h4>
|
|
<pre class="methodSignature">public float getMeanPauseCount()</pre>
|
|
<div class="block">Returns the mean number of times a playback has been paused per foreground playback, or <code>
|
|
0.0</code> if no playback has been in foreground.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanPauseBufferCount()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanPauseBufferCount</h4>
|
|
<pre class="methodSignature">public float getMeanPauseBufferCount()</pre>
|
|
<div class="block">Returns the mean number of times a playback has been paused while rebuffering per foreground
|
|
playback, or <code>0.0</code> if no playback has been in foreground.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanSeekCount()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanSeekCount</h4>
|
|
<pre class="methodSignature">public float getMeanSeekCount()</pre>
|
|
<div class="block">Returns the mean number of times a seek occurred per foreground playback, or <code>0.0</code> if no
|
|
playback has been in foreground. This includes seeks happening before playback resumed after
|
|
another seek.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanRebufferCount()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanRebufferCount</h4>
|
|
<pre class="methodSignature">public float getMeanRebufferCount()</pre>
|
|
<div class="block">Returns the mean number of times a rebuffer occurred per foreground playback, or <code>0.0</code> if
|
|
no playback has been in foreground. This excludes initial joining and buffering after seek.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getWaitTimeRatio()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getWaitTimeRatio</h4>
|
|
<pre class="methodSignature">public float getWaitTimeRatio()</pre>
|
|
<div class="block">Returns the ratio of wait times to the total time spent playing and waiting, or <code>0.0</code> if
|
|
no time was spend playing or waiting. This is equivalent to <a href="#getTotalWaitTimeMs()"><code>getTotalWaitTimeMs()</code></a> /
|
|
<a href="#getTotalPlayAndWaitTimeMs()"><code>getTotalPlayAndWaitTimeMs()</code></a> and also to <a href="#getJoinTimeRatio()"><code>getJoinTimeRatio()</code></a> + <a href="#getRebufferTimeRatio()"><code>getRebufferTimeRatio()</code></a> + <a href="#getSeekTimeRatio()"><code>getSeekTimeRatio()</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getJoinTimeRatio()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getJoinTimeRatio</h4>
|
|
<pre class="methodSignature">public float getJoinTimeRatio()</pre>
|
|
<div class="block">Returns the ratio of foreground join time to the total time spent playing and waiting, or
|
|
<code>0.0</code> if no time was spend playing or waiting. This is equivalent to <a href="#getTotalJoinTimeMs()"><code>getTotalJoinTimeMs()</code></a> / <a href="#getTotalPlayAndWaitTimeMs()"><code>getTotalPlayAndWaitTimeMs()</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getRebufferTimeRatio()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getRebufferTimeRatio</h4>
|
|
<pre class="methodSignature">public float getRebufferTimeRatio()</pre>
|
|
<div class="block">Returns the ratio of rebuffer time to the total time spent playing and waiting, or <code>0.0</code>
|
|
if no time was spend playing or waiting. This is equivalent to <a href="#getTotalRebufferTimeMs()"><code>getTotalRebufferTimeMs()</code></a> / <a href="#getTotalPlayAndWaitTimeMs()"><code>getTotalPlayAndWaitTimeMs()</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getSeekTimeRatio()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getSeekTimeRatio</h4>
|
|
<pre class="methodSignature">public float getSeekTimeRatio()</pre>
|
|
<div class="block">Returns the ratio of seek time to the total time spent playing and waiting, or <code>0.0</code> if
|
|
no time was spend playing or waiting. This is equivalent to <a href="#getTotalSeekTimeMs()"><code>getTotalSeekTimeMs()</code></a> /
|
|
<a href="#getTotalPlayAndWaitTimeMs()"><code>getTotalPlayAndWaitTimeMs()</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getRebufferRate()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getRebufferRate</h4>
|
|
<pre class="methodSignature">public float getRebufferRate()</pre>
|
|
<div class="block">Returns the rate of rebuffer events, in rebuffers per play time second, or <code>0.0</code> if no
|
|
time was spend playing. This is equivalent to 1.0 / <a href="#getMeanTimeBetweenRebuffers()"><code>getMeanTimeBetweenRebuffers()</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanTimeBetweenRebuffers()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanTimeBetweenRebuffers</h4>
|
|
<pre class="methodSignature">public float getMeanTimeBetweenRebuffers()</pre>
|
|
<div class="block">Returns the mean play time between rebuffer events, in seconds. This is equivalent to 1.0 /
|
|
<a href="#getRebufferRate()"><code>getRebufferRate()</code></a>. Note that this may return <a href="https://developer.android.com/reference/java/lang/Float.html#POSITIVE_INFINITY" title="class or interface in java.lang" class="externalLink" target="_top"><code>Float.POSITIVE_INFINITY</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanInitialVideoFormatHeight()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanInitialVideoFormatHeight</h4>
|
|
<pre class="methodSignature">public int getMeanInitialVideoFormatHeight()</pre>
|
|
<div class="block">Returns the mean initial video format height, in pixels, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if no video
|
|
format data is available.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanInitialVideoFormatBitrate()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanInitialVideoFormatBitrate</h4>
|
|
<pre class="methodSignature">public int getMeanInitialVideoFormatBitrate()</pre>
|
|
<div class="block">Returns the mean initial video format bitrate, in bits per second, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if
|
|
no video format data is available.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanInitialAudioFormatBitrate()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanInitialAudioFormatBitrate</h4>
|
|
<pre class="methodSignature">public int getMeanInitialAudioFormatBitrate()</pre>
|
|
<div class="block">Returns the mean initial audio format bitrate, in bits per second, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if
|
|
no audio format data is available.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanVideoFormatHeight()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanVideoFormatHeight</h4>
|
|
<pre class="methodSignature">public int getMeanVideoFormatHeight()</pre>
|
|
<div class="block">Returns the mean video format height, in pixels, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if no video format
|
|
data is available. This is a weighted average taking the time the format was used for playback
|
|
into account.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanVideoFormatBitrate()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanVideoFormatBitrate</h4>
|
|
<pre class="methodSignature">public int getMeanVideoFormatBitrate()</pre>
|
|
<div class="block">Returns the mean video format bitrate, in bits per second, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if no
|
|
video format data is available. This is a weighted average taking the time the format was used
|
|
for playback into account.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanAudioFormatBitrate()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanAudioFormatBitrate</h4>
|
|
<pre class="methodSignature">public int getMeanAudioFormatBitrate()</pre>
|
|
<div class="block">Returns the mean audio format bitrate, in bits per second, or <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if no
|
|
audio format data is available. This is a weighted average taking the time the format was used
|
|
for playback into account.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanBandwidth()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanBandwidth</h4>
|
|
<pre class="methodSignature">public int getMeanBandwidth()</pre>
|
|
<div class="block">Returns the mean network bandwidth based on transfer measurements, in bits per second, or
|
|
<a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if no transfer data is available.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getDroppedFramesRate()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getDroppedFramesRate</h4>
|
|
<pre class="methodSignature">public float getDroppedFramesRate()</pre>
|
|
<div class="block">Returns the mean rate at which video frames are dropped, in dropped frames per play time
|
|
second, or <code>0.0</code> if no time was spent playing.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getAudioUnderrunRate()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getAudioUnderrunRate</h4>
|
|
<pre class="methodSignature">public float getAudioUnderrunRate()</pre>
|
|
<div class="block">Returns the mean rate at which audio underruns occurred, in underruns per play time second, or
|
|
<code>0.0</code> if no time was spent playing.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getFatalErrorRatio()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getFatalErrorRatio</h4>
|
|
<pre class="methodSignature">public float getFatalErrorRatio()</pre>
|
|
<div class="block">Returns the ratio of foreground playbacks which experienced fatal errors, or <code>0.0</code> if no
|
|
playback has been in foreground.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getFatalErrorRate()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getFatalErrorRate</h4>
|
|
<pre class="methodSignature">public float getFatalErrorRate()</pre>
|
|
<div class="block">Returns the rate of fatal errors, in errors per play time second, or <code>0.0</code> if no time was
|
|
spend playing. This is equivalent to 1.0 / <a href="#getMeanTimeBetweenFatalErrors()"><code>getMeanTimeBetweenFatalErrors()</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanTimeBetweenFatalErrors()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanTimeBetweenFatalErrors</h4>
|
|
<pre class="methodSignature">public float getMeanTimeBetweenFatalErrors()</pre>
|
|
<div class="block">Returns the mean play time between fatal errors, in seconds. This is equivalent to 1.0 / <a href="#getFatalErrorRate()"><code>getFatalErrorRate()</code></a>. Note that this may return <a href="https://developer.android.com/reference/java/lang/Float.html#POSITIVE_INFINITY" title="class or interface in java.lang" class="externalLink" target="_top"><code>Float.POSITIVE_INFINITY</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanNonFatalErrorCount()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMeanNonFatalErrorCount</h4>
|
|
<pre class="methodSignature">public float getMeanNonFatalErrorCount()</pre>
|
|
<div class="block">Returns the mean number of non-fatal errors per foreground playback, or <code>0.0</code> if no
|
|
playback has been in foreground.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getNonFatalErrorRate()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getNonFatalErrorRate</h4>
|
|
<pre class="methodSignature">public float getNonFatalErrorRate()</pre>
|
|
<div class="block">Returns the rate of non-fatal errors, in errors per play time second, or <code>0.0</code> if no time
|
|
was spend playing. This is equivalent to 1.0 / <a href="#getMeanTimeBetweenNonFatalErrors()"><code>getMeanTimeBetweenNonFatalErrors()</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMeanTimeBetweenNonFatalErrors()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockListLast">
|
|
<li class="blockList">
|
|
<h4>getMeanTimeBetweenNonFatalErrors</h4>
|
|
<pre class="methodSignature">public float getMeanTimeBetweenNonFatalErrors()</pre>
|
|
<div class="block">Returns the mean play time between non-fatal errors, in seconds. This is equivalent to 1.0 /
|
|
<a href="#getNonFatalErrorRate()"><code>getNonFatalErrorRate()</code></a>. Note that this may return <a href="https://developer.android.com/reference/java/lang/Float.html#POSITIVE_INFINITY" title="class or interface in java.lang" class="externalLink" target="_top"><code>Float.POSITIVE_INFINITY</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
<!-- ========= END OF CLASS DATA ========= -->
|
|
<footer role="contentinfo">
|
|
<nav role="navigation">
|
|
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
|
<div class="bottomNav"><a id="navbar.bottom">
|
|
<!-- -->
|
|
</a>
|
|
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
|
|
<a id="navbar.bottom.firstrow">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="navList" title="Navigation">
|
|
<li><a href="../../../../../index.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" id="allclasses_navbar_bottom">
|
|
<li><a href="../../../../../allclasses.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>
|
|
<noscript>
|
|
<div>JavaScript is disabled on your browser.</div>
|
|
</noscript>
|
|
</div>
|
|
<div>
|
|
<ul class="subNavList">
|
|
<li>Summary: </li>
|
|
<li><a href="#nested.class.summary">Nested</a> | </li>
|
|
<li><a href="#field.summary">Field</a> | </li>
|
|
<li>Constr | </li>
|
|
<li><a href="#method.summary">Method</a></li>
|
|
</ul>
|
|
<ul class="subNavList">
|
|
<li>Detail: </li>
|
|
<li><a href="#field.detail">Field</a> | </li>
|
|
<li>Constr | </li>
|
|
<li><a href="#method.detail">Method</a></li>
|
|
</ul>
|
|
</div>
|
|
<a id="skip.navbar.bottom">
|
|
<!-- -->
|
|
</a></div>
|
|
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
|
</nav>
|
|
</footer>
|
|
</body>
|
|
</html>
|