Skip to content

Commit ac9d533

Browse files
authored
Merge pull request #11167 from google/release-v2-r2.18.7
r2.18.7
2 parents cf49175 + 4548949 commit ac9d533

File tree

91 files changed

+1093
-68421
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+1093
-68421
lines changed

RELEASENOTES.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,24 @@
11
# Release notes
22

3+
### 2.18.7 (2023-05-18)
4+
5+
This release corresponds to the
6+
[AndroidX Media3 1.0.2 release](https://github.com/androidx/media/releases/tag/1.0.2).
7+
8+
* Core library:
9+
* Add `Buffer.isLastSample()` that denotes if `Buffer` contains flag
10+
`C.BUFFER_FLAG_LAST_SAMPLE`.
11+
* Fix issue where last frame may not be rendered if the last sample with
12+
frames is dequeued without reading the 'end of stream' sample.
13+
([#11079](https://github.com/google/ExoPlayer/issues/11079)).
14+
* Extractors:
15+
* Fix parsing of H.265 SPS in MPEG-TS files by re-using the parsing logic
16+
already used by RTSP and MP4 extractors
17+
([#303](https://github.com/androidx/media/issues/303)).
18+
* Text:
19+
* SSA: Add support for UTF-16 files if they start with a byte order mark
20+
([#319](https://github.com/androidx/media/issues/319)).
21+
322
### 2.18.6 (2023-04-18)
423

524
This release corresponds to the

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ allprojects {
3232
}
3333
buildDir = "${externalBuildDir}/${project.name}"
3434
}
35-
group = 'com.google.android.exoplayer'
35+
group = 'com.google.android.exoplayer'
3636
}
3737

3838
apply from: 'javadoc_combined.gradle'

common_library_config.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
14-
apply from: "$gradle.ext.exoplayerSettingsDir/constants.gradle"
14+
apply from: "$gradle.ext.exoplayerSettingsDir/constants.gradle"
1515
apply plugin: 'com.android.library'
1616

1717
android {

constants.gradle

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414
project.ext {
15-
// ExoPlayer version and version code.
16-
releaseVersion = '2.18.6'
17-
releaseVersionCode = 2_018_006
15+
// ExoPlayer version and version code.
16+
releaseVersion = '2.18.7'
17+
releaseVersionCode = 2_018_007
1818
minSdkVersion = 16
1919
appTargetSdkVersion = 33
2020
// API version before restricting local file access.
@@ -57,7 +57,7 @@ project.ext {
5757
truthVersion = '1.1.3'
5858
okhttpVersion = '4.9.2'
5959
modulePrefix = ':'
60-
if (gradle.ext.has('exoplayerModulePrefix')) {
61-
modulePrefix += gradle.ext.exoplayerModulePrefix
62-
}
60+
if (gradle.ext.has('exoplayerModulePrefix')) {
61+
modulePrefix += gradle.ext.exoplayerModulePrefix
62+
}
6363
}

core_settings.gradle

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,16 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414
def rootDir = file(".")
15-
if (!gradle.ext.has('exoplayerSettingsDir')) {
16-
gradle.ext.exoplayerSettingsDir = rootDir.getCanonicalPath()
17-
}
15+
if (!gradle.ext.has('exoplayerSettingsDir')) {
16+
gradle.ext.exoplayerSettingsDir = rootDir.getCanonicalPath()
17+
}
1818

1919
def modulePrefix = ':'
20-
if (gradle.ext.has('exoplayerModulePrefix')) {
21-
modulePrefix += gradle.ext.exoplayerModulePrefix
22-
}
20+
if (gradle.ext.has('exoplayerModulePrefix')) {
21+
modulePrefix += gradle.ext.exoplayerModulePrefix
22+
}
23+
24+
rootProject.name = 'exoplayer2'
2325

2426
include modulePrefix + 'library-common'
2527
project(modulePrefix + 'library-common').projectDir = new File(rootDir, 'library/common')

demos/main/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import android.content.res.AssetManager;
2828
import android.net.Uri;
2929
import android.os.AsyncTask;
30+
import android.os.Build;
3031
import android.os.Bundle;
3132
import android.text.TextUtils;
3233
import android.util.JsonReader;
@@ -271,7 +272,7 @@ private void onSampleDownloadButtonClicked(PlaylistHolder playlistHolder) {
271272
Toast.makeText(getApplicationContext(), downloadUnsupportedStringId, Toast.LENGTH_LONG)
272273
.show();
273274
} else if (!notificationPermissionToastShown
274-
&& Util.SDK_INT >= 33
275+
&& Build.VERSION.SDK_INT >= 33
275276
&& checkSelfPermission(Api33.getPostNotificationPermissionString())
276277
!= PackageManager.PERMISSION_GRANTED) {
277278
downloadMediaItemWaitingForNotificationPermission = playlistHolder.mediaItems.get(0);

docs/doc/reference/com/google/android/exoplayer2/decoder/Buffer.html

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
catch(err) {
2626
}
2727
//-->
28-
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
28+
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
2929
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
3030
var altColor = "altColor";
3131
var rowColor = "rowColor";
@@ -241,6 +241,13 @@ <h3>Method Summary</h3>
241241
</td>
242242
</tr>
243243
<tr id="i9" class="rowColor">
244+
<td class="colFirst"><code>boolean</code></td>
245+
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLastSample()">isLastSample</a></span>()</code></th>
246+
<td class="colLast">
247+
<div class="block">Returns whether the <a href="../C.html#BUFFER_FLAG_LAST_SAMPLE"><code>C.BUFFER_FLAG_LAST_SAMPLE</code></a> flag is set.</div>
248+
</td>
249+
</tr>
250+
<tr id="i10" class="altColor">
244251
<td class="colFirst"><code>void</code></td>
245252
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setFlags(@com.google.android.exoplayer2.C.BufferFlagsint)">setFlags</a></span>&#8203;(@com.google.android.exoplayer2.C.BufferFlags int&nbsp;flags)</code></th>
246253
<td class="colLast">
@@ -340,6 +347,16 @@ <h4>isKeyFrame</h4>
340347
<div class="block">Returns whether the <a href="../C.html#BUFFER_FLAG_KEY_FRAME"><code>C.BUFFER_FLAG_KEY_FRAME</code></a> flag is set.</div>
341348
</li>
342349
</ul>
350+
<a id="isLastSample()">
351+
<!-- -->
352+
</a>
353+
<ul class="blockList">
354+
<li class="blockList">
355+
<h4>isLastSample</h4>
356+
<pre class="methodSignature">public final&nbsp;boolean&nbsp;isLastSample()</pre>
357+
<div class="block">Returns whether the <a href="../C.html#BUFFER_FLAG_LAST_SAMPLE"><code>C.BUFFER_FLAG_LAST_SAMPLE</code></a> flag is set.</div>
358+
</li>
359+
</ul>
343360
<a id="hasSupplementalData()">
344361
<!-- -->
345362
</a>

docs/doc/reference/com/google/android/exoplayer2/decoder/DecoderInputBuffer.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ <h3>Method Summary</h3>
356356
<!-- -->
357357
</a>
358358
<h3>Methods inherited from class&nbsp;com.google.android.exoplayer2.decoder.<a href="Buffer.html" title="class in com.google.android.exoplayer2.decoder">Buffer</a></h3>
359-
<code><a href="Buffer.html#addFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">addFlag</a>, <a href="Buffer.html#clearFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">clearFlag</a>, <a href="Buffer.html#getFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">getFlag</a>, <a href="Buffer.html#hasSupplementalData()">hasSupplementalData</a>, <a href="Buffer.html#isDecodeOnly()">isDecodeOnly</a>, <a href="Buffer.html#isEndOfStream()">isEndOfStream</a>, <a href="Buffer.html#isFirstSample()">isFirstSample</a>, <a href="Buffer.html#isKeyFrame()">isKeyFrame</a>, <a href="Buffer.html#setFlags(@com.google.android.exoplayer2.C.BufferFlagsint)">setFlags</a></code></li>
359+
<code><a href="Buffer.html#addFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">addFlag</a>, <a href="Buffer.html#clearFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">clearFlag</a>, <a href="Buffer.html#getFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">getFlag</a>, <a href="Buffer.html#hasSupplementalData()">hasSupplementalData</a>, <a href="Buffer.html#isDecodeOnly()">isDecodeOnly</a>, <a href="Buffer.html#isEndOfStream()">isEndOfStream</a>, <a href="Buffer.html#isFirstSample()">isFirstSample</a>, <a href="Buffer.html#isKeyFrame()">isKeyFrame</a>, <a href="Buffer.html#isLastSample()">isLastSample</a>, <a href="Buffer.html#setFlags(@com.google.android.exoplayer2.C.BufferFlagsint)">setFlags</a></code></li>
360360
</ul>
361361
<ul class="blockList">
362362
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">

docs/doc/reference/com/google/android/exoplayer2/decoder/DecoderOutputBuffer.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ <h3>Method Summary</h3>
252252
<!-- -->
253253
</a>
254254
<h3>Methods inherited from class&nbsp;com.google.android.exoplayer2.decoder.<a href="Buffer.html" title="class in com.google.android.exoplayer2.decoder">Buffer</a></h3>
255-
<code><a href="Buffer.html#addFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">addFlag</a>, <a href="Buffer.html#clear()">clear</a>, <a href="Buffer.html#clearFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">clearFlag</a>, <a href="Buffer.html#getFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">getFlag</a>, <a href="Buffer.html#hasSupplementalData()">hasSupplementalData</a>, <a href="Buffer.html#isDecodeOnly()">isDecodeOnly</a>, <a href="Buffer.html#isEndOfStream()">isEndOfStream</a>, <a href="Buffer.html#isFirstSample()">isFirstSample</a>, <a href="Buffer.html#isKeyFrame()">isKeyFrame</a>, <a href="Buffer.html#setFlags(@com.google.android.exoplayer2.C.BufferFlagsint)">setFlags</a></code></li>
255+
<code><a href="Buffer.html#addFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">addFlag</a>, <a href="Buffer.html#clear()">clear</a>, <a href="Buffer.html#clearFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">clearFlag</a>, <a href="Buffer.html#getFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">getFlag</a>, <a href="Buffer.html#hasSupplementalData()">hasSupplementalData</a>, <a href="Buffer.html#isDecodeOnly()">isDecodeOnly</a>, <a href="Buffer.html#isEndOfStream()">isEndOfStream</a>, <a href="Buffer.html#isFirstSample()">isFirstSample</a>, <a href="Buffer.html#isKeyFrame()">isKeyFrame</a>, <a href="Buffer.html#isLastSample()">isLastSample</a>, <a href="Buffer.html#setFlags(@com.google.android.exoplayer2.C.BufferFlagsint)">setFlags</a></code></li>
256256
</ul>
257257
<ul class="blockList">
258258
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">

docs/doc/reference/com/google/android/exoplayer2/decoder/SimpleDecoderOutputBuffer.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ <h3>Method Summary</h3>
258258
<!-- -->
259259
</a>
260260
<h3>Methods inherited from class&nbsp;com.google.android.exoplayer2.decoder.<a href="Buffer.html" title="class in com.google.android.exoplayer2.decoder">Buffer</a></h3>
261-
<code><a href="Buffer.html#addFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">addFlag</a>, <a href="Buffer.html#clearFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">clearFlag</a>, <a href="Buffer.html#getFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">getFlag</a>, <a href="Buffer.html#hasSupplementalData()">hasSupplementalData</a>, <a href="Buffer.html#isDecodeOnly()">isDecodeOnly</a>, <a href="Buffer.html#isEndOfStream()">isEndOfStream</a>, <a href="Buffer.html#isFirstSample()">isFirstSample</a>, <a href="Buffer.html#isKeyFrame()">isKeyFrame</a>, <a href="Buffer.html#setFlags(@com.google.android.exoplayer2.C.BufferFlagsint)">setFlags</a></code></li>
261+
<code><a href="Buffer.html#addFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">addFlag</a>, <a href="Buffer.html#clearFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">clearFlag</a>, <a href="Buffer.html#getFlag(@com.google.android.exoplayer2.C.BufferFlagsint)">getFlag</a>, <a href="Buffer.html#hasSupplementalData()">hasSupplementalData</a>, <a href="Buffer.html#isDecodeOnly()">isDecodeOnly</a>, <a href="Buffer.html#isEndOfStream()">isEndOfStream</a>, <a href="Buffer.html#isFirstSample()">isFirstSample</a>, <a href="Buffer.html#isKeyFrame()">isKeyFrame</a>, <a href="Buffer.html#isLastSample()">isLastSample</a>, <a href="Buffer.html#setFlags(@com.google.android.exoplayer2.C.BufferFlagsint)">setFlags</a></code></li>
262262
</ul>
263263
<ul class="blockList">
264264
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">

0 commit comments

Comments
 (0)