Commit 65770131 by ojw28 Committed by GitHub

Merge pull request #2598 from google/dev-v2-r2.3.1

r2.3.1
parents 569cec7f 6503f016
# Release notes # # Release notes #
### r2.3.1 ###
* Fix NPE enabling WebVTT subtitles in DASH streams
([#2596](https://github.com/google/ExoPlayer/issues/2596)).
* Fix skipping to keyframes when MediaCodecVideoRenderer is enabled but without
a Surface ([#2575](https://github.com/google/ExoPlayer/issues/2575)).
* Minor fix for CEA-708 decoder
([#2595](https://github.com/google/ExoPlayer/issues/2595)).
### r2.3.0 ### ### r2.3.0 ###
* GVR extension: Wraps the Google VR Audio SDK to provide spatial audio * GVR extension: Wraps the Google VR Audio SDK to provide spatial audio
......
...@@ -37,7 +37,7 @@ allprojects { ...@@ -37,7 +37,7 @@ allprojects {
releaseRepoName = getBintrayRepo() releaseRepoName = getBintrayRepo()
releaseUserOrg = 'google' releaseUserOrg = 'google'
releaseGroupId = 'com.google.android.exoplayer' releaseGroupId = 'com.google.android.exoplayer'
releaseVersion = 'r2.3.0' releaseVersion = 'r2.3.1'
releaseWebsite = 'https://github.com/google/ExoPlayer' releaseWebsite = 'https://github.com/google/ExoPlayer'
} }
} }
......
...@@ -16,8 +16,8 @@ ...@@ -16,8 +16,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.android.exoplayer2.demo" package="com.google.android.exoplayer2.demo"
android:versionCode="2300" android:versionCode="2301"
android:versionName="2.3.0"> android:versionName="2.3.1">
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
......
...@@ -311,7 +311,7 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities { ...@@ -311,7 +311,7 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities {
* @param timeUs The specified time. * @param timeUs The specified time.
*/ */
protected void skipToKeyframeBefore(long timeUs) { protected void skipToKeyframeBefore(long timeUs) {
stream.skipToKeyframeBefore(timeUs); stream.skipToKeyframeBefore(timeUs - streamOffsetUs);
} }
} }
...@@ -23,7 +23,7 @@ public interface ExoPlayerLibraryInfo { ...@@ -23,7 +23,7 @@ public interface ExoPlayerLibraryInfo {
/** /**
* The version of the library, expressed as a string. * The version of the library, expressed as a string.
*/ */
String VERSION = "2.3.0"; String VERSION = "2.3.1";
/** /**
* The version of the library, expressed as an integer. * The version of the library, expressed as an integer.
...@@ -32,7 +32,7 @@ public interface ExoPlayerLibraryInfo { ...@@ -32,7 +32,7 @@ public interface ExoPlayerLibraryInfo {
* corresponding integer version 1002003 (001-002-003), and "123.45.6" has the corresponding * corresponding integer version 1002003 (001-002-003), and "123.45.6" has the corresponding
* integer version 123045006 (123-045-006). * integer version 123045006 (123-045-006).
*/ */
int VERSION_INT = 2003000; int VERSION_INT = 2003001;
/** /**
* Whether the library was compiled with {@link com.google.android.exoplayer2.util.Assertions} * Whether the library was compiled with {@link com.google.android.exoplayer2.util.Assertions}
......
...@@ -180,15 +180,15 @@ public class DefaultDashChunkSource implements DashChunkSource { ...@@ -180,15 +180,15 @@ public class DefaultDashChunkSource implements DashChunkSource {
RepresentationHolder representationHolder = RepresentationHolder representationHolder =
representationHolders[trackSelection.getSelectedIndex()]; representationHolders[trackSelection.getSelectedIndex()];
Representation selectedRepresentation = representationHolder.representation;
DashSegmentIndex segmentIndex = representationHolder.segmentIndex;
if (representationHolder.extractorWrapper != null) {
Representation selectedRepresentation = representationHolder.representation;
RangedUri pendingInitializationUri = null; RangedUri pendingInitializationUri = null;
RangedUri pendingIndexUri = null; RangedUri pendingIndexUri = null;
if (representationHolder.extractorWrapper.getSampleFormats() == null) { if (representationHolder.extractorWrapper.getSampleFormats() == null) {
pendingInitializationUri = selectedRepresentation.getInitializationUri(); pendingInitializationUri = selectedRepresentation.getInitializationUri();
} }
if (segmentIndex == null) { if (representationHolder.segmentIndex == null) {
pendingIndexUri = selectedRepresentation.getIndexUri(); pendingIndexUri = selectedRepresentation.getIndexUri();
} }
if (pendingInitializationUri != null || pendingIndexUri != null) { if (pendingInitializationUri != null || pendingIndexUri != null) {
...@@ -198,6 +198,7 @@ public class DefaultDashChunkSource implements DashChunkSource { ...@@ -198,6 +198,7 @@ public class DefaultDashChunkSource implements DashChunkSource {
trackSelection.getSelectionData(), pendingInitializationUri, pendingIndexUri); trackSelection.getSelectionData(), pendingInitializationUri, pendingIndexUri);
return; return;
} }
}
long nowUs = getNowUnixTimeUs(); long nowUs = getNowUnixTimeUs();
int availableSegmentCount = representationHolder.getSegmentCount(); int availableSegmentCount = representationHolder.getSegmentCount();
......
...@@ -483,7 +483,7 @@ public final class Cea708Decoder extends CeaDecoder { ...@@ -483,7 +483,7 @@ public final class Cea708Decoder extends CeaDecoder {
private void handleC2Command(int command) { private void handleC2Command(int command) {
// C2 Table doesn't contain any commands in CEA-708-B, but we do need to skip bytes // C2 Table doesn't contain any commands in CEA-708-B, but we do need to skip bytes
if (command <= 0x0F) { if (command <= 0x07) {
// Do nothing. // Do nothing.
} else if (command <= 0x0F) { } else if (command <= 0x0F) {
serviceBlockPacket.skipBits(8); serviceBlockPacket.skipBits(8);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment