diff --git a/demos/main/src/main/java/com/google/android/exoplayer2/demo/DownloadTracker.java b/demos/main/src/main/java/com/google/android/exoplayer2/demo/DownloadTracker.java index caffeb8a6a..2bbf99b03c 100644 --- a/demos/main/src/main/java/com/google/android/exoplayer2/demo/DownloadTracker.java +++ b/demos/main/src/main/java/com/google/android/exoplayer2/demo/DownloadTracker.java @@ -98,7 +98,7 @@ public class DownloadTracker { } public boolean isDownloaded(MediaItem mediaItem) { - @Nullable Download download = downloads.get(checkNotNull(mediaItem.playbackProperties).uri); + @Nullable Download download = downloads.get(checkNotNull(mediaItem.localConfiguration).uri); return download != null && download.state != Download.STATE_FAILED; } @@ -110,7 +110,7 @@ public class DownloadTracker { public void toggleDownload( FragmentManager fragmentManager, MediaItem mediaItem, RenderersFactory renderersFactory) { - @Nullable Download download = downloads.get(checkNotNull(mediaItem.playbackProperties).uri); + @Nullable Download download = downloads.get(checkNotNull(mediaItem.localConfiguration).uri); if (download != null && download.state != Download.STATE_FAILED) { DownloadService.sendRemoveDownload( context, DemoDownloadService.class, download.request.id, /* foreground= */ false); @@ -223,7 +223,7 @@ public class DownloadTracker { widevineOfflineLicenseFetchTask = new WidevineOfflineLicenseFetchTask( format, - mediaItem.playbackProperties.drmConfiguration, + mediaItem.localConfiguration.drmConfiguration, httpDataSourceFactory, /* dialogHelper= */ this, helper); diff --git a/demos/main/src/main/java/com/google/android/exoplayer2/demo/IntentUtil.java b/demos/main/src/main/java/com/google/android/exoplayer2/demo/IntentUtil.java index 8b7ea65989..153870f15a 100644 --- a/demos/main/src/main/java/com/google/android/exoplayer2/demo/IntentUtil.java +++ b/demos/main/src/main/java/com/google/android/exoplayer2/demo/IntentUtil.java @@ -88,22 +88,22 @@ public class IntentUtil { Assertions.checkArgument(!mediaItems.isEmpty()); if (mediaItems.size() == 1) { MediaItem mediaItem = mediaItems.get(0); - MediaItem.PlaybackProperties playbackProperties = checkNotNull(mediaItem.playbackProperties); - intent.setAction(ACTION_VIEW).setData(mediaItem.playbackProperties.uri); + MediaItem.LocalConfiguration localConfiguration = checkNotNull(mediaItem.localConfiguration); + intent.setAction(ACTION_VIEW).setData(mediaItem.localConfiguration.uri); if (mediaItem.mediaMetadata.title != null) { intent.putExtra(TITLE_EXTRA, mediaItem.mediaMetadata.title); } - addPlaybackPropertiesToIntent(playbackProperties, intent, /* extrasKeySuffix= */ ""); + addPlaybackPropertiesToIntent(localConfiguration, intent, /* extrasKeySuffix= */ ""); addClippingPropertiesToIntent( mediaItem.clippingProperties, intent, /* extrasKeySuffix= */ ""); } else { intent.setAction(ACTION_VIEW_LIST); for (int i = 0; i < mediaItems.size(); i++) { MediaItem mediaItem = mediaItems.get(i); - MediaItem.PlaybackProperties playbackProperties = - checkNotNull(mediaItem.playbackProperties); - intent.putExtra(URI_EXTRA + ("_" + i), playbackProperties.uri.toString()); - addPlaybackPropertiesToIntent(playbackProperties, intent, /* extrasKeySuffix= */ "_" + i); + MediaItem.LocalConfiguration localConfiguration = + checkNotNull(mediaItem.localConfiguration); + intent.putExtra(URI_EXTRA + ("_" + i), localConfiguration.uri.toString()); + addPlaybackPropertiesToIntent(localConfiguration, intent, /* extrasKeySuffix= */ "_" + i); addClippingPropertiesToIntent( mediaItem.clippingProperties, intent, /* extrasKeySuffix= */ "_" + i); if (mediaItem.mediaMetadata.title != null) { @@ -185,20 +185,20 @@ public class IntentUtil { } private static void addPlaybackPropertiesToIntent( - MediaItem.PlaybackProperties playbackProperties, Intent intent, String extrasKeySuffix) { + MediaItem.LocalConfiguration localConfiguration, Intent intent, String extrasKeySuffix) { intent - .putExtra(MIME_TYPE_EXTRA + extrasKeySuffix, playbackProperties.mimeType) + .putExtra(MIME_TYPE_EXTRA + extrasKeySuffix, localConfiguration.mimeType) .putExtra( AD_TAG_URI_EXTRA + extrasKeySuffix, - playbackProperties.adsConfiguration != null - ? playbackProperties.adsConfiguration.adTagUri.toString() + localConfiguration.adsConfiguration != null + ? localConfiguration.adsConfiguration.adTagUri.toString() : null); - if (playbackProperties.drmConfiguration != null) { - addDrmConfigurationToIntent(playbackProperties.drmConfiguration, intent, extrasKeySuffix); + if (localConfiguration.drmConfiguration != null) { + addDrmConfigurationToIntent(localConfiguration.drmConfiguration, intent, extrasKeySuffix); } - if (!playbackProperties.subtitles.isEmpty()) { - checkState(playbackProperties.subtitles.size() == 1); - MediaItem.Subtitle subtitle = playbackProperties.subtitles.get(0); + if (!localConfiguration.subtitles.isEmpty()) { + checkState(localConfiguration.subtitles.size() == 1); + MediaItem.Subtitle subtitle = localConfiguration.subtitles.get(0); intent.putExtra(SUBTITLE_URI_EXTRA + extrasKeySuffix, subtitle.uri.toString()); intent.putExtra(SUBTITLE_MIME_TYPE_EXTRA + extrasKeySuffix, subtitle.mimeType); intent.putExtra(SUBTITLE_LANGUAGE_EXTRA + extrasKeySuffix, subtitle.language); diff --git a/demos/main/src/main/java/com/google/android/exoplayer2/demo/PlayerActivity.java b/demos/main/src/main/java/com/google/android/exoplayer2/demo/PlayerActivity.java index 2efd02b0e2..5f5acea8ea 100644 --- a/demos/main/src/main/java/com/google/android/exoplayer2/demo/PlayerActivity.java +++ b/demos/main/src/main/java/com/google/android/exoplayer2/demo/PlayerActivity.java @@ -323,7 +323,7 @@ public class PlayerActivity extends AppCompatActivity } MediaItem.DrmConfiguration drmConfiguration = - checkNotNull(mediaItem.playbackProperties).drmConfiguration; + checkNotNull(mediaItem.localConfiguration).drmConfiguration; if (drmConfiguration != null) { if (Util.SDK_INT < 18) { showToast(R.string.error_drm_unsupported_before_api_18); @@ -335,7 +335,7 @@ public class PlayerActivity extends AppCompatActivity return Collections.emptyList(); } } - hasAds |= mediaItem.playbackProperties.adsConfiguration != null; + hasAds |= mediaItem.localConfiguration.adsConfiguration != null; } if (!hasAds) { releaseAdsLoader(); @@ -496,7 +496,7 @@ public class PlayerActivity extends AppCompatActivity for (MediaItem item : IntentUtil.createMediaItemsFromIntent(intent)) { @Nullable DownloadRequest downloadRequest = - downloadTracker.getDownloadRequest(checkNotNull(item.playbackProperties).uri); + downloadTracker.getDownloadRequest(checkNotNull(item.localConfiguration).uri); if (downloadRequest != null) { MediaItem.Builder builder = item.buildUpon(); builder @@ -506,7 +506,7 @@ public class PlayerActivity extends AppCompatActivity .setMimeType(downloadRequest.mimeType) .setStreamKeys(downloadRequest.streamKeys); @Nullable - MediaItem.DrmConfiguration drmConfiguration = item.playbackProperties.drmConfiguration; + MediaItem.DrmConfiguration drmConfiguration = item.localConfiguration.drmConfiguration; if (drmConfiguration != null) { builder.setDrmConfiguration( drmConfiguration @@ -526,7 +526,7 @@ public class PlayerActivity extends AppCompatActivity @Nullable private static Map getDrmRequestHeaders(MediaItem item) { - MediaItem.DrmConfiguration drmConfiguration = item.playbackProperties.drmConfiguration; + MediaItem.DrmConfiguration drmConfiguration = item.localConfiguration.drmConfiguration; return drmConfiguration != null ? drmConfiguration.licenseRequestHeaders : null; } } diff --git a/demos/main/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java b/demos/main/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java index f85aaa97c5..585c6cdf1b 100644 --- a/demos/main/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java +++ b/demos/main/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java @@ -249,12 +249,12 @@ public class SampleChooserActivity extends AppCompatActivity if (playlistHolder.mediaItems.size() > 1) { return R.string.download_playlist_unsupported; } - MediaItem.PlaybackProperties playbackProperties = - checkNotNull(playlistHolder.mediaItems.get(0).playbackProperties); - if (playbackProperties.adsConfiguration != null) { + MediaItem.LocalConfiguration localConfiguration = + checkNotNull(playlistHolder.mediaItems.get(0).localConfiguration); + if (localConfiguration.adsConfiguration != null) { return R.string.download_ads_unsupported; } - String scheme = playbackProperties.uri.getScheme(); + String scheme = localConfiguration.uri.getScheme(); if (!("http".equals(scheme) || "https".equals(scheme))) { return R.string.download_scheme_unsupported; } diff --git a/docs/analytics.md b/docs/analytics.md index 2a819fe2e3..149fc52022 100644 --- a/docs/analytics.md +++ b/docs/analytics.md @@ -215,7 +215,7 @@ new PlaybackStatsListener( /* keepHistory= */ false, (eventTime, playbackStats) -> { Object mediaTag = eventTime.timeline.getWindow(eventTime.windowIndex, new Window()) - .mediaItem.playbackProperties.tag; + .mediaItem.localConfiguration.tag; // Report playbackStats with mediaTag metadata. }); ~~~ diff --git a/docs/playlists.md b/docs/playlists.md index bc06164d39..85770396f0 100644 --- a/docs/playlists.md +++ b/docs/playlists.md @@ -124,8 +124,8 @@ custom tags, then an implementation might look like: public void onMediaItemTransition( @Nullable MediaItem mediaItem, @MediaItemTransitionReason int reason) { @Nullable CustomMetadata metadata = null; - if (mediaItem != null && mediaItem.playbackProperties != null) { - metadata = (CustomMetadata) mediaItem.playbackProperties.tag; + if (mediaItem != null && mediaItem.localConfiguration != null) { + metadata = (CustomMetadata) mediaItem.localConfiguration.tag; } updateUiForPlayingMediaItem(metadata); } diff --git a/extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/DefaultMediaItemConverter.java b/extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/DefaultMediaItemConverter.java index 88b0a47abd..8612316452 100644 --- a/extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/DefaultMediaItemConverter.java +++ b/extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/DefaultMediaItemConverter.java @@ -52,8 +52,8 @@ public final class DefaultMediaItemConverter implements MediaItemConverter { @Override public MediaQueueItem toMediaQueueItem(MediaItem mediaItem) { - Assertions.checkNotNull(mediaItem.playbackProperties); - if (mediaItem.playbackProperties.mimeType == null) { + Assertions.checkNotNull(mediaItem.localConfiguration); + if (mediaItem.localConfiguration.mimeType == null) { throw new IllegalArgumentException("The item must specify its mimeType"); } MediaMetadata metadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE); @@ -61,9 +61,9 @@ public final class DefaultMediaItemConverter implements MediaItemConverter { metadata.putString(MediaMetadata.KEY_TITLE, mediaItem.mediaMetadata.title.toString()); } MediaInfo mediaInfo = - new MediaInfo.Builder(mediaItem.playbackProperties.uri.toString()) + new MediaInfo.Builder(mediaItem.localConfiguration.uri.toString()) .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED) - .setContentType(mediaItem.playbackProperties.mimeType) + .setContentType(mediaItem.localConfiguration.mimeType) .setMetadata(metadata) .setCustomData(getCustomData(mediaItem)) .build(); @@ -128,15 +128,15 @@ public final class DefaultMediaItemConverter implements MediaItemConverter { } private static JSONObject getMediaItemJson(MediaItem mediaItem) throws JSONException { - Assertions.checkNotNull(mediaItem.playbackProperties); + Assertions.checkNotNull(mediaItem.localConfiguration); JSONObject json = new JSONObject(); json.put(KEY_TITLE, mediaItem.mediaMetadata.title); - json.put(KEY_URI, mediaItem.playbackProperties.uri.toString()); - json.put(KEY_MIME_TYPE, mediaItem.playbackProperties.mimeType); - if (mediaItem.playbackProperties.drmConfiguration != null) { + json.put(KEY_URI, mediaItem.localConfiguration.uri.toString()); + json.put(KEY_MIME_TYPE, mediaItem.localConfiguration.mimeType); + if (mediaItem.localConfiguration.drmConfiguration != null) { json.put( KEY_DRM_CONFIGURATION, - getDrmConfigurationJson(mediaItem.playbackProperties.drmConfiguration)); + getDrmConfigurationJson(mediaItem.localConfiguration.drmConfiguration)); } return json; } @@ -152,11 +152,11 @@ public final class DefaultMediaItemConverter implements MediaItemConverter { @Nullable private static JSONObject getPlayerConfigJson(MediaItem mediaItem) throws JSONException { - if (mediaItem.playbackProperties == null - || mediaItem.playbackProperties.drmConfiguration == null) { + if (mediaItem.localConfiguration == null + || mediaItem.localConfiguration.drmConfiguration == null) { return null; } - MediaItem.DrmConfiguration drmConfiguration = mediaItem.playbackProperties.drmConfiguration; + MediaItem.DrmConfiguration drmConfiguration = mediaItem.localConfiguration.drmConfiguration; String drmScheme; if (C.WIDEVINE_UUID.equals(drmConfiguration.scheme)) { diff --git a/extensions/cast/src/test/java/com/google/android/exoplayer2/ext/cast/CastPlayerTest.java b/extensions/cast/src/test/java/com/google/android/exoplayer2/ext/cast/CastPlayerTest.java index f07e975b1d..3195218b4e 100644 --- a/extensions/cast/src/test/java/com/google/android/exoplayer2/ext/cast/CastPlayerTest.java +++ b/extensions/cast/src/test/java/com/google/android/exoplayer2/ext/cast/CastPlayerTest.java @@ -423,7 +423,7 @@ public class CastPlayerTest { .onMediaItemTransition( mediaItemCaptor.capture(), eq(MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED)); inOrder.verify(mockListener, never()).onMediaItemTransition(any(), anyInt()); - assertThat(mediaItemCaptor.getAllValues().get(1).playbackProperties.tag).isEqualTo(3); + assertThat(mediaItemCaptor.getAllValues().get(1).localConfiguration.tag).isEqualTo(3); } @SuppressWarnings("deprecation") // Verifies deprecated callback being called correctly. @@ -533,7 +533,7 @@ public class CastPlayerTest { verify(mockRemoteMediaClient) .queueInsertItems( queueItemsArgumentCaptor.capture(), - eq((int) mediaItems.get(index).playbackProperties.tag), + eq((int) mediaItems.get(index).localConfiguration.tag), any()); MediaQueueItem[] mediaQueueItems = queueItemsArgumentCaptor.getValue(); @@ -677,7 +677,7 @@ public class CastPlayerTest { Timeline currentTimeline = castPlayer.getCurrentTimeline(); for (int i = 0; i < mediaItems.size(); i++) { assertThat(currentTimeline.getWindow(/* windowIndex= */ i, window).uid) - .isEqualTo(mediaItems.get(i).playbackProperties.tag); + .isEqualTo(mediaItems.get(i).localConfiguration.tag); } } @@ -696,8 +696,8 @@ public class CastPlayerTest { .onMediaItemTransition( mediaItemCaptor.capture(), eq(Player.MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED)); inOrder.verify(mockListener, never()).onMediaItemTransition(any(), anyInt()); - assertThat(mediaItemCaptor.getValue().playbackProperties.tag) - .isEqualTo(mediaItem.playbackProperties.tag); + assertThat(mediaItemCaptor.getValue().localConfiguration.tag) + .isEqualTo(mediaItem.localConfiguration.tag); } @Test @@ -801,10 +801,10 @@ public class CastPlayerTest { .onMediaItemTransition( mediaItemCaptor.capture(), eq(Player.MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED)); inOrder.verify(mockListener, never()).onMediaItemTransition(any(), anyInt()); - assertThat(mediaItemCaptor.getAllValues().get(0).playbackProperties.tag) - .isEqualTo(mediaItem1.playbackProperties.tag); - assertThat(mediaItemCaptor.getAllValues().get(1).playbackProperties.tag) - .isEqualTo(mediaItem2.playbackProperties.tag); + assertThat(mediaItemCaptor.getAllValues().get(0).localConfiguration.tag) + .isEqualTo(mediaItem1.localConfiguration.tag); + assertThat(mediaItemCaptor.getAllValues().get(1).localConfiguration.tag) + .isEqualTo(mediaItem2.localConfiguration.tag); } @Test @@ -886,10 +886,10 @@ public class CastPlayerTest { mediaItemCaptor.capture(), eq(Player.MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED)); inOrder.verify(mockListener, never()).onMediaItemTransition(any(), anyInt()); List capturedMediaItems = mediaItemCaptor.getAllValues(); - assertThat(capturedMediaItems.get(0).playbackProperties.tag) - .isEqualTo(mediaItem1.playbackProperties.tag); - assertThat(capturedMediaItems.get(1).playbackProperties.tag) - .isEqualTo(mediaItem2.playbackProperties.tag); + assertThat(capturedMediaItems.get(0).localConfiguration.tag) + .isEqualTo(mediaItem1.localConfiguration.tag); + assertThat(capturedMediaItems.get(1).localConfiguration.tag) + .isEqualTo(mediaItem2.localConfiguration.tag); } @Test @@ -1012,8 +1012,8 @@ public class CastPlayerTest { .onMediaItemTransition( mediaItemCaptor.capture(), eq(Player.MEDIA_ITEM_TRANSITION_REASON_SEEK)); inOrder.verify(mockListener, never()).onPositionDiscontinuity(any(), any(), anyInt()); - assertThat(mediaItemCaptor.getValue().playbackProperties.tag) - .isEqualTo(mediaItem2.playbackProperties.tag); + assertThat(mediaItemCaptor.getValue().localConfiguration.tag) + .isEqualTo(mediaItem2.localConfiguration.tag); } @Test @@ -1144,7 +1144,7 @@ public class CastPlayerTest { .onMediaItemTransition( mediaItemCaptor.capture(), eq(Player.MEDIA_ITEM_TRANSITION_REASON_AUTO)); inOrder.verify(mockListener, never()).onMediaItemTransition(any(), anyInt()); - assertThat(mediaItemCaptor.getValue().playbackProperties.tag).isEqualTo(2); + assertThat(mediaItemCaptor.getValue().localConfiguration.tag).isEqualTo(2); } @Test @@ -1788,9 +1788,9 @@ public class CastPlayerTest { int streamType = streamTypes[i]; long durationMs = durationsMs[i]; MediaInfo.Builder mediaInfoBuilder = - new MediaInfo.Builder(mediaItem.playbackProperties.uri.toString()) + new MediaInfo.Builder(mediaItem.localConfiguration.uri.toString()) .setStreamType(streamType) - .setContentType(mediaItem.playbackProperties.mimeType); + .setContentType(mediaItem.localConfiguration.mimeType); if (durationMs != C.TIME_UNSET) { mediaInfoBuilder.setStreamDuration(durationMs); } diff --git a/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/DefaultMediaItemConverter.java b/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/DefaultMediaItemConverter.java index 9ff1f3dd24..73e94f1b2e 100644 --- a/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/DefaultMediaItemConverter.java +++ b/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/DefaultMediaItemConverter.java @@ -96,10 +96,10 @@ public class DefaultMediaItemConverter implements MediaItemConverter { @Override public androidx.media2.common.MediaItem convertToMedia2MediaItem(MediaItem exoPlayerMediaItem) { Assertions.checkNotNull(exoPlayerMediaItem); - MediaItem.PlaybackProperties playbackProperties = - Assertions.checkNotNull(exoPlayerMediaItem.playbackProperties); + MediaItem.LocalConfiguration localConfiguration = + Assertions.checkNotNull(exoPlayerMediaItem.localConfiguration); - @Nullable Object tag = playbackProperties.tag; + @Nullable Object tag = localConfiguration.tag; if (tag instanceof androidx.media2.common.MediaItem) { return (androidx.media2.common.MediaItem) tag; } diff --git a/library/common/src/main/java/com/google/android/exoplayer2/Timeline.java b/library/common/src/main/java/com/google/android/exoplayer2/Timeline.java index c3d1500ba5..656ea38556 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/Timeline.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/Timeline.java @@ -272,8 +272,8 @@ public abstract class Timeline implements Bundleable { this.uid = uid; this.mediaItem = mediaItem != null ? mediaItem : EMPTY_MEDIA_ITEM; this.tag = - mediaItem != null && mediaItem.playbackProperties != null - ? mediaItem.playbackProperties.tag + mediaItem != null && mediaItem.localConfiguration != null + ? mediaItem.localConfiguration.tag : null; this.manifest = manifest; this.presentationStartTimeMs = presentationStartTimeMs; diff --git a/library/common/src/main/java/com/google/android/exoplayer2/util/Util.java b/library/common/src/main/java/com/google/android/exoplayer2/util/Util.java index ec913e52e1..81c85419d6 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/util/Util.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/util/Util.java @@ -227,14 +227,14 @@ public final class Util { return false; } for (MediaItem mediaItem : mediaItems) { - if (mediaItem.playbackProperties == null) { + if (mediaItem.localConfiguration == null) { continue; } - if (isLocalFileUri(mediaItem.playbackProperties.uri)) { + if (isLocalFileUri(mediaItem.localConfiguration.uri)) { return requestExternalStoragePermission(activity); } - for (int i = 0; i < mediaItem.playbackProperties.subtitles.size(); i++) { - if (isLocalFileUri(mediaItem.playbackProperties.subtitles.get(i).uri)) { + for (int i = 0; i < mediaItem.localConfiguration.subtitles.size(); i++) { + if (isLocalFileUri(mediaItem.localConfiguration.subtitles.get(i).uri)) { return requestExternalStoragePermission(activity); } } @@ -255,14 +255,14 @@ public final class Util { return true; } for (MediaItem mediaItem : mediaItems) { - if (mediaItem.playbackProperties == null) { + if (mediaItem.localConfiguration == null) { continue; } - if (isTrafficRestricted(mediaItem.playbackProperties.uri)) { + if (isTrafficRestricted(mediaItem.localConfiguration.uri)) { return false; } - for (int i = 0; i < mediaItem.playbackProperties.subtitles.size(); i++) { - if (isTrafficRestricted(mediaItem.playbackProperties.subtitles.get(i).uri)) { + for (int i = 0; i < mediaItem.localConfiguration.subtitles.size(); i++) { + if (isTrafficRestricted(mediaItem.localConfiguration.subtitles.get(i).uri)) { return false; } } diff --git a/library/common/src/test/java/com/google/android/exoplayer2/TimelineTest.java b/library/common/src/test/java/com/google/android/exoplayer2/TimelineTest.java index 689716bb25..4bf3f94bad 100644 --- a/library/common/src/test/java/com/google/android/exoplayer2/TimelineTest.java +++ b/library/common/src/test/java/com/google/android/exoplayer2/TimelineTest.java @@ -122,7 +122,7 @@ public class TimelineTest { otherWindow.positionInFirstPeriodUs = C.TIME_UNSET; assertThat(window).isNotEqualTo(otherWindow); - window = populateWindow(mediaItem, mediaItem.playbackProperties.tag); + window = populateWindow(mediaItem, mediaItem.localConfiguration.tag); otherWindow = otherWindow.set( window.uid, diff --git a/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManagerProvider.java b/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManagerProvider.java index 65140c050c..6976934337 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManagerProvider.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManagerProvider.java @@ -74,9 +74,9 @@ public final class DefaultDrmSessionManagerProvider implements DrmSessionManager @Override public DrmSessionManager get(MediaItem mediaItem) { - checkNotNull(mediaItem.playbackProperties); + checkNotNull(mediaItem.localConfiguration); @Nullable - MediaItem.DrmConfiguration drmConfiguration = mediaItem.playbackProperties.drmConfiguration; + MediaItem.DrmConfiguration drmConfiguration = mediaItem.localConfiguration.drmConfiguration; if (drmConfiguration == null || Util.SDK_INT < 18) { return DrmSessionManager.DRM_UNSUPPORTED; } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java b/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java index c8c832736b..7fea1c5a43 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java @@ -321,7 +321,7 @@ public final class DownloadHelper { * @throws IllegalStateException If the media item is of type DASH, HLS or SmoothStreaming. */ public static DownloadHelper forMediaItem(Context context, MediaItem mediaItem) { - Assertions.checkArgument(isProgressive(checkNotNull(mediaItem.playbackProperties))); + Assertions.checkArgument(isProgressive(checkNotNull(mediaItem.localConfiguration))); return forMediaItem( mediaItem, getDefaultTrackSelectorParameters(context), @@ -411,7 +411,7 @@ public final class DownloadHelper { @Nullable RenderersFactory renderersFactory, @Nullable DataSource.Factory dataSourceFactory, @Nullable DrmSessionManager drmSessionManager) { - boolean isProgressive = isProgressive(checkNotNull(mediaItem.playbackProperties)); + boolean isProgressive = isProgressive(checkNotNull(mediaItem.localConfiguration)); Assertions.checkArgument(isProgressive || dataSourceFactory != null); return new DownloadHelper( mediaItem, @@ -452,7 +452,7 @@ public final class DownloadHelper { downloadRequest.toMediaItem(), dataSourceFactory, drmSessionManager); } - private final MediaItem.PlaybackProperties playbackProperties; + private final MediaItem.LocalConfiguration localConfiguration; @Nullable private final MediaSource mediaSource; private final DefaultTrackSelector trackSelector; private final RendererCapabilities[] rendererCapabilities; @@ -485,7 +485,7 @@ public final class DownloadHelper { @Nullable MediaSource mediaSource, DefaultTrackSelector.Parameters trackSelectorParameters, RendererCapabilities[] rendererCapabilities) { - this.playbackProperties = checkNotNull(mediaItem.playbackProperties); + this.localConfiguration = checkNotNull(mediaItem.localConfiguration); this.mediaSource = mediaSource; this.trackSelector = new DefaultTrackSelector(trackSelectorParameters, new DownloadTrackSelection.Factory()); @@ -726,7 +726,7 @@ public final class DownloadHelper { * @return The built {@link DownloadRequest}. */ public DownloadRequest getDownloadRequest(@Nullable byte[] data) { - return getDownloadRequest(playbackProperties.uri.toString(), data); + return getDownloadRequest(localConfiguration.uri.toString(), data); } /** @@ -739,13 +739,13 @@ public final class DownloadHelper { */ public DownloadRequest getDownloadRequest(String id, @Nullable byte[] data) { DownloadRequest.Builder requestBuilder = - new DownloadRequest.Builder(id, playbackProperties.uri) - .setMimeType(playbackProperties.mimeType) + new DownloadRequest.Builder(id, localConfiguration.uri) + .setMimeType(localConfiguration.mimeType) .setKeySetId( - playbackProperties.drmConfiguration != null - ? playbackProperties.drmConfiguration.getKeySetId() + localConfiguration.drmConfiguration != null + ? localConfiguration.drmConfiguration.getKeySetId() : null) - .setCustomCacheKey(playbackProperties.customCacheKey) + .setCustomCacheKey(localConfiguration.customCacheKey) .setData(data); if (mediaSource == null) { return requestBuilder.build(); @@ -896,9 +896,9 @@ public final class DownloadHelper { .createMediaSource(mediaItem); } - private static boolean isProgressive(MediaItem.PlaybackProperties playbackProperties) { + private static boolean isProgressive(MediaItem.LocalConfiguration localConfiguration) { return Util.inferContentTypeForUriAndMimeType( - playbackProperties.uri, playbackProperties.mimeType) + localConfiguration.uri, localConfiguration.mimeType) == C.TYPE_OTHER; } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/offline/ProgressiveDownloader.java b/library/core/src/main/java/com/google/android/exoplayer2/offline/ProgressiveDownloader.java index 5be5ea785d..7af11dbbb4 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/offline/ProgressiveDownloader.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/offline/ProgressiveDownloader.java @@ -69,11 +69,11 @@ public final class ProgressiveDownloader implements Downloader { public ProgressiveDownloader( MediaItem mediaItem, CacheDataSource.Factory cacheDataSourceFactory, Executor executor) { this.executor = Assertions.checkNotNull(executor); - Assertions.checkNotNull(mediaItem.playbackProperties); + Assertions.checkNotNull(mediaItem.localConfiguration); dataSpec = new DataSpec.Builder() - .setUri(mediaItem.playbackProperties.uri) - .setKey(mediaItem.playbackProperties.customCacheKey) + .setUri(mediaItem.localConfiguration.uri) + .setKey(mediaItem.localConfiguration.customCacheKey) .setFlags(DataSpec.FLAG_ALLOW_CACHE_FRAGMENTATION) .build(); dataSource = cacheDataSourceFactory.createDataSourceForDownloading(); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/offline/SegmentDownloader.java b/library/core/src/main/java/com/google/android/exoplayer2/offline/SegmentDownloader.java index 7156f50a22..764d2c63f5 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/offline/SegmentDownloader.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/offline/SegmentDownloader.java @@ -110,10 +110,10 @@ public abstract class SegmentDownloader> impleme Parser manifestParser, CacheDataSource.Factory cacheDataSourceFactory, Executor executor) { - checkNotNull(mediaItem.playbackProperties); - this.manifestDataSpec = getCompressibleDataSpec(mediaItem.playbackProperties.uri); + checkNotNull(mediaItem.localConfiguration); + this.manifestDataSpec = getCompressibleDataSpec(mediaItem.localConfiguration.uri); this.manifestParser = manifestParser; - this.streamKeys = new ArrayList<>(mediaItem.playbackProperties.streamKeys); + this.streamKeys = new ArrayList<>(mediaItem.localConfiguration.streamKeys); this.cacheDataSourceFactory = cacheDataSourceFactory; this.executor = executor; cache = Assertions.checkNotNull(cacheDataSourceFactory.getCache()); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.java b/library/core/src/main/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.java index a5ffff4998..da82e72de4 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.java @@ -54,23 +54,23 @@ import java.util.List; * factories: * *
    - *
  • {@code DashMediaSource.Factory} if the item's {@link MediaItem.PlaybackProperties#uri uri} - * ends in '.mpd' or if its {@link MediaItem.PlaybackProperties#mimeType mimeType field} is + *
  • {@code DashMediaSource.Factory} if the item's {@link MediaItem.LocalConfiguration#uri uri} + * ends in '.mpd' or if its {@link MediaItem.LocalConfiguration#mimeType mimeType field} is * explicitly set to {@link MimeTypes#APPLICATION_MPD} (Requires the exoplayer-dash module * to be added to the app). - *
  • {@code HlsMediaSource.Factory} if the item's {@link MediaItem.PlaybackProperties#uri uri} - * ends in '.m3u8' or if its {@link MediaItem.PlaybackProperties#mimeType mimeType field} is + *
  • {@code HlsMediaSource.Factory} if the item's {@link MediaItem.LocalConfiguration#uri uri} + * ends in '.m3u8' or if its {@link MediaItem.LocalConfiguration#mimeType mimeType field} is * explicitly set to {@link MimeTypes#APPLICATION_M3U8} (Requires the exoplayer-hls module to * be added to the app). - *
  • {@code SsMediaSource.Factory} if the item's {@link MediaItem.PlaybackProperties#uri uri} - * ends in '.ism', '.ism/Manifest' or if its {@link MediaItem.PlaybackProperties#mimeType + *
  • {@code SsMediaSource.Factory} if the item's {@link MediaItem.LocalConfiguration#uri uri} + * ends in '.ism', '.ism/Manifest' or if its {@link MediaItem.LocalConfiguration#mimeType * mimeType field} is explicitly set to {@link MimeTypes#APPLICATION_SS} (Requires the * exoplayer-smoothstreaming module to be added to the app). *
  • {@link ProgressiveMediaSource.Factory} serves as a fallback if the item's {@link - * MediaItem.PlaybackProperties#uri uri} doesn't match one of the above. It tries to infer the + * MediaItem.LocalConfiguration#uri uri} doesn't match one of the above. It tries to infer the * required extractor by using the {@link DefaultExtractorsFactory} or the {@link * ExtractorsFactory} provided in the constructor. An {@link UnrecognizedInputFormatException} * is thrown if none of the available extractors can read the stream. @@ -78,7 +78,7 @@ import java.util.List; * *

    Ad support for media items with ad tag URIs

    * - *

    To support media items with {@link MediaItem.PlaybackProperties#adsConfiguration ads + *

    To support media items with {@link MediaItem.LocalConfiguration#adsConfiguration ads * configuration}, {@link #setAdsLoaderProvider} and {@link #setAdViewProvider} need to be called to * configure the factory with the required providers. */ @@ -86,17 +86,17 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory { /** * Provides {@link AdsLoader} instances for media items that have {@link - * MediaItem.PlaybackProperties#adsConfiguration ad tag URIs}. + * MediaItem.LocalConfiguration#adsConfiguration ad tag URIs}. */ public interface AdsLoaderProvider { /** * Returns an {@link AdsLoader} for the given {@link - * MediaItem.PlaybackProperties#adsConfiguration ads configuration}, or {@code null} if no ads + * MediaItem.LocalConfiguration#adsConfiguration ads configuration}, or {@code null} if no ads * loader is available for the given ads configuration. * *

    This method is called each time a {@link MediaSource} is created from a {@link MediaItem} - * that defines an {@link MediaItem.PlaybackProperties#adsConfiguration ads configuration}. + * that defines an {@link MediaItem.LocalConfiguration#adsConfiguration ads configuration}. */ @Nullable AdsLoader getAdsLoader(MediaItem.AdsConfiguration adsConfiguration); @@ -173,7 +173,7 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory { /** * Sets whether a {@link ProgressiveMediaSource} or {@link SingleSampleMediaSource} is constructed - * to handle {@link MediaItem.PlaybackProperties#subtitles}. Defaults to false (i.e. {@link + * to handle {@link MediaItem.LocalConfiguration#subtitles}. Defaults to false (i.e. {@link * SingleSampleMediaSource}. * *

    This method is experimental, and will be renamed or removed in a future release. @@ -190,7 +190,7 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory { /** * Sets the {@link AdsLoaderProvider} that provides {@link AdsLoader} instances for media items - * that have {@link MediaItem.PlaybackProperties#adsConfiguration ads configurations}. + * that have {@link MediaItem.LocalConfiguration#adsConfiguration ads configurations}. * * @param adsLoaderProvider A provider for {@link AdsLoader} instances. * @return This factory, for convenience. @@ -341,11 +341,11 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory { @Override public MediaSource createMediaSource(MediaItem mediaItem) { - Assertions.checkNotNull(mediaItem.playbackProperties); + Assertions.checkNotNull(mediaItem.localConfiguration); @C.ContentType int type = Util.inferContentTypeForUriAndMimeType( - mediaItem.playbackProperties.uri, mediaItem.playbackProperties.mimeType); + mediaItem.localConfiguration.uri, mediaItem.localConfiguration.mimeType); @Nullable MediaSourceFactory mediaSourceFactory = mediaSourceFactories.get(type); Assertions.checkNotNull( mediaSourceFactory, "No suitable media source factory found for content type: " + type); @@ -375,7 +375,7 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory { MediaSource mediaSource = mediaSourceFactory.createMediaSource(mediaItem); - List subtitles = castNonNull(mediaItem.playbackProperties).subtitles; + List subtitles = castNonNull(mediaItem.localConfiguration).subtitles; if (!subtitles.isEmpty()) { MediaSource[] mediaSources = new MediaSource[subtitles.size() + 1]; mediaSources[0] = mediaSource; @@ -434,9 +434,9 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory { } private MediaSource maybeWrapWithAdsMediaSource(MediaItem mediaItem, MediaSource mediaSource) { - Assertions.checkNotNull(mediaItem.playbackProperties); + Assertions.checkNotNull(mediaItem.localConfiguration); @Nullable - MediaItem.AdsConfiguration adsConfiguration = mediaItem.playbackProperties.adsConfiguration; + MediaItem.AdsConfiguration adsConfiguration = mediaItem.localConfiguration.adsConfiguration; if (adsConfiguration == null) { return mediaSource; } @@ -460,7 +460,7 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory { /* adsId= */ adsConfiguration.adsId != null ? adsConfiguration.adsId : ImmutableList.of( - mediaItem.mediaId, mediaItem.playbackProperties.uri, adsConfiguration.adTagUri), + mediaItem.mediaId, mediaItem.localConfiguration.uri, adsConfiguration.adTagUri), /* adMediaSourceFactory= */ this, adsLoader, adViewProvider); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/MediaSourceFactory.java b/library/core/src/main/java/com/google/android/exoplayer2/source/MediaSourceFactory.java index 755096bbe9..d4a5d6ca62 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/MediaSourceFactory.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/MediaSourceFactory.java @@ -34,7 +34,7 @@ import java.util.List; /** Factory for creating {@link MediaSource MediaSources} from {@link MediaItem MediaItems}. */ public interface MediaSourceFactory { - /** @deprecated Use {@link MediaItem.PlaybackProperties#streamKeys} instead. */ + /** @deprecated Use {@link MediaItem.LocalConfiguration#streamKeys} instead. */ @Deprecated default MediaSourceFactory setStreamKeys(@Nullable List streamKeys) { return this; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/ProgressiveMediaSource.java b/library/core/src/main/java/com/google/android/exoplayer2/source/ProgressiveMediaSource.java index 9243ed5975..67d019ccee 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/ProgressiveMediaSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/ProgressiveMediaSource.java @@ -215,14 +215,14 @@ public final class ProgressiveMediaSource extends BaseMediaSource * * @param mediaItem The {@link MediaItem}. * @return The new {@link ProgressiveMediaSource}. - * @throws NullPointerException if {@link MediaItem#playbackProperties} is {@code null}. + * @throws NullPointerException if {@link MediaItem#localConfiguration} is {@code null}. */ @Override public ProgressiveMediaSource createMediaSource(MediaItem mediaItem) { - checkNotNull(mediaItem.playbackProperties); - boolean needsTag = mediaItem.playbackProperties.tag == null && tag != null; + checkNotNull(mediaItem.localConfiguration); + boolean needsTag = mediaItem.localConfiguration.tag == null && tag != null; boolean needsCustomCacheKey = - mediaItem.playbackProperties.customCacheKey == null && customCacheKey != null; + mediaItem.localConfiguration.customCacheKey == null && customCacheKey != null; if (needsTag && needsCustomCacheKey) { mediaItem = mediaItem.buildUpon().setTag(tag).setCustomCacheKey(customCacheKey).build(); } else if (needsTag) { @@ -252,7 +252,7 @@ public final class ProgressiveMediaSource extends BaseMediaSource public static final int DEFAULT_LOADING_CHECK_INTERVAL_BYTES = 1024 * 1024; private final MediaItem mediaItem; - private final MediaItem.PlaybackProperties playbackProperties; + private final MediaItem.LocalConfiguration localConfiguration; private final DataSource.Factory dataSourceFactory; private final ProgressiveMediaExtractor.Factory progressiveMediaExtractorFactory; private final DrmSessionManager drmSessionManager; @@ -272,7 +272,7 @@ public final class ProgressiveMediaSource extends BaseMediaSource DrmSessionManager drmSessionManager, LoadErrorHandlingPolicy loadableLoadErrorHandlingPolicy, int continueLoadingCheckIntervalBytes) { - this.playbackProperties = checkNotNull(mediaItem.playbackProperties); + this.localConfiguration = checkNotNull(mediaItem.localConfiguration); this.mediaItem = mediaItem; this.dataSourceFactory = dataSourceFactory; this.progressiveMediaExtractorFactory = progressiveMediaExtractorFactory; @@ -307,7 +307,7 @@ public final class ProgressiveMediaSource extends BaseMediaSource dataSource.addTransferListener(transferListener); } return new ProgressiveMediaPeriod( - playbackProperties.uri, + localConfiguration.uri, dataSource, progressiveMediaExtractorFactory.createProgressiveMediaExtractor(), drmSessionManager, @@ -316,7 +316,7 @@ public final class ProgressiveMediaSource extends BaseMediaSource createEventDispatcher(id), this, allocator, - playbackProperties.customCacheKey, + localConfiguration.customCacheKey, continueLoadingCheckIntervalBytes); } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/SilenceMediaSource.java b/library/core/src/main/java/com/google/android/exoplayer2/source/SilenceMediaSource.java index 93f3d7ac1a..dbd3349ccc 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/SilenceMediaSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/SilenceMediaSource.java @@ -58,8 +58,7 @@ public final class SilenceMediaSource extends BaseMediaSource { /** * Sets a tag for the media source which will be published in the {@link * com.google.android.exoplayer2.Timeline} of the source as {@link - * com.google.android.exoplayer2.MediaItem.PlaybackProperties#tag - * Window#mediaItem.playbackProperties.tag}. + * MediaItem.LocalConfiguration#tag Window#mediaItem.localConfiguration.tag}. * * @param tag A tag for the media source. * @return This factory, for convenience. diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/SingleSampleMediaSource.java b/library/core/src/main/java/com/google/android/exoplayer2/source/SingleSampleMediaSource.java index 887ce26463..607f4208d1 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/SingleSampleMediaSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/SingleSampleMediaSource.java @@ -61,8 +61,7 @@ public final class SingleSampleMediaSource extends BaseMediaSource { /** * Sets a tag for the media source which will be published in the {@link Timeline} of the source - * as {@link com.google.android.exoplayer2.MediaItem.PlaybackProperties#tag - * Window#mediaItem.playbackProperties.tag}. + * as {@link MediaItem.LocalConfiguration#tag Window#mediaItem.localConfiguration.tag}. * * @param tag A tag for the media source. * @return This factory, for convenience. diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/ads/AdsMediaSource.java b/library/core/src/main/java/com/google/android/exoplayer2/source/ads/AdsMediaSource.java index 23bdc14dc4..09208060a1 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/ads/AdsMediaSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/ads/AdsMediaSource.java @@ -314,10 +314,10 @@ public final class AdsMediaSource extends CompositeMediaSource { MediaItem.Builder adMediaItem = new MediaItem.Builder().setUri(adUri); // Propagate the content's DRM config into the ad media source. @Nullable - MediaItem.PlaybackProperties contentPlaybackProperties = - contentMediaSource.getMediaItem().playbackProperties; - if (contentPlaybackProperties != null) { - adMediaItem.setDrmConfiguration(contentPlaybackProperties.drmConfiguration); + MediaItem.LocalConfiguration contentLocalConfiguration = + contentMediaSource.getMediaItem().localConfiguration; + if (contentLocalConfiguration != null) { + adMediaItem.setDrmConfiguration(contentLocalConfiguration.drmConfiguration); } MediaSource adMediaSource = adMediaSourceFactory.createMediaSource(adMediaItem.build()); adMediaSourceHolder.initializeWithMediaSource(adMediaSource, adUri); diff --git a/library/core/src/test/java/com/google/android/exoplayer2/ExoPlayerTest.java b/library/core/src/test/java/com/google/android/exoplayer2/ExoPlayerTest.java index 2fda88cf20..105a90471b 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/ExoPlayerTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/ExoPlayerTest.java @@ -7953,11 +7953,11 @@ public final class ExoPlayerTest { .blockUntilActionScheduleFinished(TIMEOUT_MS) .blockUntilEnded(TIMEOUT_MS); - assertThat(currentMediaItems.get(0).playbackProperties.uri.toString()) + assertThat(currentMediaItems.get(0).localConfiguration.uri.toString()) .isEqualTo("http://foo.bar/fake1"); - assertThat(currentMediaItems.get(1).playbackProperties.uri.toString()) + assertThat(currentMediaItems.get(1).localConfiguration.uri.toString()) .isEqualTo("http://foo.bar/fake2"); - assertThat(currentMediaItems.get(2).playbackProperties.uri.toString()) + assertThat(currentMediaItems.get(2).localConfiguration.uri.toString()) .isEqualTo("http://foo.bar/fake3"); assertThat(mediaItemsInTimeline).containsExactlyElementsIn(currentMediaItems); } @@ -9767,7 +9767,7 @@ public final class ExoPlayerTest { assertThat(oldPositionInfo.periodUid).isEqualTo(newPositionInfo.periodUid); assertThat(oldPositionInfo.periodIndex).isEqualTo(newPositionInfo.periodIndex); assertThat(oldPositionInfo.windowIndex).isEqualTo(newPositionInfo.windowIndex); - assertThat(oldPositionInfo.mediaItem.playbackProperties.tag).isEqualTo(1); + assertThat(oldPositionInfo.mediaItem.localConfiguration.tag).isEqualTo(1); assertThat(oldPositionInfo.windowUid).isEqualTo(newPositionInfo.windowUid); assertThat(oldPositionInfo.positionMs).isEqualTo(10_000); assertThat(oldPositionInfo.contentPositionMs).isEqualTo(10_000); @@ -9789,7 +9789,7 @@ public final class ExoPlayerTest { assertThat(oldPositionInfo.periodUid).isEqualTo(newPositionInfo.periodUid); assertThat(oldPositionInfo.periodIndex).isEqualTo(newPositionInfo.periodIndex); assertThat(oldPositionInfo.windowIndex).isEqualTo(newPositionInfo.windowIndex); - assertThat(oldPositionInfo.mediaItem.playbackProperties.tag).isEqualTo(1); + assertThat(oldPositionInfo.mediaItem.localConfiguration.tag).isEqualTo(1); assertThat(oldPositionInfo.windowUid).isEqualTo(newPositionInfo.windowUid); assertThat(oldPositionInfo.positionMs).isEqualTo(10_000); assertThat(oldPositionInfo.contentPositionMs).isEqualTo(10_000); @@ -9809,7 +9809,7 @@ public final class ExoPlayerTest { oldPositionInfo = oldPosition.getValue(); newPositionInfo = newPosition.getValue(); assertThat(oldPositionInfo.windowIndex).isEqualTo(1); - assertThat(oldPositionInfo.mediaItem.playbackProperties.tag).isEqualTo(2); + assertThat(oldPositionInfo.mediaItem.localConfiguration.tag).isEqualTo(2); assertThat(oldPositionInfo.windowUid).isNotEqualTo(newPositionInfo.windowUid); assertThat(oldPositionInfo.positionMs).isEqualTo(20_000); assertThat(oldPositionInfo.contentPositionMs).isEqualTo(20_000); @@ -10131,7 +10131,7 @@ public final class ExoPlayerTest { assertThat(oldPosition.getValue().windowUid) .isEqualTo(player.getCurrentTimeline().getWindow(0, window).uid); assertThat(oldPosition.getValue().windowIndex).isEqualTo(0); - assertThat(oldPosition.getValue().mediaItem.playbackProperties.tag).isEqualTo("id-0"); + assertThat(oldPosition.getValue().mediaItem.localConfiguration.tag).isEqualTo("id-0"); assertThat(oldPosition.getValue().positionMs).isEqualTo(10_000); assertThat(oldPosition.getValue().contentPositionMs).isEqualTo(10_000); assertThat(oldPosition.getValue().adGroupIndex).isEqualTo(-1); @@ -10139,7 +10139,7 @@ public final class ExoPlayerTest { assertThat(newPosition.getValue().windowUid) .isEqualTo(player.getCurrentTimeline().getWindow(1, window).uid); assertThat(newPosition.getValue().windowIndex).isEqualTo(1); - assertThat(newPosition.getValue().mediaItem.playbackProperties.tag).isEqualTo("id-1"); + assertThat(newPosition.getValue().mediaItem.localConfiguration.tag).isEqualTo("id-1"); assertThat(newPosition.getValue().positionMs).isEqualTo(0); assertThat(newPosition.getValue().contentPositionMs).isEqualTo(0); assertThat(newPosition.getValue().adGroupIndex).isEqualTo(-1); @@ -10159,13 +10159,13 @@ public final class ExoPlayerTest { assertThat(newPosition.getValue().windowUid) .isEqualTo(player.getCurrentTimeline().getWindow(2, window).uid); assertThat(oldPosition.getValue().windowIndex).isEqualTo(1); - assertThat(oldPosition.getValue().mediaItem.playbackProperties.tag).isEqualTo("id-1"); + assertThat(oldPosition.getValue().mediaItem.localConfiguration.tag).isEqualTo("id-1"); assertThat(oldPosition.getValue().positionMs).isEqualTo(15_000); assertThat(oldPosition.getValue().contentPositionMs).isEqualTo(15_000); assertThat(oldPosition.getValue().adGroupIndex).isEqualTo(-1); assertThat(oldPosition.getValue().adIndexInAdGroup).isEqualTo(-1); assertThat(newPosition.getValue().windowIndex).isEqualTo(2); - assertThat(newPosition.getValue().mediaItem.playbackProperties.tag).isEqualTo("id-2"); + assertThat(newPosition.getValue().mediaItem.localConfiguration.tag).isEqualTo("id-2"); assertThat(newPosition.getValue().positionMs).isEqualTo(0); assertThat(newPosition.getValue().contentPositionMs).isEqualTo(0); assertThat(newPosition.getValue().adGroupIndex).isEqualTo(-1); @@ -10179,14 +10179,14 @@ public final class ExoPlayerTest { newPosition.capture(), eq(Player.DISCONTINUITY_REASON_AUTO_TRANSITION)); assertThat(oldPosition.getValue().windowIndex).isEqualTo(2); - assertThat(oldPosition.getValue().mediaItem.playbackProperties.tag).isEqualTo("id-2"); + assertThat(oldPosition.getValue().mediaItem.localConfiguration.tag).isEqualTo("id-2"); assertThat(oldPosition.getValue().windowUid).isEqualTo(lastNewWindowUid); assertThat(oldPosition.getValue().positionMs).isEqualTo(20_000); assertThat(oldPosition.getValue().contentPositionMs).isEqualTo(20_000); assertThat(oldPosition.getValue().adGroupIndex).isEqualTo(-1); assertThat(oldPosition.getValue().adIndexInAdGroup).isEqualTo(-1); assertThat(newPosition.getValue().windowIndex).isEqualTo(2); - assertThat(newPosition.getValue().mediaItem.playbackProperties.tag).isEqualTo("id-2"); + assertThat(newPosition.getValue().mediaItem.localConfiguration.tag).isEqualTo("id-2"); assertThat(newPosition.getValue().positionMs).isEqualTo(0); assertThat(newPosition.getValue().contentPositionMs).isEqualTo(20_000); assertThat(newPosition.getValue().adGroupIndex).isEqualTo(0); @@ -10201,14 +10201,14 @@ public final class ExoPlayerTest { eq(Player.DISCONTINUITY_REASON_AUTO_TRANSITION)); assertThat(oldPosition.getValue().windowUid).isEqualTo(lastNewWindowUid); assertThat(oldPosition.getValue().windowIndex).isEqualTo(2); - assertThat(oldPosition.getValue().mediaItem.playbackProperties.tag).isEqualTo("id-2"); + assertThat(oldPosition.getValue().mediaItem.localConfiguration.tag).isEqualTo("id-2"); assertThat(oldPosition.getValue().positionMs).isEqualTo(5_000); assertThat(oldPosition.getValue().contentPositionMs).isEqualTo(20_000); assertThat(oldPosition.getValue().adGroupIndex).isEqualTo(0); assertThat(oldPosition.getValue().adIndexInAdGroup).isEqualTo(0); assertThat(newPosition.getValue().windowUid).isEqualTo(oldPosition.getValue().windowUid); assertThat(newPosition.getValue().windowIndex).isEqualTo(2); - assertThat(newPosition.getValue().mediaItem.playbackProperties.tag).isEqualTo("id-2"); + assertThat(newPosition.getValue().mediaItem.localConfiguration.tag).isEqualTo("id-2"); assertThat(newPosition.getValue().positionMs).isEqualTo(19_999); assertThat(newPosition.getValue().contentPositionMs).isEqualTo(19_999); assertThat(newPosition.getValue().adGroupIndex).isEqualTo(-1); @@ -10226,14 +10226,14 @@ public final class ExoPlayerTest { .onMediaItemTransition(any(), eq(Player.MEDIA_ITEM_TRANSITION_REASON_AUTO)); assertThat(oldPosition.getValue().windowUid).isEqualTo(lastNewWindowUid); assertThat(oldPosition.getValue().windowIndex).isEqualTo(2); - assertThat(oldPosition.getValue().mediaItem.playbackProperties.tag).isEqualTo("id-2"); + assertThat(oldPosition.getValue().mediaItem.localConfiguration.tag).isEqualTo("id-2"); assertThat(oldPosition.getValue().positionMs).isEqualTo(20_000); assertThat(oldPosition.getValue().contentPositionMs).isEqualTo(20_000); assertThat(oldPosition.getValue().adGroupIndex).isEqualTo(-1); assertThat(oldPosition.getValue().adIndexInAdGroup).isEqualTo(-1); assertThat(newPosition.getValue().windowUid).isNotEqualTo(oldPosition.getValue().windowUid); assertThat(newPosition.getValue().windowIndex).isEqualTo(3); - assertThat(newPosition.getValue().mediaItem.playbackProperties.tag).isEqualTo("id-3"); + assertThat(newPosition.getValue().mediaItem.localConfiguration.tag).isEqualTo("id-3"); assertThat(newPosition.getValue().positionMs).isEqualTo(0); assertThat(newPosition.getValue().contentPositionMs).isEqualTo(0); assertThat(newPosition.getValue().adGroupIndex).isEqualTo(0); @@ -10248,14 +10248,14 @@ public final class ExoPlayerTest { eq(Player.DISCONTINUITY_REASON_AUTO_TRANSITION)); assertThat(oldPosition.getValue().windowUid).isEqualTo(lastNewWindowUid); assertThat(oldPosition.getValue().windowIndex).isEqualTo(3); - assertThat(oldPosition.getValue().mediaItem.playbackProperties.tag).isEqualTo("id-3"); + assertThat(oldPosition.getValue().mediaItem.localConfiguration.tag).isEqualTo("id-3"); assertThat(oldPosition.getValue().positionMs).isEqualTo(5_000); assertThat(oldPosition.getValue().contentPositionMs).isEqualTo(0); assertThat(oldPosition.getValue().adGroupIndex).isEqualTo(0); assertThat(oldPosition.getValue().adIndexInAdGroup).isEqualTo(0); assertThat(newPosition.getValue().windowUid).isEqualTo(oldPosition.getValue().windowUid); assertThat(newPosition.getValue().windowIndex).isEqualTo(3); - assertThat(newPosition.getValue().mediaItem.playbackProperties.tag).isEqualTo("id-3"); + assertThat(newPosition.getValue().mediaItem.localConfiguration.tag).isEqualTo("id-3"); assertThat(newPosition.getValue().positionMs).isEqualTo(0); assertThat(newPosition.getValue().contentPositionMs).isEqualTo(0); assertThat(newPosition.getValue().adGroupIndex).isEqualTo(-1); @@ -10379,14 +10379,14 @@ public final class ExoPlayerTest { any(), newPositionArgumentCaptor.capture(), eq(Player.DISCONTINUITY_REASON_REMOVE)); // The state at auto-transition event time. assertThat(mediaItemCount[0]).isEqualTo(2); - assertThat(currentMediaItems[0].playbackProperties.tag).isEqualTo("id-1"); + assertThat(currentMediaItems[0].localConfiguration.tag).isEqualTo("id-1"); // The masked state after id-1 has been removed. assertThat(mediaItemCount[1]).isEqualTo(1); - assertThat(currentMediaItems[1].playbackProperties.tag).isEqualTo("id-0"); + assertThat(currentMediaItems[1].localConfiguration.tag).isEqualTo("id-0"); // PositionInfo reports the media item at event time. - assertThat(newPositionArgumentCaptor.getAllValues().get(0).mediaItem.playbackProperties.tag) + assertThat(newPositionArgumentCaptor.getAllValues().get(0).mediaItem.localConfiguration.tag) .isEqualTo("id-1"); - assertThat(newPositionArgumentCaptor.getAllValues().get(1).mediaItem.playbackProperties.tag) + assertThat(newPositionArgumentCaptor.getAllValues().get(1).mediaItem.localConfiguration.tag) .isEqualTo("id-0"); player.release(); } @@ -10717,20 +10717,20 @@ public final class ExoPlayerTest { List newPositions = newPosition.getAllValues(); assertThat(oldPositions.get(0).windowUid).isEqualTo(newPositions.get(0).windowUid); assertThat(newPositions.get(0).windowIndex).isEqualTo(0); - assertThat(newPositions.get(0).mediaItem.playbackProperties.tag).isEqualTo("id-0"); + assertThat(newPositions.get(0).mediaItem.localConfiguration.tag).isEqualTo("id-0"); assertThat(oldPositions.get(0).positionMs).isIn(Range.closed(4980L, 5000L)); assertThat(oldPositions.get(0).contentPositionMs).isIn(Range.closed(4980L, 5000L)); assertThat(oldPositions.get(0).windowIndex).isEqualTo(0); - assertThat(oldPositions.get(0).mediaItem.playbackProperties.tag).isEqualTo("id-0"); + assertThat(oldPositions.get(0).mediaItem.localConfiguration.tag).isEqualTo("id-0"); assertThat(newPositions.get(0).positionMs).isEqualTo(7_000); assertThat(newPositions.get(0).contentPositionMs).isEqualTo(7_000); assertThat(oldPositions.get(1).windowUid).isNotEqualTo(newPositions.get(1).windowUid); assertThat(oldPositions.get(1).windowIndex).isEqualTo(0); - assertThat(oldPositions.get(1).mediaItem.playbackProperties.tag).isEqualTo("id-0"); + assertThat(oldPositions.get(1).mediaItem.localConfiguration.tag).isEqualTo("id-0"); assertThat(oldPositions.get(1).positionMs).isEqualTo(7_000); assertThat(oldPositions.get(1).contentPositionMs).isEqualTo(7_000); assertThat(newPositions.get(1).windowIndex).isEqualTo(1); - assertThat(newPositions.get(1).mediaItem.playbackProperties.tag).isEqualTo("id-1"); + assertThat(newPositions.get(1).mediaItem.localConfiguration.tag).isEqualTo("id-1"); assertThat(newPositions.get(1).positionMs).isEqualTo(1_000); assertThat(newPositions.get(1).contentPositionMs).isEqualTo(1_000); player.release(); @@ -11032,7 +11032,7 @@ public final class ExoPlayerTest { List oldPositions = oldPosition.getAllValues(); List newPositions = newPosition.getAllValues(); assertThat(oldPositions.get(0).windowIndex).isEqualTo(0); - assertThat(oldPositions.get(0).mediaItem.playbackProperties.tag).isEqualTo(123); + assertThat(oldPositions.get(0).mediaItem.localConfiguration.tag).isEqualTo(123); assertThat(oldPositions.get(0).positionMs).isIn(Range.closed(4980L, 5000L)); assertThat(oldPositions.get(0).contentPositionMs).isIn(Range.closed(4980L, 5000L)); assertThat(newPositions.get(0).windowUid).isNull(); diff --git a/library/core/src/test/java/com/google/android/exoplayer2/offline/DownloadHelperTest.java b/library/core/src/test/java/com/google/android/exoplayer2/offline/DownloadHelperTest.java index 5a042310a1..64eeec7f87 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/offline/DownloadHelperTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/offline/DownloadHelperTest.java @@ -400,10 +400,10 @@ public class DownloadHelperTest { DownloadRequest downloadRequest = downloadHelper.getDownloadRequest(data); - assertThat(downloadRequest.uri).isEqualTo(testMediaItem.playbackProperties.uri); - assertThat(downloadRequest.mimeType).isEqualTo(testMediaItem.playbackProperties.mimeType); + assertThat(downloadRequest.uri).isEqualTo(testMediaItem.localConfiguration.uri); + assertThat(downloadRequest.mimeType).isEqualTo(testMediaItem.localConfiguration.mimeType); assertThat(downloadRequest.customCacheKey) - .isEqualTo(testMediaItem.playbackProperties.customCacheKey); + .isEqualTo(testMediaItem.localConfiguration.customCacheKey); assertThat(downloadRequest.data).isEqualTo(data); assertThat(downloadRequest.streamKeys) .containsExactly( diff --git a/library/core/src/test/java/com/google/android/exoplayer2/source/SilenceMediaSourceTest.java b/library/core/src/test/java/com/google/android/exoplayer2/source/SilenceMediaSourceTest.java index d8a7727953..cfe188b895 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/source/SilenceMediaSourceTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/source/SilenceMediaSourceTest.java @@ -38,8 +38,8 @@ public class SilenceMediaSourceTest { assertThat(mediaItem).isNotNull(); assertThat(mediaItem.mediaId).isEqualTo(SilenceMediaSource.MEDIA_ID); - assertThat(mediaItem.playbackProperties.uri).isEqualTo(Uri.EMPTY); - assertThat(mediaItem.playbackProperties.mimeType).isEqualTo(MimeTypes.AUDIO_RAW); + assertThat(mediaItem.localConfiguration.uri).isEqualTo(Uri.EMPTY); + assertThat(mediaItem.localConfiguration.mimeType).isEqualTo(MimeTypes.AUDIO_RAW); } @Test @@ -49,7 +49,7 @@ public class SilenceMediaSourceTest { SilenceMediaSource mediaSource = new SilenceMediaSource.Factory().setTag(tag).setDurationUs(1_000_000).createMediaSource(); - assertThat(mediaSource.getMediaItem().playbackProperties.tag).isEqualTo(tag); + assertThat(mediaSource.getMediaItem().localConfiguration.tag).isEqualTo(tag); } @Test @@ -59,7 +59,7 @@ public class SilenceMediaSourceTest { SilenceMediaSource mediaSource = new SilenceMediaSource.Factory().setTag(tag).setDurationUs(1_000_000).createMediaSource(); - assertThat(mediaSource.getMediaItem().playbackProperties.tag).isEqualTo(tag); + assertThat(mediaSource.getMediaItem().localConfiguration.tag).isEqualTo(tag); } @Test @@ -82,7 +82,7 @@ public class SilenceMediaSourceTest { assertThat(mediaItem).isNotNull(); assertThat(mediaItem.mediaId).isEqualTo(SilenceMediaSource.MEDIA_ID); - assertThat(mediaSource.getMediaItem().playbackProperties.uri).isEqualTo(Uri.EMPTY); - assertThat(mediaItem.playbackProperties.mimeType).isEqualTo(MimeTypes.AUDIO_RAW); + assertThat(mediaSource.getMediaItem().localConfiguration.uri).isEqualTo(Uri.EMPTY); + assertThat(mediaItem.localConfiguration.mimeType).isEqualTo(MimeTypes.AUDIO_RAW); } } diff --git a/library/core/src/test/java/com/google/android/exoplayer2/source/SinglePeriodTimelineTest.java b/library/core/src/test/java/com/google/android/exoplayer2/source/SinglePeriodTimelineTest.java index 5f5b28262d..aec51e3cab 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/source/SinglePeriodTimelineTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/source/SinglePeriodTimelineTest.java @@ -101,7 +101,7 @@ public final class SinglePeriodTimelineTest { new MediaItem.Builder().setUri(Uri.EMPTY).setTag(null).build()); assertThat(timeline.getWindow(/* windowIndex= */ 0, window).tag).isNull(); - assertThat(timeline.getWindow(/* windowIndex= */ 0, window).mediaItem.playbackProperties.tag) + assertThat(timeline.getWindow(/* windowIndex= */ 0, window).mediaItem.localConfiguration.tag) .isNull(); assertThat(timeline.getPeriod(/* periodIndex= */ 0, period, /* setIds= */ false).id).isNull(); assertThat(timeline.getPeriod(/* periodIndex= */ 0, period, /* setIds= */ true).id).isNull(); @@ -143,7 +143,7 @@ public final class SinglePeriodTimelineTest { Window window = timeline.getWindow(/* windowIndex= */ 0, this.window); assertThat(window.mediaItem).isEqualTo(mediaItem); - assertThat(window.tag).isEqualTo(mediaItem.playbackProperties.tag); + assertThat(window.tag).isEqualTo(mediaItem.localConfiguration.tag); } @Test diff --git a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java index f99e6017b1..af0ee0ef22 100644 --- a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java +++ b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java @@ -315,10 +315,10 @@ public final class DashMediaSource extends BaseMediaSource { Assertions.checkArgument(!manifest.dynamic); MediaItem.Builder mediaItemBuilder = mediaItem.buildUpon().setMimeType(MimeTypes.APPLICATION_MPD); - if (mediaItem.playbackProperties == null) { + if (mediaItem.localConfiguration == null) { mediaItemBuilder.setUri(Uri.EMPTY); } - if (mediaItem.playbackProperties == null || mediaItem.playbackProperties.tag == null) { + if (mediaItem.localConfiguration == null || mediaItem.localConfiguration.tag == null) { mediaItemBuilder.setTag(tag); } if (mediaItem.liveConfiguration.targetOffsetMs == C.TIME_UNSET) { @@ -329,12 +329,12 @@ public final class DashMediaSource extends BaseMediaSource { .setTargetOffsetMs(targetLiveOffsetOverrideMs) .build()); } - if (mediaItem.playbackProperties == null - || mediaItem.playbackProperties.streamKeys.isEmpty()) { + if (mediaItem.localConfiguration == null + || mediaItem.localConfiguration.streamKeys.isEmpty()) { mediaItemBuilder.setStreamKeys(streamKeys); } mediaItem = mediaItemBuilder.build(); - if (!checkNotNull(mediaItem.playbackProperties).streamKeys.isEmpty()) { + if (!checkNotNull(mediaItem.localConfiguration).streamKeys.isEmpty()) { manifest = manifest.copy(streamKeys); } return new DashMediaSource( @@ -367,26 +367,26 @@ public final class DashMediaSource extends BaseMediaSource { * * @param mediaItem The media item of the dash stream. * @return The new {@link DashMediaSource}. - * @throws NullPointerException if {@link MediaItem#playbackProperties} is {@code null}. + * @throws NullPointerException if {@link MediaItem#localConfiguration} is {@code null}. */ @Override public DashMediaSource createMediaSource(MediaItem mediaItem) { - checkNotNull(mediaItem.playbackProperties); + checkNotNull(mediaItem.localConfiguration); @Nullable ParsingLoadable.Parser manifestParser = this.manifestParser; if (manifestParser == null) { manifestParser = new DashManifestParser(); } List streamKeys = - mediaItem.playbackProperties.streamKeys.isEmpty() + mediaItem.localConfiguration.streamKeys.isEmpty() ? this.streamKeys - : mediaItem.playbackProperties.streamKeys; + : mediaItem.localConfiguration.streamKeys; if (!streamKeys.isEmpty()) { manifestParser = new FilteringManifestParser<>(manifestParser, streamKeys); } - boolean needsTag = mediaItem.playbackProperties.tag == null && tag != null; + boolean needsTag = mediaItem.localConfiguration.tag == null && tag != null; boolean needsStreamKeys = - mediaItem.playbackProperties.streamKeys.isEmpty() && !streamKeys.isEmpty(); + mediaItem.localConfiguration.streamKeys.isEmpty() && !streamKeys.isEmpty(); boolean needsTargetLiveOffset = mediaItem.liveConfiguration.targetOffsetMs == C.TIME_UNSET && targetLiveOffsetOverrideMs != C.TIME_UNSET; @@ -501,8 +501,8 @@ public final class DashMediaSource extends BaseMediaSource { long fallbackTargetLiveOffsetMs) { this.mediaItem = mediaItem; this.liveConfiguration = mediaItem.liveConfiguration; - this.manifestUri = checkNotNull(mediaItem.playbackProperties).uri; - this.initialManifestUri = mediaItem.playbackProperties.uri; + this.manifestUri = checkNotNull(mediaItem.localConfiguration).uri; + this.initialManifestUri = mediaItem.localConfiguration.uri; this.manifest = manifest; this.manifestDataSourceFactory = manifestDataSourceFactory; this.manifestParser = manifestParser; diff --git a/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DashMediaSourceTest.java b/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DashMediaSourceTest.java index cc9947b4d3..004b7e22c7 100644 --- a/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DashMediaSourceTest.java +++ b/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DashMediaSourceTest.java @@ -111,9 +111,9 @@ public final class DashMediaSourceTest { MediaItem dashMediaItem = factory.createMediaSource(mediaItem).getMediaItem(); - assertThat(dashMediaItem.playbackProperties).isNotNull(); - assertThat(dashMediaItem.playbackProperties.uri).isEqualTo(mediaItem.playbackProperties.uri); - assertThat(dashMediaItem.playbackProperties.tag).isEqualTo(tag); + assertThat(dashMediaItem.localConfiguration).isNotNull(); + assertThat(dashMediaItem.localConfiguration.uri).isEqualTo(mediaItem.localConfiguration.uri); + assertThat(dashMediaItem.localConfiguration.tag).isEqualTo(tag); } // Tests backwards compatibility @@ -129,9 +129,9 @@ public final class DashMediaSourceTest { MediaItem dashMediaItem = factory.createMediaSource(mediaItem).getMediaItem(); - assertThat(dashMediaItem.playbackProperties).isNotNull(); - assertThat(dashMediaItem.playbackProperties.uri).isEqualTo(mediaItem.playbackProperties.uri); - assertThat(dashMediaItem.playbackProperties.tag).isEqualTo(mediaItemTag); + assertThat(dashMediaItem.localConfiguration).isNotNull(); + assertThat(dashMediaItem.localConfiguration.uri).isEqualTo(mediaItem.localConfiguration.uri); + assertThat(dashMediaItem.localConfiguration.tag).isEqualTo(mediaItemTag); } // Tests backwards compatibility @@ -146,9 +146,9 @@ public final class DashMediaSourceTest { MediaItem dashMediaItem = factory.createMediaSource(mediaItem).getMediaItem(); - assertThat(dashMediaItem.playbackProperties).isNotNull(); - assertThat(dashMediaItem.playbackProperties.uri).isEqualTo(mediaItem.playbackProperties.uri); - assertThat(dashMediaItem.playbackProperties.streamKeys).containsExactly(streamKey); + assertThat(dashMediaItem.localConfiguration).isNotNull(); + assertThat(dashMediaItem.localConfiguration.uri).isEqualTo(mediaItem.localConfiguration.uri); + assertThat(dashMediaItem.localConfiguration.streamKeys).containsExactly(streamKey); } // Tests backwards compatibility @@ -168,9 +168,9 @@ public final class DashMediaSourceTest { MediaItem dashMediaItem = factory.createMediaSource(mediaItem).getMediaItem(); - assertThat(dashMediaItem.playbackProperties).isNotNull(); - assertThat(dashMediaItem.playbackProperties.uri).isEqualTo(mediaItem.playbackProperties.uri); - assertThat(dashMediaItem.playbackProperties.streamKeys).containsExactly(mediaItemStreamKey); + assertThat(dashMediaItem.localConfiguration).isNotNull(); + assertThat(dashMediaItem.localConfiguration.uri).isEqualTo(mediaItem.localConfiguration.uri); + assertThat(dashMediaItem.localConfiguration.streamKeys).containsExactly(mediaItemStreamKey); } @Test diff --git a/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DefaultMediaSourceFactoryTest.java b/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DefaultMediaSourceFactoryTest.java index ab7f456c55..8a607d9110 100644 --- a/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DefaultMediaSourceFactoryTest.java +++ b/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DefaultMediaSourceFactoryTest.java @@ -60,7 +60,7 @@ public class DefaultMediaSourceFactoryTest { MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem); - assertThat(mediaSource.getMediaItem().playbackProperties.tag).isEqualTo(tag); + assertThat(mediaSource.getMediaItem().localConfiguration.tag).isEqualTo(tag); } @Test diff --git a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaSource.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaSource.java index 6fafd35a46..45c16bb8c9 100644 --- a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaSource.java +++ b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaSource.java @@ -365,24 +365,24 @@ public final class HlsMediaSource extends BaseMediaSource * * @param mediaItem The {@link MediaItem}. * @return The new {@link HlsMediaSource}. - * @throws NullPointerException if {@link MediaItem#playbackProperties} is {@code null}. + * @throws NullPointerException if {@link MediaItem#localConfiguration} is {@code null}. */ @Override public HlsMediaSource createMediaSource(MediaItem mediaItem) { - checkNotNull(mediaItem.playbackProperties); + checkNotNull(mediaItem.localConfiguration); HlsPlaylistParserFactory playlistParserFactory = this.playlistParserFactory; List streamKeys = - mediaItem.playbackProperties.streamKeys.isEmpty() + mediaItem.localConfiguration.streamKeys.isEmpty() ? this.streamKeys - : mediaItem.playbackProperties.streamKeys; + : mediaItem.localConfiguration.streamKeys; if (!streamKeys.isEmpty()) { playlistParserFactory = new FilteringHlsPlaylistParserFactory(playlistParserFactory, streamKeys); } - boolean needsTag = mediaItem.playbackProperties.tag == null && tag != null; + boolean needsTag = mediaItem.localConfiguration.tag == null && tag != null; boolean needsStreamKeys = - mediaItem.playbackProperties.streamKeys.isEmpty() && !streamKeys.isEmpty(); + mediaItem.localConfiguration.streamKeys.isEmpty() && !streamKeys.isEmpty(); if (needsTag && needsStreamKeys) { mediaItem = mediaItem.buildUpon().setTag(tag).setStreamKeys(streamKeys).build(); } else if (needsTag) { @@ -412,7 +412,7 @@ public final class HlsMediaSource extends BaseMediaSource } private final HlsExtractorFactory extractorFactory; - private final MediaItem.PlaybackProperties playbackProperties; + private final MediaItem.LocalConfiguration localConfiguration; private final HlsDataSourceFactory dataSourceFactory; private final CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory; private final DrmSessionManager drmSessionManager; @@ -439,7 +439,7 @@ public final class HlsMediaSource extends BaseMediaSource boolean allowChunklessPreparation, @MetadataType int metadataType, boolean useSessionKeys) { - this.playbackProperties = checkNotNull(mediaItem.playbackProperties); + this.localConfiguration = checkNotNull(mediaItem.localConfiguration); this.mediaItem = mediaItem; this.liveConfiguration = mediaItem.liveConfiguration; this.dataSourceFactory = dataSourceFactory; @@ -465,7 +465,8 @@ public final class HlsMediaSource extends BaseMediaSource drmSessionManager.prepare(); MediaSourceEventListener.EventDispatcher eventDispatcher = createEventDispatcher(/* mediaPeriodId= */ null); - playlistTracker.start(playbackProperties.uri, eventDispatcher, /* listener= */ this); + playlistTracker.start( + localConfiguration.uri, eventDispatcher, /* primaryPlaylistListener= */ this); } @Override diff --git a/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/DefaultMediaSourceFactoryTest.java b/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/DefaultMediaSourceFactoryTest.java index 54383ffe33..d67c1fb3ea 100644 --- a/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/DefaultMediaSourceFactoryTest.java +++ b/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/DefaultMediaSourceFactoryTest.java @@ -60,7 +60,7 @@ public class DefaultMediaSourceFactoryTest { MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem); - assertThat(mediaSource.getMediaItem().playbackProperties.tag).isEqualTo(tag); + assertThat(mediaSource.getMediaItem().localConfiguration.tag).isEqualTo(tag); } @Test diff --git a/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/HlsMediaSourceTest.java b/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/HlsMediaSourceTest.java index aeda359e0a..a21cd456c3 100644 --- a/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/HlsMediaSourceTest.java +++ b/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/HlsMediaSourceTest.java @@ -59,9 +59,9 @@ public class HlsMediaSourceTest { MediaItem hlsMediaItem = factory.createMediaSource(mediaItem).getMediaItem(); - assertThat(hlsMediaItem.playbackProperties).isNotNull(); - assertThat(hlsMediaItem.playbackProperties.uri).isEqualTo(mediaItem.playbackProperties.uri); - assertThat(hlsMediaItem.playbackProperties.tag).isEqualTo(tag); + assertThat(hlsMediaItem.localConfiguration).isNotNull(); + assertThat(hlsMediaItem.localConfiguration.uri).isEqualTo(mediaItem.localConfiguration.uri); + assertThat(hlsMediaItem.localConfiguration.tag).isEqualTo(tag); } // Tests backwards compatibility @@ -77,9 +77,9 @@ public class HlsMediaSourceTest { MediaItem hlsMediaItem = factory.createMediaSource(mediaItem).getMediaItem(); - assertThat(hlsMediaItem.playbackProperties).isNotNull(); - assertThat(hlsMediaItem.playbackProperties.uri).isEqualTo(mediaItem.playbackProperties.uri); - assertThat(hlsMediaItem.playbackProperties.tag).isEqualTo(mediaItemTag); + assertThat(hlsMediaItem.localConfiguration).isNotNull(); + assertThat(hlsMediaItem.localConfiguration.uri).isEqualTo(mediaItem.localConfiguration.uri); + assertThat(hlsMediaItem.localConfiguration.tag).isEqualTo(mediaItemTag); } // Tests backwards compatibility @@ -94,9 +94,9 @@ public class HlsMediaSourceTest { MediaItem hlsMediaItem = factory.createMediaSource(mediaItem).getMediaItem(); - assertThat(hlsMediaItem.playbackProperties).isNotNull(); - assertThat(hlsMediaItem.playbackProperties.uri).isEqualTo(mediaItem.playbackProperties.uri); - assertThat(hlsMediaItem.playbackProperties.streamKeys).containsExactly(streamKey); + assertThat(hlsMediaItem.localConfiguration).isNotNull(); + assertThat(hlsMediaItem.localConfiguration.uri).isEqualTo(mediaItem.localConfiguration.uri); + assertThat(hlsMediaItem.localConfiguration.streamKeys).containsExactly(streamKey); } // Tests backwards compatibility @@ -116,9 +116,9 @@ public class HlsMediaSourceTest { MediaItem hlsMediaItem = factory.createMediaSource(mediaItem).getMediaItem(); - assertThat(hlsMediaItem.playbackProperties).isNotNull(); - assertThat(hlsMediaItem.playbackProperties.uri).isEqualTo(mediaItem.playbackProperties.uri); - assertThat(hlsMediaItem.playbackProperties.streamKeys).containsExactly(mediaItemStreamKey); + assertThat(hlsMediaItem.localConfiguration).isNotNull(); + assertThat(hlsMediaItem.localConfiguration.uri).isEqualTo(mediaItem.localConfiguration.uri); + assertThat(hlsMediaItem.localConfiguration.streamKeys).containsExactly(mediaItemStreamKey); } @Test diff --git a/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaSource.java b/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaSource.java index 688c2f40b3..63bbeed35c 100644 --- a/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaSource.java +++ b/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaSource.java @@ -191,11 +191,11 @@ public final class RtspMediaSource extends BaseMediaSource { * * @param mediaItem The {@link MediaItem}. * @return The new {@link RtspMediaSource}. - * @throws NullPointerException if {@link MediaItem#playbackProperties} is {@code null}. + * @throws NullPointerException if {@link MediaItem#localConfiguration} is {@code null}. */ @Override public RtspMediaSource createMediaSource(MediaItem mediaItem) { - checkNotNull(mediaItem.playbackProperties); + checkNotNull(mediaItem.localConfiguration); return new RtspMediaSource( mediaItem, forceUseRtpTcp @@ -241,7 +241,7 @@ public final class RtspMediaSource extends BaseMediaSource { this.mediaItem = mediaItem; this.rtpDataChannelFactory = rtpDataChannelFactory; this.userAgent = userAgent; - this.uri = checkNotNull(this.mediaItem.playbackProperties).uri; + this.uri = checkNotNull(this.mediaItem.localConfiguration).uri; this.debugLoggingEnabled = debugLoggingEnabled; this.timelineDurationUs = C.TIME_UNSET; this.timelineIsPlaceholder = true; diff --git a/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.java b/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.java index cab77cb072..aabe71ce73 100644 --- a/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.java +++ b/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.java @@ -277,20 +277,20 @@ public final class SsMediaSource extends BaseMediaSource public SsMediaSource createMediaSource(SsManifest manifest, MediaItem mediaItem) { Assertions.checkArgument(!manifest.isLive); List streamKeys = - mediaItem.playbackProperties != null && !mediaItem.playbackProperties.streamKeys.isEmpty() - ? mediaItem.playbackProperties.streamKeys + mediaItem.localConfiguration != null && !mediaItem.localConfiguration.streamKeys.isEmpty() + ? mediaItem.localConfiguration.streamKeys : this.streamKeys; if (!streamKeys.isEmpty()) { manifest = manifest.copy(streamKeys); } - boolean hasUri = mediaItem.playbackProperties != null; - boolean hasTag = hasUri && mediaItem.playbackProperties.tag != null; + boolean hasUri = mediaItem.localConfiguration != null; + boolean hasTag = hasUri && mediaItem.localConfiguration.tag != null; mediaItem = mediaItem .buildUpon() .setMimeType(MimeTypes.APPLICATION_SS) - .setUri(hasUri ? mediaItem.playbackProperties.uri : Uri.EMPTY) - .setTag(hasTag ? mediaItem.playbackProperties.tag : tag) + .setUri(hasUri ? mediaItem.localConfiguration.uri : Uri.EMPTY) + .setTag(hasTag ? mediaItem.localConfiguration.tag : tag) .setStreamKeys(streamKeys) .build(); return new SsMediaSource( @@ -310,26 +310,26 @@ public final class SsMediaSource extends BaseMediaSource * * @param mediaItem The {@link MediaItem}. * @return The new {@link SsMediaSource}. - * @throws NullPointerException if {@link MediaItem#playbackProperties} is {@code null}. + * @throws NullPointerException if {@link MediaItem#localConfiguration} is {@code null}. */ @Override public SsMediaSource createMediaSource(MediaItem mediaItem) { - checkNotNull(mediaItem.playbackProperties); + checkNotNull(mediaItem.localConfiguration); @Nullable ParsingLoadable.Parser manifestParser = this.manifestParser; if (manifestParser == null) { manifestParser = new SsManifestParser(); } List streamKeys = - !mediaItem.playbackProperties.streamKeys.isEmpty() - ? mediaItem.playbackProperties.streamKeys + !mediaItem.localConfiguration.streamKeys.isEmpty() + ? mediaItem.localConfiguration.streamKeys : this.streamKeys; if (!streamKeys.isEmpty()) { manifestParser = new FilteringManifestParser<>(manifestParser, streamKeys); } - boolean needsTag = mediaItem.playbackProperties.tag == null && tag != null; + boolean needsTag = mediaItem.localConfiguration.tag == null && tag != null; boolean needsStreamKeys = - mediaItem.playbackProperties.streamKeys.isEmpty() && !streamKeys.isEmpty(); + mediaItem.localConfiguration.streamKeys.isEmpty() && !streamKeys.isEmpty(); if (needsTag && needsStreamKeys) { mediaItem = mediaItem.buildUpon().setTag(tag).setStreamKeys(streamKeys).build(); } else if (needsTag) { @@ -370,7 +370,7 @@ public final class SsMediaSource extends BaseMediaSource private final boolean sideloadedManifest; private final Uri manifestUri; - private final MediaItem.PlaybackProperties playbackProperties; + private final MediaItem.LocalConfiguration localConfiguration; private final MediaItem mediaItem; private final DataSource.Factory manifestDataSourceFactory; private final SsChunkSource.Factory chunkSourceFactory; @@ -404,12 +404,12 @@ public final class SsMediaSource extends BaseMediaSource long livePresentationDelayMs) { Assertions.checkState(manifest == null || !manifest.isLive); this.mediaItem = mediaItem; - playbackProperties = checkNotNull(mediaItem.playbackProperties); + localConfiguration = checkNotNull(mediaItem.localConfiguration); this.manifest = manifest; this.manifestUri = - playbackProperties.uri.equals(Uri.EMPTY) + localConfiguration.uri.equals(Uri.EMPTY) ? null - : Util.fixSmoothStreamingIsmManifestUri(playbackProperties.uri); + : Util.fixSmoothStreamingIsmManifestUri(localConfiguration.uri); this.manifestDataSourceFactory = manifestDataSourceFactory; this.manifestParser = manifestParser; this.chunkSourceFactory = chunkSourceFactory; diff --git a/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloader.java b/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloader.java index e5def39cd1..dcb99b5074 100644 --- a/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloader.java +++ b/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloader.java @@ -87,7 +87,7 @@ public final class SsDownloader extends SegmentDownloader { .buildUpon() .setUri( Util.fixSmoothStreamingIsmManifestUri( - checkNotNull(mediaItem.playbackProperties).uri)) + checkNotNull(mediaItem.localConfiguration).uri)) .build(), new SsManifestParser(), cacheDataSourceFactory, diff --git a/library/smoothstreaming/src/test/java/com/google/android/exoplayer2/source/smoothstreaming/DefaultMediaSourceFactoryTest.java b/library/smoothstreaming/src/test/java/com/google/android/exoplayer2/source/smoothstreaming/DefaultMediaSourceFactoryTest.java index 43c62071d3..01face26c6 100644 --- a/library/smoothstreaming/src/test/java/com/google/android/exoplayer2/source/smoothstreaming/DefaultMediaSourceFactoryTest.java +++ b/library/smoothstreaming/src/test/java/com/google/android/exoplayer2/source/smoothstreaming/DefaultMediaSourceFactoryTest.java @@ -60,7 +60,7 @@ public class DefaultMediaSourceFactoryTest { MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem); - assertThat(mediaSource.getMediaItem().playbackProperties.tag).isEqualTo(tag); + assertThat(mediaSource.getMediaItem().localConfiguration.tag).isEqualTo(tag); } @Test diff --git a/library/smoothstreaming/src/test/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSourceTest.java b/library/smoothstreaming/src/test/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSourceTest.java index 7e6f659ce7..a0719c0608 100644 --- a/library/smoothstreaming/src/test/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSourceTest.java +++ b/library/smoothstreaming/src/test/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSourceTest.java @@ -41,10 +41,10 @@ public class SsMediaSourceTest { MediaItem ssMediaItem = factory.createMediaSource(mediaItem).getMediaItem(); - assertThat(ssMediaItem.playbackProperties).isNotNull(); - assertThat(ssMediaItem.playbackProperties.uri) - .isEqualTo(castNonNull(mediaItem.playbackProperties).uri); - assertThat(ssMediaItem.playbackProperties.tag).isEqualTo(tag); + assertThat(ssMediaItem.localConfiguration).isNotNull(); + assertThat(ssMediaItem.localConfiguration.uri) + .isEqualTo(castNonNull(mediaItem.localConfiguration).uri); + assertThat(ssMediaItem.localConfiguration.tag).isEqualTo(tag); } // Tests backwards compatibility @@ -60,10 +60,10 @@ public class SsMediaSourceTest { MediaItem ssMediaItem = factory.createMediaSource(mediaItem).getMediaItem(); - assertThat(ssMediaItem.playbackProperties).isNotNull(); - assertThat(ssMediaItem.playbackProperties.uri) - .isEqualTo(castNonNull(mediaItem.playbackProperties).uri); - assertThat(ssMediaItem.playbackProperties.tag).isEqualTo(mediaItemTag); + assertThat(ssMediaItem.localConfiguration).isNotNull(); + assertThat(ssMediaItem.localConfiguration.uri) + .isEqualTo(castNonNull(mediaItem.localConfiguration).uri); + assertThat(ssMediaItem.localConfiguration.tag).isEqualTo(mediaItemTag); } // Tests backwards compatibility @@ -78,10 +78,10 @@ public class SsMediaSourceTest { MediaItem ssMediaItem = factory.createMediaSource(mediaItem).getMediaItem(); - assertThat(ssMediaItem.playbackProperties).isNotNull(); - assertThat(ssMediaItem.playbackProperties.uri) - .isEqualTo(castNonNull(mediaItem.playbackProperties).uri); - assertThat(ssMediaItem.playbackProperties.streamKeys).containsExactly(streamKey); + assertThat(ssMediaItem.localConfiguration).isNotNull(); + assertThat(ssMediaItem.localConfiguration.uri) + .isEqualTo(castNonNull(mediaItem.localConfiguration).uri); + assertThat(ssMediaItem.localConfiguration.streamKeys).containsExactly(streamKey); } // Tests backwards compatibility @@ -101,9 +101,9 @@ public class SsMediaSourceTest { MediaItem ssMediaItem = factory.createMediaSource(mediaItem).getMediaItem(); - assertThat(ssMediaItem.playbackProperties).isNotNull(); - assertThat(ssMediaItem.playbackProperties.uri) - .isEqualTo(castNonNull(mediaItem.playbackProperties).uri); - assertThat(ssMediaItem.playbackProperties.streamKeys).containsExactly(mediaItemStreamKey); + assertThat(ssMediaItem.localConfiguration).isNotNull(); + assertThat(ssMediaItem.localConfiguration.uri) + .isEqualTo(castNonNull(mediaItem.localConfiguration).uri); + assertThat(ssMediaItem.localConfiguration.streamKeys).containsExactly(mediaItemStreamKey); } } diff --git a/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeMediaSource.java b/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeMediaSource.java index 330450173b..7e098bfe78 100644 --- a/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeMediaSource.java +++ b/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeMediaSource.java @@ -85,7 +85,7 @@ public class FakeMediaSource extends BaseMediaSource { new MediaItem.Builder().setMediaId("FakeMediaSource").setUri("http://manifest.uri").build(); private static final DataSpec FAKE_DATA_SPEC = - new DataSpec(castNonNull(FAKE_MEDIA_ITEM.playbackProperties).uri); + new DataSpec(castNonNull(FAKE_MEDIA_ITEM.localConfiguration).uri); private static final int MANIFEST_LOAD_BYTES = 100; private final TrackGroupArray trackGroupArray; diff --git a/testutils/src/main/java/com/google/android/exoplayer2/testutil/TimelineAsserts.java b/testutils/src/main/java/com/google/android/exoplayer2/testutil/TimelineAsserts.java index c5154dbadc..1627f3a6cf 100644 --- a/testutils/src/main/java/com/google/android/exoplayer2/testutil/TimelineAsserts.java +++ b/testutils/src/main/java/com/google/android/exoplayer2/testutil/TimelineAsserts.java @@ -58,9 +58,9 @@ public final class TimelineAsserts { for (int i = 0; i < timeline.getWindowCount(); i++) { timeline.getWindow(i, window); if (expectedWindowTags[i] != null) { - MediaItem.PlaybackProperties playbackProperties = window.mediaItem.playbackProperties; - assertThat(playbackProperties).isNotNull(); - assertThat(Util.castNonNull(playbackProperties).tag).isEqualTo(expectedWindowTags[i]); + MediaItem.LocalConfiguration localConfiguration = window.mediaItem.localConfiguration; + assertThat(localConfiguration).isNotNull(); + assertThat(Util.castNonNull(localConfiguration).tag).isEqualTo(expectedWindowTags[i]); } } }