Move onSubtitleData from MediaPlayer to SessionPlayer
It also moves SubtitleData to media2-common.
Bug: 130514014
Test: ./gradlew -p media2 check connectedCheck &&
./media2/session/version-compat-tests/runtest.sh 1
Change-Id: I5d10411050fd6b1e3569a40f5f40c7a933bb54ac
diff --git a/media2/common/build.gradle b/media2/common/build.gradle
index d6aa841..a8a5b68 100644
--- a/media2/common/build.gradle
+++ b/media2/common/build.gradle
@@ -15,6 +15,11 @@
implementation("androidx.collection:collection:1.0.0")
compileOnly(CHECKER_FRAMEWORK)
+ androidTestImplementation(ANDROIDX_TEST_EXT_JUNIT)
+ androidTestImplementation(ANDROIDX_TEST_CORE)
+ androidTestImplementation(ANDROIDX_TEST_RUNNER)
+ androidTestImplementation(ESPRESSO_CORE, libs.exclude_for_espresso)
+ androidTestImplementation project(':internal-testutils')
annotationProcessor(project(":versionedparcelable-annotation"))
}
diff --git a/media2/common/src/androidTest/AndroidManifest.xml b/media2/common/src/androidTest/AndroidManifest.xml
new file mode 100644
index 0000000..86d2b82
--- /dev/null
+++ b/media2/common/src/androidTest/AndroidManifest.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="androidx.media2.common.test">
+ <uses-sdk android:targetSdkVersion="${target-sdk-version}"/>
+</manifest>
diff --git a/media2/player/src/androidTest/java/androidx/media2/player/SubtitleDataTest.java b/media2/common/src/androidTest/java/androidx/media2/common/SubtitleDataTest.java
similarity index 90%
rename from media2/player/src/androidTest/java/androidx/media2/player/SubtitleDataTest.java
rename to media2/common/src/androidTest/java/androidx/media2/common/SubtitleDataTest.java
index d0a327d..92e282c 100644
--- a/media2/player/src/androidTest/java/androidx/media2/player/SubtitleDataTest.java
+++ b/media2/common/src/androidTest/java/androidx/media2/common/SubtitleDataTest.java
@@ -14,13 +14,13 @@
* limitations under the License.
*/
-package androidx.media2.player;
+package androidx.media2.common;
import static junit.framework.Assert.assertEquals;
import android.media.MediaFormat;
-import androidx.media2.player.MediaPlayer.TrackInfo;
+import androidx.media2.common.SessionPlayer.TrackInfo;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
@@ -32,7 +32,7 @@
*/
@RunWith(AndroidJUnit4.class)
@SmallTest
-public class SubtitleDataTest extends MediaTestBase {
+public class SubtitleDataTest {
@Test
public void testConstructor() {
diff --git a/media2/common/src/main/java/androidx/media2/common/SessionPlayer.java b/media2/common/src/main/java/androidx/media2/common/SessionPlayer.java
index 6910da9..f3307a2 100644
--- a/media2/common/src/main/java/androidx/media2/common/SessionPlayer.java
+++ b/media2/common/src/main/java/androidx/media2/common/SessionPlayer.java
@@ -1196,6 +1196,19 @@
public void onVideoSizeChangedInternal(
@NonNull SessionPlayer player, @NonNull MediaItem item, @NonNull VideoSize size) {
}
+
+ /**
+ * Called when the player's subtitle track has new subtitle data available.
+ * @param player the player that reports the new subtitle data
+ * @param item the MediaItem of this media item
+ * @param data the subtitle data
+ *
+ * @hide
+ */
+ @RestrictTo(LIBRARY_GROUP)
+ public void onSubtitleData(@NonNull SessionPlayer player,
+ @NonNull MediaItem item, @NonNull SubtitleData data) {
+ }
}
/**
diff --git a/media2/player/src/main/java/androidx/media2/player/SubtitleData.java b/media2/common/src/main/java/androidx/media2/common/SubtitleData.java
similarity index 67%
rename from media2/player/src/main/java/androidx/media2/player/SubtitleData.java
rename to media2/common/src/main/java/androidx/media2/common/SubtitleData.java
index 32e08b3..02d445b 100644
--- a/media2/player/src/main/java/androidx/media2/player/SubtitleData.java
+++ b/media2/common/src/main/java/androidx/media2/common/SubtitleData.java
@@ -14,21 +14,19 @@
* limitations under the License.
*/
-package androidx.media2.player;
+package androidx.media2.common;
-import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX;
+import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP;
import androidx.annotation.NonNull;
import androidx.annotation.RestrictTo;
-import androidx.media2.common.MediaItem;
-import androidx.media2.common.SessionPlayer;
-import androidx.media2.player.MediaPlayer.TrackInfo;
+import androidx.media2.common.SessionPlayer.TrackInfo;
import java.util.concurrent.Executor;
/**
* Class encapsulating subtitle data, as received through the
- * {@link MediaPlayer.PlayerCallback#onSubtitleData} interface.
+ * {@link SessionPlayer.PlayerCallback#onSubtitleData} interface.
* The subtitle data includes:
* <ul>
* <li> the track index</li>
@@ -38,40 +36,17 @@
* </ul>
* The data is stored in a byte-array, and is encoded in one of the supported in-band
* subtitle formats. The subtitle encoding is determined by the MIME type of the
- * {@link MediaPlayer.TrackInfo} of the subtitle track, one of
+ * {@link SessionPlayer.TrackInfo} of the subtitle track, one of
* {@link #MIMETYPE_TEXT_CEA_608}, {@link #MIMETYPE_TEXT_CEA_708},
* {@link #MIMETYPE_TEXT_VTT}.
- * <p>
- * Here is an example of iterating over the tracks of a {@link MediaPlayer}, and checking which
- * encoding is used for the subtitle tracks:
- * <p>
- * <pre class="prettyprint">
- * MediaPlayer mp = new MediaPlayer(context);
- * // prepare the player with a valid media item.
- * …
*
- * final TrackInfo[] trackInfos = mp.getTrackInfo();
- * for (TrackInfo info : trackInfo) {
- * if (info.getTrackType() == TrackInfo.MEDIA_TRACK_TYPE_SUBTITLE) {
- * final String mime = info.getFormat().getString(MediaFormat.KEY_MIME);
- * if (SubtitleData.MIMETYPE_TEXT_CEA_608.equals(mime) {
- * // subtitle encoding is CEA 608
- * } else if (SubtitleData.MIMETYPE_TEXT_CEA_708.equals(mime) {
- * // subtitle encoding is CEA 708
- * } else if (SubtitleData.MIMETYPE_TEXT_VTT.equals(mime) {
- * // subtitle encoding is WebVTT
- * }
- * }
- * }
- * </pre>
- * <p>
- * @see MediaPlayer#registerPlayerCallback(Executor, SessionPlayer.PlayerCallback)
- * @see MediaPlayer.PlayerCallback#onSubtitleData(MediaPlayer, MediaItem, SubtitleData)
+ * @see SessionPlayer#registerPlayerCallback(Executor, SessionPlayer.PlayerCallback)
+ * @see SessionPlayer.PlayerCallback#onSubtitleData(SessionPlayer, MediaItem, SubtitleData)
*
* @hide
*/
// TODO: replace this byte oriented data with structured data (b/130312596)
-@RestrictTo(LIBRARY_GROUP_PREFIX)
+@RestrictTo(LIBRARY_GROUP)
public final class SubtitleData {
private static final String TAG = "SubtitleData";
@@ -96,7 +71,7 @@
private byte[] mData;
/** @hide */
- @RestrictTo(LIBRARY_GROUP_PREFIX)
+ @RestrictTo(LIBRARY_GROUP)
public SubtitleData(@NonNull TrackInfo trackInfo,
long startTimeUs, long durationUs, byte[] data) {
mTrackInfo = trackInfo;
@@ -106,8 +81,8 @@
}
/**
- * Returns metadata of the {@link MediaPlayer} track which contains this subtitle data.
- * @return metadata of the {@link MediaPlayer} track which contains this subtitle data.
+ * Gets the track which contains this subtitle data.
+ * @return the {@link TrackInfo} which contains this subtitle data.
*/
@NonNull
public TrackInfo getTrackInfo() {
diff --git a/media2/player/src/androidTest/java/androidx/media2/player/MediaPlayer2Test.java b/media2/player/src/androidTest/java/androidx/media2/player/MediaPlayer2Test.java
index cb511c1..a699825 100644
--- a/media2/player/src/androidTest/java/androidx/media2/player/MediaPlayer2Test.java
+++ b/media2/player/src/androidTest/java/androidx/media2/player/MediaPlayer2Test.java
@@ -44,6 +44,7 @@
import androidx.media2.common.DataSourceCallback;
import androidx.media2.common.FileMediaItem;
import androidx.media2.common.MediaItem;
+import androidx.media2.common.SubtitleData;
import androidx.media2.common.UriMediaItem;
import androidx.media2.player.TestUtils.Monitor;
import androidx.media2.player.test.R;
diff --git a/media2/player/src/androidTest/java/androidx/media2/player/MediaPlayer2TestBase.java b/media2/player/src/androidTest/java/androidx/media2/player/MediaPlayer2TestBase.java
index 4df62a3..27defee 100644
--- a/media2/player/src/androidTest/java/androidx/media2/player/MediaPlayer2TestBase.java
+++ b/media2/player/src/androidTest/java/androidx/media2/player/MediaPlayer2TestBase.java
@@ -40,6 +40,7 @@
import androidx.media.AudioAttributesCompat;
import androidx.media2.common.FileMediaItem;
import androidx.media2.common.MediaItem;
+import androidx.media2.common.SubtitleData;
import androidx.media2.common.UriMediaItem;
import androidx.media2.player.TestUtils.Monitor;
import androidx.test.platform.app.InstrumentationRegistry;
diff --git a/media2/player/src/androidTest/java/androidx/media2/player/MediaPlayerTest.java b/media2/player/src/androidTest/java/androidx/media2/player/MediaPlayerTest.java
index de69fc9..7b4df7b 100644
--- a/media2/player/src/androidTest/java/androidx/media2/player/MediaPlayerTest.java
+++ b/media2/player/src/androidTest/java/androidx/media2/player/MediaPlayerTest.java
@@ -43,6 +43,7 @@
import androidx.media2.common.MediaItem;
import androidx.media2.common.SessionPlayer;
import androidx.media2.common.SessionPlayer.PlayerResult;
+import androidx.media2.common.SubtitleData;
import androidx.media2.player.MediaPlayer.TrackInfo;
import androidx.media2.player.TestUtils.Monitor;
import androidx.media2.player.test.R;
@@ -608,7 +609,7 @@
}
@Override
- public void onSubtitleData(MediaPlayer mp, MediaItem dsd, SubtitleData data) {
+ public void onSubtitleData(SessionPlayer player, MediaItem item, SubtitleData data) {
if (data != null && data.getData() != null) {
mOnSubtitleDataCalled.signal();
}
@@ -665,7 +666,7 @@
@Override
public void onSubtitleData(
- MediaPlayer mp, MediaItem dsd, SubtitleData data) {
+ SessionPlayer player, MediaItem item, SubtitleData data) {
if (data != null && data.getData() != null) {
mOnSubtitleDataCalled.signal();
}
diff --git a/media2/player/src/main/java/androidx/media2/player/MediaPlayer.java b/media2/player/src/main/java/androidx/media2/player/MediaPlayer.java
index 2b0b881..8471482 100644
--- a/media2/player/src/main/java/androidx/media2/player/MediaPlayer.java
+++ b/media2/player/src/main/java/androidx/media2/player/MediaPlayer.java
@@ -55,6 +55,7 @@
import androidx.media2.common.MediaItem;
import androidx.media2.common.MediaMetadata;
import androidx.media2.common.SessionPlayer;
+import androidx.media2.common.SubtitleData;
import androidx.media2.common.UriMediaItem;
import com.google.common.util.concurrent.ListenableFuture;
@@ -2842,9 +2843,9 @@
@Override
public void onSubtitleData(
MediaPlayer2 mp, final MediaItem item, final SubtitleData data) {
- notifyMediaPlayerCallback(new MediaPlayerCallbackNotifier() {
+ notifySessionPlayerCallback(new SessionPlayerCallbackNotifier() {
@Override
- public void callCallback(PlayerCallback callback) {
+ public void callCallback(SessionPlayer.PlayerCallback callback) {
callback.onSubtitleData(MediaPlayer.this, item, data);
}
});
@@ -2952,18 +2953,6 @@
@NonNull MediaItem item, @NonNull MediaTimestamp timestamp) { }
/**
- * Called when when a player subtitle track has new subtitle data available.
- * @param mp the player that reports the new subtitle data
- * @param item the MediaItem of this media item
- * @param data the subtitle data
- *
- * @hide
- */
- @RestrictTo(LIBRARY_GROUP_PREFIX)
- public void onSubtitleData(@NonNull MediaPlayer mp,
- @NonNull MediaItem item, @NonNull SubtitleData data) { }
-
- /**
* Called to indicate DRM info is available
*
* @param mp the {@code MediaPlayer2} associated with this callback
diff --git a/media2/player/src/main/java/androidx/media2/player/MediaPlayer2.java b/media2/player/src/main/java/androidx/media2/player/MediaPlayer2.java
index 5840926..3a8035a 100644
--- a/media2/player/src/main/java/androidx/media2/player/MediaPlayer2.java
+++ b/media2/player/src/main/java/androidx/media2/player/MediaPlayer2.java
@@ -37,6 +37,7 @@
import androidx.media.AudioAttributesCompat;
import androidx.media2.common.FileMediaItem;
import androidx.media2.common.MediaItem;
+import androidx.media2.common.SubtitleData;
import androidx.media2.player.exoplayer.ExoPlayerMediaPlayer2Impl;
import java.lang.annotation.Retention;
diff --git a/media2/player/src/main/java/androidx/media2/player/MediaPlayer2Impl.java b/media2/player/src/main/java/androidx/media2/player/MediaPlayer2Impl.java
index bf1a24b..8dee893 100644
--- a/media2/player/src/main/java/androidx/media2/player/MediaPlayer2Impl.java
+++ b/media2/player/src/main/java/androidx/media2/player/MediaPlayer2Impl.java
@@ -52,6 +52,7 @@
import androidx.media2.common.SessionPlayer;
import androidx.media2.common.SessionPlayer.BuffState;
import androidx.media2.common.SessionPlayer.PlayerState;
+import androidx.media2.common.SubtitleData;
import androidx.media2.common.UriMediaItem;
import androidx.media2.player.common.TrackInfoImpl;
@@ -1111,7 +1112,11 @@
final long durationUs = data.getDurationUs();
final byte[] bytes = data.getData();
androidx.media2.player.MediaPlayer.TrackInfo info = getTrackInfo(idx);
- SubtitleData sub = new SubtitleData(info, startTimeUs, durationUs, bytes);
+ SessionPlayer.TrackInfo infoInternal = new SessionPlayer.TrackInfo(
+ info.getId(), info.getMediaItem(), info.getTrackType(),
+ info.getFormat());
+ SubtitleData sub = new SubtitleData(infoInternal, startTimeUs, durationUs,
+ bytes);
cb.onSubtitleData(MediaPlayer2Impl.this, src.getDSD(), sub);
}
});
diff --git a/media2/player/src/main/java/androidx/media2/player/exoplayer/ExoPlayerMediaPlayer2Impl.java b/media2/player/src/main/java/androidx/media2/player/exoplayer/ExoPlayerMediaPlayer2Impl.java
index 69e00e0..56da916 100644
--- a/media2/player/src/main/java/androidx/media2/player/exoplayer/ExoPlayerMediaPlayer2Impl.java
+++ b/media2/player/src/main/java/androidx/media2/player/exoplayer/ExoPlayerMediaPlayer2Impl.java
@@ -38,11 +38,11 @@
import androidx.core.util.Preconditions;
import androidx.media.AudioAttributesCompat;
import androidx.media2.common.MediaItem;
+import androidx.media2.common.SubtitleData;
import androidx.media2.exoplayer.external.Player;
import androidx.media2.player.MediaPlayer2;
import androidx.media2.player.MediaTimestamp;
import androidx.media2.player.PlaybackParams;
-import androidx.media2.player.SubtitleData;
import androidx.media2.player.TimedMetaData;
import java.io.IOException;
diff --git a/media2/player/src/main/java/androidx/media2/player/exoplayer/ExoPlayerUtils.java b/media2/player/src/main/java/androidx/media2/player/exoplayer/ExoPlayerUtils.java
index 5399fa0..aaad228 100644
--- a/media2/player/src/main/java/androidx/media2/player/exoplayer/ExoPlayerUtils.java
+++ b/media2/player/src/main/java/androidx/media2/player/exoplayer/ExoPlayerUtils.java
@@ -17,6 +17,8 @@
package androidx.media2.player.exoplayer;
import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX;
+import static androidx.media2.common.SubtitleData.MIMETYPE_TEXT_CEA_608;
+import static androidx.media2.common.SubtitleData.MIMETYPE_TEXT_CEA_708;
import static androidx.media2.player.MediaPlayer2.MEDIA_ERROR_IO;
import static androidx.media2.player.MediaPlayer2.MEDIA_ERROR_MALFORMED;
import static androidx.media2.player.MediaPlayer2.MEDIA_ERROR_TIMED_OUT;
@@ -27,8 +29,6 @@
import static androidx.media2.player.MediaPlayer2.TrackInfo.MEDIA_TRACK_TYPE_TIMEDTEXT;
import static androidx.media2.player.MediaPlayer2.TrackInfo.MEDIA_TRACK_TYPE_UNKNOWN;
import static androidx.media2.player.MediaPlayer2.TrackInfo.MEDIA_TRACK_TYPE_VIDEO;
-import static androidx.media2.player.SubtitleData.MIMETYPE_TEXT_CEA_608;
-import static androidx.media2.player.SubtitleData.MIMETYPE_TEXT_CEA_708;
import android.annotation.SuppressLint;
import android.content.ContentResolver;
diff --git a/media2/player/src/main/java/androidx/media2/player/exoplayer/ExoPlayerWrapper.java b/media2/player/src/main/java/androidx/media2/player/exoplayer/ExoPlayerWrapper.java
index 6fb88df..61f94dc 100644
--- a/media2/player/src/main/java/androidx/media2/player/exoplayer/ExoPlayerWrapper.java
+++ b/media2/player/src/main/java/androidx/media2/player/exoplayer/ExoPlayerWrapper.java
@@ -37,6 +37,8 @@
import androidx.media2.common.CallbackMediaItem;
import androidx.media2.common.FileMediaItem;
import androidx.media2.common.MediaItem;
+import androidx.media2.common.SessionPlayer;
+import androidx.media2.common.SubtitleData;
import androidx.media2.common.UriMediaItem;
import androidx.media2.exoplayer.external.C;
import androidx.media2.exoplayer.external.DefaultLoadControl;
@@ -67,12 +69,10 @@
import androidx.media2.exoplayer.external.util.MimeTypes;
import androidx.media2.exoplayer.external.util.Util;
import androidx.media2.exoplayer.external.video.VideoRendererEventListener;
-import androidx.media2.player.MediaPlayer;
import androidx.media2.player.MediaPlayer2;
import androidx.media2.player.MediaPlayer2.TrackInfo;
import androidx.media2.player.MediaTimestamp;
import androidx.media2.player.PlaybackParams;
-import androidx.media2.player.SubtitleData;
import androidx.media2.player.TimedMetaData;
import java.io.FileDescriptor;
@@ -610,7 +610,7 @@
int trackIndex = mTrackSelector.getSelectedTrack(MEDIA_TRACK_TYPE_SUBTITLE);
TrackInfo info2 = mTrackSelector.getTrackInfos().get(trackIndex);
final MediaItem currentMediaItem = getCurrentMediaItem();
- MediaPlayer.TrackInfo info = new MediaPlayer.TrackInfo(trackIndex,
+ SessionPlayer.TrackInfo info = new SessionPlayer.TrackInfo(trackIndex,
currentMediaItem, info2.getTrackType(), info2.getFormat());
mListener.onSubtitleData(currentMediaItem,
new SubtitleData(info, timeUs, /* durationUs= */ 0L, data));
diff --git a/media2/player/src/main/java/androidx/media2/player/subtitle/SubtitleTrack.java b/media2/player/src/main/java/androidx/media2/player/subtitle/SubtitleTrack.java
index 7398792..f95c4f5 100644
--- a/media2/player/src/main/java/androidx/media2/player/subtitle/SubtitleTrack.java
+++ b/media2/player/src/main/java/androidx/media2/player/subtitle/SubtitleTrack.java
@@ -27,7 +27,7 @@
import android.util.Pair;
import androidx.annotation.RestrictTo;
-import androidx.media2.player.SubtitleData;
+import androidx.media2.common.SubtitleData;
import java.util.ArrayList;
import java.util.Iterator;
diff --git a/media2/widget/src/main/java/androidx/media2/widget/VideoView.java b/media2/widget/src/main/java/androidx/media2/widget/VideoView.java
index 2fb75be..7d6a0cd 100644
--- a/media2/widget/src/main/java/androidx/media2/widget/VideoView.java
+++ b/media2/widget/src/main/java/androidx/media2/widget/VideoView.java
@@ -46,10 +46,10 @@
import androidx.media2.common.MediaItem;
import androidx.media2.common.MediaMetadata;
import androidx.media2.common.SessionPlayer;
+import androidx.media2.common.SessionPlayer.TrackInfo;
+import androidx.media2.common.SubtitleData;
import androidx.media2.common.UriMediaItem;
import androidx.media2.player.MediaPlayer;
-import androidx.media2.player.MediaPlayer.TrackInfo;
-import androidx.media2.player.SubtitleData;
import androidx.media2.player.VideoSize;
import androidx.media2.player.subtitle.Cea708CaptionRenderer;
import androidx.media2.player.subtitle.ClosedCaptionRenderer;
@@ -691,7 +691,7 @@
@Override
public void onSubtitleTrackSelected(SubtitleTrack track) {
if (track == null) {
- mMediaPlayer.deselectTrack(mSelectedSubtitleTrackInfo);
+ mMediaPlayer.deselectTrackInternal(mSelectedSubtitleTrackInfo);
mSelectedSubtitleTrackInfo = null;
mSubtitleAnchorView.setVisibility(View.GONE);
@@ -709,7 +709,7 @@
indexInSubtitleTrackList++;
}
if (info != null) {
- mMediaPlayer.selectTrack(info);
+ mMediaPlayer.selectTrackInternal(info);
mSelectedSubtitleTrackInfo = info;
mSubtitleAnchorView.setVisibility(View.VISIBLE);
@@ -781,7 +781,7 @@
throw new IllegalStateException(
"extractTrackInfo() is unexpectedly called. Media item is not prepared");
}
- List<MediaPlayer.TrackInfo> trackInfos = mMediaPlayer.getTrackInfo();
+ List<TrackInfo> trackInfos = mMediaPlayer.getTrackInfoInternal();
mVideoTrackCount = 0;
mAudioTrackInfos = new ArrayList<>();
mSubtitleTracks = new LinkedHashMap<>();
@@ -933,25 +933,25 @@
@Override
public void onSubtitleData(
- @NonNull MediaPlayer mp, @NonNull MediaItem dsd,
+ @NonNull SessionPlayer player, @NonNull MediaItem item,
@NonNull SubtitleData data) {
final TrackInfo trackInfo = data.getTrackInfo();
if (DEBUG) {
Log.d(TAG, "onSubtitleData():"
+ " getTrackInfo: " + trackInfo
- + ", getCurrentPosition: " + mp.getCurrentPosition()
+ + ", getCurrentPosition: " + player.getCurrentPosition()
+ ", getStartTimeUs(): " + data.getStartTimeUs()
+ ", diff: "
- + (data.getStartTimeUs() / 1000 - mp.getCurrentPosition())
+ + (data.getStartTimeUs() / 1000 - player.getCurrentPosition())
+ "ms, getDurationUs(): " + data.getDurationUs());
}
- if (mp != mMediaPlayer) {
+ if (player != mMediaPlayer) {
if (DEBUG) {
- Log.w(TAG, "onSubtitleData() is ignored. mp is already gone.");
+ Log.w(TAG, "onSubtitleData() is ignored. player is already gone.");
}
return;
}
- if (dsd != mMediaItem) {
+ if (item != mMediaItem) {
if (DEBUG) {
Log.w(TAG, "onSubtitleData() is ignored. Media item is changed.");
}
@@ -1125,7 +1125,7 @@
TrackInfo audioTrackInfo = mAudioTrackInfos.get(audioIndex);
if (!audioTrackInfo.equals(mSelectedAudioTrackInfo)) {
mSelectedAudioTrackInfo = audioTrackInfo;
- mMediaPlayer.selectTrack(mSelectedAudioTrackInfo);
+ mMediaPlayer.selectTrackInternal(mSelectedAudioTrackInfo);
}
}
break;