media/docs/doc/reference/com/google/android/exoplayer2/effect/Presentation.html
michaelkatz aef5330960 Update JavaDoc for exoplayer:2.18.2
#minor-release

PiperOrigin-RevId: 490202192
(cherry picked from commit 6f1cf6dab4)
2022-11-22 12:44:28 +00:00

554 lines
28 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>Presentation (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="Presentation (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":9,"i2":9,"i3":9,"i4":10};
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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class Presentation" class="title">Class Presentation</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.effect.Presentation</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code>, <code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></code>, <code><a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></code>, <code><a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></code></dd>
</dl>
<hr>
<pre>public final class <span class="typeNameLabel">Presentation</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>
implements <a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></pre>
<div class="block">Controls how a frame is presented with options to set the output resolution and choose how to map
the input pixels onto the output frame geometry (for example, by stretching the input frame to
match the specified output frame, or fitting the input frame using letterboxing).
<p>The background color of the output frame will be black, with alpha = 0 if applicable.</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">&nbsp;</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 interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="Presentation.Layout.html" title="annotation in com.google.android.exoplayer2.effect">Presentation.Layout</a></span></code></th>
<td class="colLast">
<div class="block">Strategies controlling the layout of input pixels in the output frame.</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">&nbsp;</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>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#LAYOUT_SCALE_TO_FIT">LAYOUT_SCALE_TO_FIT</a></span></code></th>
<td class="colLast">
<div class="block">Empty pixels added above and below the input frame (for letterboxing), or to the left and right
of the input frame (for pillarboxing), until the desired aspect ratio is achieved.</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="#LAYOUT_SCALE_TO_FIT_WITH_CROP">LAYOUT_SCALE_TO_FIT_WITH_CROP</a></span></code></th>
<td class="colLast">
<div class="block">Pixels cropped from the input frame, until the desired aspect ratio is achieved.</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="#LAYOUT_STRETCH_TO_FIT">LAYOUT_STRETCH_TO_FIT</a></span></code></th>
<td class="colLast">
<div class="block">Frame stretched larger on the x or y axes to fit the desired aspect ratio.</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">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="https://developer.android.com/reference/android/util/Pair.html" title="class or interface in android.util" class="externalLink">Pair</a>&lt;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>,&#8203;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configure(int,int)">configure</a></span>&#8203;(int&nbsp;inputWidth,
int&nbsp;inputHeight)</code></th>
<td class="colLast">
<div class="block">Configures the input and output dimensions.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createForAspectRatio(float,@com.google.android.exoplayer2.effect.Presentation.Layoutint)">createForAspectRatio</a></span>&#8203;(float&nbsp;aspectRatio,
@com.google.android.exoplayer2.effect.Presentation.Layout int&nbsp;layout)</code></th>
<td class="colLast">
<div class="block">Creates a new <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect"><code>Presentation</code></a> instance.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createForHeight(int)">createForHeight</a></span>&#8203;(int&nbsp;height)</code></th>
<td class="colLast">
<div class="block">Creates a new <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect"><code>Presentation</code></a> instance.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createForWidthAndHeight(int,int,@com.google.android.exoplayer2.effect.Presentation.Layoutint)">createForWidthAndHeight</a></span>&#8203;(int&nbsp;width,
int&nbsp;height,
@com.google.android.exoplayer2.effect.Presentation.Layout int&nbsp;layout)</code></th>
<td class="colLast">
<div class="block">Creates a new <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect"><code>Presentation</code></a> instance.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top">Matrix</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMatrix(long)">getMatrix</a></span>&#8203;(long&nbsp;presentationTimeUs)</code></th>
<td class="colLast">
<div class="block">Returns the 3x3 transformation <a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top"><code>Matrix</code></a> to apply to the frame with the given timestamp.</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&nbsp;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>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.effect.GlMatrixTransformation">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.effect.<a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></h3>
<code><a href="GlMatrixTransformation.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.effect.MatrixTransformation">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.effect.<a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></h3>
<code><a href="MatrixTransformation.html#getGlMatrixArray(long)">getGlMatrixArray</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="LAYOUT_SCALE_TO_FIT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LAYOUT_SCALE_TO_FIT</h4>
<pre>public static final&nbsp;int LAYOUT_SCALE_TO_FIT</pre>
<div class="block">Empty pixels added above and below the input frame (for letterboxing), or to the left and right
of the input frame (for pillarboxing), until the desired aspect ratio is achieved. All input
frame pixels will be within the output frame.
<p>When applying:
<ul>
<li>letterboxing, the output width will default to the input width, and the output height
will be scaled appropriately.
<li>pillarboxing, the output height will default to the input height, and the output width
will be scaled appropriately.
</ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.effect.Presentation.LAYOUT_SCALE_TO_FIT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="LAYOUT_SCALE_TO_FIT_WITH_CROP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LAYOUT_SCALE_TO_FIT_WITH_CROP</h4>
<pre>public static final&nbsp;int LAYOUT_SCALE_TO_FIT_WITH_CROP</pre>
<div class="block">Pixels cropped from the input frame, until the desired aspect ratio is achieved. Pixels may be
cropped either from the bottom and top, or from the left and right sides, of the input frame.
<p>When cropping from the:
<ul>
<li>bottom and top, the output width will default to the input width, and the output height
will be scaled appropriately.
<li>left and right, the output height will default to the input height, and the output width
will be scaled appropriately.
</ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.effect.Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="LAYOUT_STRETCH_TO_FIT">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LAYOUT_STRETCH_TO_FIT</h4>
<pre>public static final&nbsp;int LAYOUT_STRETCH_TO_FIT</pre>
<div class="block">Frame stretched larger on the x or y axes to fit the desired aspect ratio.
<p>When stretching to a:
<ul>
<li>taller aspect ratio, the output width will default to the input width, and the output
height will be scaled appropriately.
<li>narrower aspect ratio, the output height will default to the input height, and the output
width will be scaled appropriately.
</ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.effect.Presentation.LAYOUT_STRETCH_TO_FIT">Constant Field Values</a></dd>
</dl>
</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="createForAspectRatio(float,@com.google.android.exoplayer2.effect.Presentation.Layoutint)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createForAspectRatio</h4>
<pre class="methodSignature">public static&nbsp;<a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a>&nbsp;createForAspectRatio&#8203;(float&nbsp;aspectRatio,
@com.google.android.exoplayer2.effect.Presentation.Layout int&nbsp;layout)</pre>
<div class="block">Creates a new <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect"><code>Presentation</code></a> instance.
<p>The output frame will have the given aspect ratio (width/height ratio). Width or height will
be resized to conform to this <code>aspectRatio</code>, given a <a href="Presentation.Layout.html" title="annotation in com.google.android.exoplayer2.effect"><code>Presentation.Layout</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>aspectRatio</code> - The aspect ratio (width/height ratio) of the output frame. Must be positive.</dd>
<dd><code>layout</code> - The layout of the output frame.</dd>
</dl>
</li>
</ul>
<a id="createForHeight(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createForHeight</h4>
<pre class="methodSignature">public static&nbsp;<a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a>&nbsp;createForHeight&#8203;(int&nbsp;height)</pre>
<div class="block">Creates a new <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect"><code>Presentation</code></a> instance.
<p>The output frame will have the given height. Width will scale to preserve the input aspect
ratio.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>height</code> - The height of the output frame, in pixels.</dd>
</dl>
</li>
</ul>
<a id="createForWidthAndHeight(int,int,@com.google.android.exoplayer2.effect.Presentation.Layoutint)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createForWidthAndHeight</h4>
<pre class="methodSignature">public static&nbsp;<a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a>&nbsp;createForWidthAndHeight&#8203;(int&nbsp;width,
int&nbsp;height,
@com.google.android.exoplayer2.effect.Presentation.Layout int&nbsp;layout)</pre>
<div class="block">Creates a new <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect"><code>Presentation</code></a> instance.
<p>The output frame will have the given width and height, given a <a href="Presentation.Layout.html" title="annotation in com.google.android.exoplayer2.effect"><code>Presentation.Layout</code></a>.
<p>Width and height must be positive integers representing the output frame's width and height.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>width</code> - The width of the output frame, in pixels.</dd>
<dd><code>height</code> - The height of the output frame, in pixels.</dd>
<dd><code>layout</code> - The layout of the output frame.</dd>
</dl>
</li>
</ul>
<a id="configure(int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configure</h4>
<pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/util/Pair.html" title="class or interface in android.util" class="externalLink">Pair</a>&lt;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>,&#8203;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;&nbsp;configure&#8203;(int&nbsp;inputWidth,
int&nbsp;inputHeight)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlMatrixTransformation.html#configure(int,int)">GlMatrixTransformation</a></code></span></div>
<div class="block">Configures the input and output dimensions.
<p>Must be called before <a href="GlMatrixTransformation.html#getGlMatrixArray(long)"><code>GlMatrixTransformation.getGlMatrixArray(long)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlMatrixTransformation.html#configure(int,int)">configure</a></code>&nbsp;in interface&nbsp;<code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inputWidth</code> - The input frame width, in pixels.</dd>
<dd><code>inputHeight</code> - The input frame height, in pixels.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The output frame width and height, in pixels.</dd>
</dl>
</li>
</ul>
<a id="getMatrix(long)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getMatrix</h4>
<pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top">Matrix</a>&nbsp;getMatrix&#8203;(long&nbsp;presentationTimeUs)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="MatrixTransformation.html#getMatrix(long)">MatrixTransformation</a></code></span></div>
<div class="block">Returns the 3x3 transformation <a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top"><code>Matrix</code></a> to apply to the frame with the given timestamp.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="MatrixTransformation.html#getMatrix(long)">getMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></code></dd>
</dl>
</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&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>