Rename sourceUri to uri

PiperOrigin-RevId: 308918151
This commit is contained in:
bachinger 2020-04-29 00:14:36 +01:00 committed by Oliver Woodman
parent 284b843da0
commit b22783f895
20 changed files with 168 additions and 203 deletions

View File

@ -41,19 +41,19 @@ import java.util.List;
// Clear content.
samples.add(
new MediaItem.Builder()
.setSourceUri("https://storage.googleapis.com/wvmedia/clear/h264/tears/tears.mpd")
.setUri("https://storage.googleapis.com/wvmedia/clear/h264/tears/tears.mpd")
.setMediaMetadata(new MediaMetadata.Builder().setTitle("Clear DASH: Tears").build())
.setMimeType(MIME_TYPE_DASH)
.build());
samples.add(
new MediaItem.Builder()
.setSourceUri("https://storage.googleapis.com/shaka-demo-assets/angel-one-hls/hls.m3u8")
.setUri("https://storage.googleapis.com/shaka-demo-assets/angel-one-hls/hls.m3u8")
.setMediaMetadata(new MediaMetadata.Builder().setTitle("Clear HLS: Angel one").build())
.setMimeType(MIME_TYPE_HLS)
.build());
samples.add(
new MediaItem.Builder()
.setSourceUri("https://html5demos.com/assets/dizzy.mp4")
.setUri("https://html5demos.com/assets/dizzy.mp4")
.setMediaMetadata(new MediaMetadata.Builder().setTitle("Clear MP4: Dizzy").build())
.setMimeType(MIME_TYPE_VIDEO_MP4)
.build());
@ -61,8 +61,7 @@ import java.util.List;
// DRM content.
samples.add(
new MediaItem.Builder()
.setSourceUri(
Uri.parse("https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears.mpd"))
.setUri(Uri.parse("https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears.mpd"))
.setMediaMetadata(
new MediaMetadata.Builder().setTitle("Widevine DASH cenc: Tears").build())
.setMimeType(MIME_TYPE_DASH)
@ -71,8 +70,7 @@ import java.util.List;
.build());
samples.add(
new MediaItem.Builder()
.setSourceUri(
"https://storage.googleapis.com/wvmedia/cbc1/h264/tears/tears_aes_cbc1.mpd")
.setUri("https://storage.googleapis.com/wvmedia/cbc1/h264/tears/tears_aes_cbc1.mpd")
.setMediaMetadata(
new MediaMetadata.Builder().setTitle("Widevine DASH cbc1: Tears").build())
.setMimeType(MIME_TYPE_DASH)
@ -81,8 +79,7 @@ import java.util.List;
.build());
samples.add(
new MediaItem.Builder()
.setSourceUri(
"https://storage.googleapis.com/wvmedia/cbcs/h264/tears/tears_aes_cbcs.mpd")
.setUri("https://storage.googleapis.com/wvmedia/cbcs/h264/tears/tears_aes_cbcs.mpd")
.setMediaMetadata(
new MediaMetadata.Builder().setTitle("Widevine DASH cbcs: Tears").build())
.setMimeType(MIME_TYPE_DASH)

View File

@ -85,7 +85,7 @@ public class DownloadTracker {
}
public boolean isDownloaded(MediaItem mediaItem) {
Download download = downloads.get(checkNotNull(mediaItem.playbackProperties).sourceUri);
Download download = downloads.get(checkNotNull(mediaItem.playbackProperties).uri);
return download != null && download.state != Download.STATE_FAILED;
}
@ -96,7 +96,7 @@ public class DownloadTracker {
public void toggleDownload(
FragmentManager fragmentManager, MediaItem mediaItem, RenderersFactory renderersFactory) {
Download download = downloads.get(checkNotNull(mediaItem.playbackProperties).sourceUri);
Download download = downloads.get(checkNotNull(mediaItem.playbackProperties).uri);
if (download != null) {
DownloadService.sendRemoveDownload(
context, DemoDownloadService.class, download.request.id, /* foreground= */ false);
@ -125,20 +125,19 @@ public class DownloadTracker {
MediaItem.PlaybackProperties playbackProperties = checkNotNull(mediaItem.playbackProperties);
@C.ContentType
int type =
Util.inferContentTypeWithMimeType(
playbackProperties.sourceUri, playbackProperties.mimeType);
Util.inferContentTypeWithMimeType(playbackProperties.uri, playbackProperties.mimeType);
switch (type) {
case C.TYPE_DASH:
return DownloadHelper.forDash(
context, playbackProperties.sourceUri, dataSourceFactory, renderersFactory);
context, playbackProperties.uri, dataSourceFactory, renderersFactory);
case C.TYPE_SS:
return DownloadHelper.forSmoothStreaming(
context, playbackProperties.sourceUri, dataSourceFactory, renderersFactory);
context, playbackProperties.uri, dataSourceFactory, renderersFactory);
case C.TYPE_HLS:
return DownloadHelper.forHls(
context, playbackProperties.sourceUri, dataSourceFactory, renderersFactory);
context, playbackProperties.uri, dataSourceFactory, renderersFactory);
case C.TYPE_OTHER:
return DownloadHelper.forProgressive(context, playbackProperties.sourceUri);
return DownloadHelper.forProgressive(context, playbackProperties.uri);
default:
throw new IllegalStateException("Unsupported type: " + type);
}

View File

@ -125,14 +125,14 @@ public class IntentUtil {
if (mediaItems.size() == 1) {
MediaItem.PlaybackProperties playbackProperties =
checkNotNull(mediaItems.get(0).playbackProperties);
intent.setAction(IntentUtil.ACTION_VIEW).setData(playbackProperties.sourceUri);
intent.setAction(IntentUtil.ACTION_VIEW).setData(playbackProperties.uri);
addPlaybackPropertiesToIntent(playbackProperties, intent, /* extrasKeySuffix= */ "");
} else {
intent.setAction(IntentUtil.ACTION_VIEW_LIST);
for (int i = 0; i < mediaItems.size(); i++) {
MediaItem.PlaybackProperties playbackProperties =
checkNotNull(mediaItems.get(i).playbackProperties);
intent.putExtra(IntentUtil.URI_EXTRA + ("_" + i), playbackProperties.sourceUri.toString());
intent.putExtra(IntentUtil.URI_EXTRA + ("_" + i), playbackProperties.uri.toString());
addPlaybackPropertiesToIntent(playbackProperties, intent, /* extrasKeySuffix= */ "_" + i);
}
}
@ -165,7 +165,7 @@ public class IntentUtil {
}
MediaItem.Builder builder =
new MediaItem.Builder()
.setSourceUri(uri)
.setUri(uri)
.setStreamKeys(downloadRequest != null ? downloadRequest.streamKeys : null)
.setCustomCacheKey(downloadRequest != null ? downloadRequest.customCacheKey : null)
.setMimeType(mimeType)

View File

@ -278,7 +278,7 @@ public class SampleChooserActivity extends AppCompatActivity
if (playbackProperties.adTagUri != null) {
return R.string.download_ads_unsupported;
}
String scheme = playbackProperties.sourceUri.getScheme();
String scheme = playbackProperties.uri.getScheme();
if (!("http".equals(scheme) || "https".equals(scheme))) {
return R.string.download_scheme_unsupported;
}
@ -457,7 +457,7 @@ public class SampleChooserActivity extends AppCompatActivity
return new PlaylistHolder(title, mediaItems);
} else {
mediaItem
.setSourceUri(uri)
.setUri(uri)
.setMediaMetadata(new MediaMetadata.Builder().setTitle(title).build())
.setMimeType(IntentUtil.inferAdaptiveStreamMimeType(uri, extension))
.setTag(new IntentUtil.Tag(isLive, sphericalStereoMode));

View File

@ -59,7 +59,7 @@ public final class DefaultMediaItemConverter implements MediaItemConverter {
metadata.putString(MediaMetadata.KEY_TITLE, item.mediaMetadata.title);
}
MediaInfo mediaInfo =
new MediaInfo.Builder(item.playbackProperties.sourceUri.toString())
new MediaInfo.Builder(item.playbackProperties.uri.toString())
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType(item.playbackProperties.mimeType)
.setMetadata(metadata)
@ -74,7 +74,7 @@ public final class DefaultMediaItemConverter implements MediaItemConverter {
try {
JSONObject mediaItemJson = customData.getJSONObject(KEY_MEDIA_ITEM);
MediaItem.Builder builder = new MediaItem.Builder();
builder.setSourceUri(Uri.parse(mediaItemJson.getString(KEY_URI)));
builder.setUri(Uri.parse(mediaItemJson.getString(KEY_URI)));
if (mediaItemJson.has(KEY_TITLE)) {
com.google.android.exoplayer2.MediaMetadata mediaMetadata =
new com.google.android.exoplayer2.MediaMetadata.Builder()
@ -127,7 +127,7 @@ public final class DefaultMediaItemConverter implements MediaItemConverter {
Assertions.checkNotNull(mediaItem.playbackProperties);
JSONObject json = new JSONObject();
json.put(KEY_TITLE, mediaItem.mediaMetadata.title);
json.put(KEY_URI, mediaItem.playbackProperties.sourceUri.toString());
json.put(KEY_URI, mediaItem.playbackProperties.uri.toString());
json.put(KEY_MIME_TYPE, mediaItem.playbackProperties.mimeType);
if (mediaItem.playbackProperties.drmConfiguration != null) {
json.put(

View File

@ -232,36 +232,30 @@ public class CastPlayerTest {
@Test
public void setMediaItems_callsRemoteMediaClient() {
List<MediaItem> mediaItems = new ArrayList<>();
String sourceUri1 = "http://www.google.com/video1";
String sourceUri2 = "http://www.google.com/video2";
String uri1 = "http://www.google.com/video1";
String uri2 = "http://www.google.com/video2";
mediaItems.add(
new MediaItem.Builder()
.setSourceUri(sourceUri1)
.setMimeType(MimeTypes.APPLICATION_MPD)
.build());
new MediaItem.Builder().setUri(uri1).setMimeType(MimeTypes.APPLICATION_MPD).build());
mediaItems.add(
new MediaItem.Builder()
.setSourceUri(sourceUri2)
.setMimeType(MimeTypes.APPLICATION_MP4)
.build());
new MediaItem.Builder().setUri(uri2).setMimeType(MimeTypes.APPLICATION_MP4).build());
castPlayer.setMediaItems(mediaItems, /* startWindowIndex= */ 1, /* startPositionMs= */ 2000L);
verify(mockRemoteMediaClient)
.queueLoad(queueItemsArgumentCaptor.capture(), eq(1), anyInt(), eq(2000L), any());
MediaQueueItem[] mediaQueueItems = queueItemsArgumentCaptor.getValue();
assertThat(mediaQueueItems[0].getMedia().getContentId()).isEqualTo(sourceUri1);
assertThat(mediaQueueItems[1].getMedia().getContentId()).isEqualTo(sourceUri2);
assertThat(mediaQueueItems[0].getMedia().getContentId()).isEqualTo(uri1);
assertThat(mediaQueueItems[1].getMedia().getContentId()).isEqualTo(uri2);
}
@Test
public void setMediaItems_doNotReset_callsRemoteMediaClient() {
MediaItem.Builder builder = new MediaItem.Builder();
List<MediaItem> mediaItems = new ArrayList<>();
String sourceUri1 = "http://www.google.com/video1";
String sourceUri2 = "http://www.google.com/video2";
mediaItems.add(builder.setSourceUri(sourceUri1).setMimeType(MimeTypes.APPLICATION_MPD).build());
mediaItems.add(builder.setSourceUri(sourceUri2).setMimeType(MimeTypes.APPLICATION_MP4).build());
String uri1 = "http://www.google.com/video1";
String uri2 = "http://www.google.com/video2";
mediaItems.add(builder.setUri(uri1).setMimeType(MimeTypes.APPLICATION_MPD).build());
mediaItems.add(builder.setUri(uri2).setMimeType(MimeTypes.APPLICATION_MP4).build());
int startWindowIndex = C.INDEX_UNSET;
long startPositionMs = 2000L;
@ -271,18 +265,18 @@ public class CastPlayerTest {
.queueLoad(queueItemsArgumentCaptor.capture(), eq(0), anyInt(), eq(0L), any());
MediaQueueItem[] mediaQueueItems = queueItemsArgumentCaptor.getValue();
assertThat(mediaQueueItems[0].getMedia().getContentId()).isEqualTo(sourceUri1);
assertThat(mediaQueueItems[1].getMedia().getContentId()).isEqualTo(sourceUri2);
assertThat(mediaQueueItems[0].getMedia().getContentId()).isEqualTo(uri1);
assertThat(mediaQueueItems[1].getMedia().getContentId()).isEqualTo(uri2);
}
@Test
public void addMediaItems_callsRemoteMediaClient() {
MediaItem.Builder builder = new MediaItem.Builder();
List<MediaItem> mediaItems = new ArrayList<>();
String sourceUri1 = "http://www.google.com/video1";
String sourceUri2 = "http://www.google.com/video2";
mediaItems.add(builder.setSourceUri(sourceUri1).setMimeType(MimeTypes.APPLICATION_MPD).build());
mediaItems.add(builder.setSourceUri(sourceUri2).setMimeType(MimeTypes.APPLICATION_MP4).build());
String uri1 = "http://www.google.com/video1";
String uri2 = "http://www.google.com/video2";
mediaItems.add(builder.setUri(uri1).setMimeType(MimeTypes.APPLICATION_MPD).build());
mediaItems.add(builder.setUri(uri2).setMimeType(MimeTypes.APPLICATION_MP4).build());
castPlayer.addMediaItems(mediaItems);
@ -291,8 +285,8 @@ public class CastPlayerTest {
queueItemsArgumentCaptor.capture(), eq(MediaQueueItem.INVALID_ITEM_ID), any());
MediaQueueItem[] mediaQueueItems = queueItemsArgumentCaptor.getValue();
assertThat(mediaQueueItems[0].getMedia().getContentId()).isEqualTo(sourceUri1);
assertThat(mediaQueueItems[1].getMedia().getContentId()).isEqualTo(sourceUri2);
assertThat(mediaQueueItems[0].getMedia().getContentId()).isEqualTo(uri1);
assertThat(mediaQueueItems[1].getMedia().getContentId()).isEqualTo(uri2);
}
@SuppressWarnings("ConstantConditions")
@ -301,12 +295,9 @@ public class CastPlayerTest {
int[] mediaQueueItemIds = createMediaQueueItemIds(/* numberOfIds= */ 2);
List<MediaItem> mediaItems = createMediaItems(mediaQueueItemIds);
fillTimeline(mediaItems, mediaQueueItemIds);
String sourceUri = "http://www.google.com/video3";
String uri = "http://www.google.com/video3";
MediaItem anotherMediaItem =
new MediaItem.Builder()
.setSourceUri(sourceUri)
.setMimeType(MimeTypes.APPLICATION_MPD)
.build();
new MediaItem.Builder().setUri(uri).setMimeType(MimeTypes.APPLICATION_MPD).build();
// Add another on position 1
int index = 1;
@ -319,7 +310,7 @@ public class CastPlayerTest {
any());
MediaQueueItem[] mediaQueueItems = queueItemsArgumentCaptor.getValue();
assertThat(mediaQueueItems[0].getMedia().getContentId()).isEqualTo(sourceUri);
assertThat(mediaQueueItems[0].getMedia().getContentId()).isEqualTo(uri);
}
@Test
@ -477,7 +468,7 @@ public class CastPlayerTest {
for (int mediaQueueItemId : mediaQueueItemIds) {
MediaItem mediaItem =
builder
.setSourceUri("http://www.google.com/video" + mediaQueueItemId)
.setUri("http://www.google.com/video" + mediaQueueItemId)
.setMimeType(MimeTypes.APPLICATION_MPD)
.setTag(mediaQueueItemId)
.build();

View File

@ -36,7 +36,7 @@ public class DefaultMediaItemConverterTest {
public void serialize_deserialize_minimal() {
MediaItem.Builder builder = new MediaItem.Builder();
MediaItem item =
builder.setSourceUri("http://example.com").setMimeType(MimeTypes.APPLICATION_MPD).build();
builder.setUri("http://example.com").setMimeType(MimeTypes.APPLICATION_MPD).build();
DefaultMediaItemConverter converter = new DefaultMediaItemConverter();
MediaQueueItem queueItem = converter.toMediaQueueItem(item);
@ -50,7 +50,7 @@ public class DefaultMediaItemConverterTest {
MediaItem.Builder builder = new MediaItem.Builder();
MediaItem item =
builder
.setSourceUri(Uri.parse("http://example.com"))
.setUri(Uri.parse("http://example.com"))
.setMediaMetadata(new MediaMetadata.Builder().build())
.setMimeType(MimeTypes.APPLICATION_MPD)
.setDrmUuid(C.WIDEVINE_UUID)

View File

@ -32,30 +32,30 @@ import java.util.UUID;
public final class MediaItem {
/**
* Creates a {@link MediaItem} for the given source uri.
* Creates a {@link MediaItem} for the given uri.
*
* @param sourceUri The source uri.
* @return An {@link MediaItem} for the given source uri.
* @param uri The uri.
* @return An {@link MediaItem} for the given uri.
*/
public static MediaItem fromUri(String sourceUri) {
return new MediaItem.Builder().setSourceUri(sourceUri).build();
public static MediaItem fromUri(String uri) {
return new MediaItem.Builder().setUri(uri).build();
}
/**
* Creates a {@link MediaItem} for the given {@link Uri source uri}.
* Creates a {@link MediaItem} for the given {@link Uri uri}.
*
* @param sourceUri The {@link Uri source uri}.
* @return An {@link MediaItem} for the given source uri.
* @param uri The {@link Uri uri}.
* @return An {@link MediaItem} for the given uri.
*/
public static MediaItem fromUri(Uri sourceUri) {
return new MediaItem.Builder().setSourceUri(sourceUri).build();
public static MediaItem fromUri(Uri uri) {
return new MediaItem.Builder().setUri(uri).build();
}
/** A builder for {@link MediaItem} instances. */
public static final class Builder {
@Nullable private String mediaId;
@Nullable private Uri sourceUri;
@Nullable private Uri uri;
@Nullable private String mimeType;
private long clipStartPositionMs;
private long clipEndPositionMs;
@ -99,7 +99,7 @@ public final class MediaItem {
adTagUri = playbackProperties.adTagUri;
customCacheKey = playbackProperties.customCacheKey;
mimeType = playbackProperties.mimeType;
sourceUri = playbackProperties.sourceUri;
uri = playbackProperties.uri;
streamKeys = playbackProperties.streamKeys;
subtitles = playbackProperties.subtitles;
tag = playbackProperties.tag;
@ -117,28 +117,25 @@ public final class MediaItem {
}
/**
* Sets the optional media id which identifies the media item. If not specified, {@link
* #setSourceUri} must be called and the string representation of {@link
* PlaybackProperties#sourceUri} is used as the media id.
* Sets the optional media id which identifies the media item. If not specified, {@link #setUri}
* must be called and the string representation of {@link PlaybackProperties#uri} is used as the
* media id.
*/
public Builder setMediaId(@Nullable String mediaId) {
this.mediaId = mediaId;
return this;
}
/**
* Sets the optional source uri. If not specified, {@link #setMediaId(String)} must be called.
*/
public Builder setSourceUri(@Nullable String sourceUri) {
return setSourceUri(sourceUri == null ? null : Uri.parse(sourceUri));
/** Sets the optional uri. If not specified, {@link #setMediaId(String)} must be called. */
public Builder setUri(@Nullable String uri) {
return setUri(uri == null ? null : Uri.parse(uri));
}
/**
* Sets the optional source {@link Uri}. If not specified, {@link #setMediaId(String)} must be
* called.
* Sets the optional {@link Uri}. If not specified, {@link #setMediaId(String)} must be called.
*/
public Builder setSourceUri(@Nullable Uri sourceUri) {
this.sourceUri = sourceUri;
public Builder setUri(@Nullable Uri uri) {
this.uri = uri;
return this;
}
@ -147,7 +144,7 @@ public final class MediaItem {
*
* <p>The mime type may be used as a hint for inferring the type of the media item.
*
* <p>If a {@link PlaybackProperties#sourceUri} is set, the mime type is used to create a {@link
* <p>If a {@link PlaybackProperties#uri} is set, the mime type is used to create a {@link
* PlaybackProperties} object. Otherwise it will be ignored.
*
* @param mimeType The mime type.
@ -210,8 +207,8 @@ public final class MediaItem {
* Sets the optional license server {@link Uri}. If a license uri is set, the {@link
* DrmConfiguration#uuid} needs to be specified as well.
*
* <p>If a {@link PlaybackProperties#sourceUri} is set, the drm license uri is used to create a
* {@link PlaybackProperties} object. Otherwise it will be ignored.
* <p>If a {@link PlaybackProperties#uri} is set, the drm license uri is used to create a {@link
* PlaybackProperties} object. Otherwise it will be ignored.
*/
public Builder setDrmLicenseUri(@Nullable Uri licenseUri) {
drmLicenseUri = licenseUri;
@ -222,8 +219,8 @@ public final class MediaItem {
* Sets the optional license server uri as a {@link String}. If a license uri is set, the {@link
* DrmConfiguration#uuid} needs to be specified as well.
*
* <p>If a {@link PlaybackProperties#sourceUri} is set, the drm license uri is used to create a
* {@link PlaybackProperties} object. Otherwise it will be ignored.
* <p>If a {@link PlaybackProperties#uri} is set, the drm license uri is used to create a {@link
* PlaybackProperties} object. Otherwise it will be ignored.
*/
public Builder setDrmLicenseUri(@Nullable String licenseUri) {
drmLicenseUri = licenseUri == null ? null : Uri.parse(licenseUri);
@ -250,8 +247,8 @@ public final class MediaItem {
* Sets the {@link UUID} of the protection scheme. If a drm system uuid is set, the {@link
* DrmConfiguration#licenseUri} needs to be set as well.
*
* <p>If a {@link PlaybackProperties#sourceUri} is set, the drm system uuid is used to create a
* {@link PlaybackProperties} object. Otherwise it will be ignored.
* <p>If a {@link PlaybackProperties#uri} is set, the drm system uuid is used to create a {@link
* PlaybackProperties} object. Otherwise it will be ignored.
*/
public Builder setDrmUuid(@Nullable UUID uuid) {
drmUuid = uuid;
@ -261,8 +258,8 @@ public final class MediaItem {
/**
* Sets whether the drm configuration is multi session enabled.
*
* <p>If a {@link PlaybackProperties#sourceUri} is set, the drm multi session flag is used to
* create a {@link PlaybackProperties} object. Otherwise it will be ignored.
* <p>If a {@link PlaybackProperties#uri} is set, the drm multi session flag is used to create a
* {@link PlaybackProperties} object. Otherwise it will be ignored.
*/
public Builder setDrmMultiSession(boolean multiSession) {
drmMultiSession = multiSession;
@ -333,8 +330,8 @@ public final class MediaItem {
*
* <p>{@code null} or an empty {@link List} can be used for a reset.
*
* <p>If a {@link PlaybackProperties#sourceUri} is set, the stream keys are used to create a
* {@link PlaybackProperties} object. Otherwise it will be ignored.
* <p>If a {@link PlaybackProperties#uri} is set, the stream keys are used to create a {@link
* PlaybackProperties} object. Otherwise it will be ignored.
*/
public Builder setStreamKeys(@Nullable List<StreamKey> streamKeys) {
this.streamKeys =
@ -347,7 +344,7 @@ public final class MediaItem {
/**
* Sets the optional custom cache key (only used for progressive streams).
*
* <p>If a {@link PlaybackProperties#sourceUri} is set, the custom cache key is used to create a
* <p>If a {@link PlaybackProperties#uri} is set, the custom cache key is used to create a
* {@link PlaybackProperties} object. Otherwise it will be ignored.
*/
public Builder setCustomCacheKey(@Nullable String customCacheKey) {
@ -360,8 +357,8 @@ public final class MediaItem {
*
* <p>{@code null} or an empty {@link List} can be used for a reset.
*
* <p>If a {@link PlaybackProperties#sourceUri} is set, the subtitles are used to create a
* {@link PlaybackProperties} object. Otherwise it will be ignored.
* <p>If a {@link PlaybackProperties#uri} is set, the subtitles are used to create a {@link
* PlaybackProperties} object. Otherwise it will be ignored.
*/
public Builder setSubtitles(@Nullable List<Subtitle> subtitles) {
this.subtitles =
@ -374,8 +371,8 @@ public final class MediaItem {
/**
* Sets the optional ad tag URI.
*
* <p>If a {@link PlaybackProperties#sourceUri} is set, the ad tag URI is used to create a
* {@link PlaybackProperties} object. Otherwise it will be ignored.
* <p>If a {@link PlaybackProperties#uri} is set, the ad tag URI is used to create a {@link
* PlaybackProperties} object. Otherwise it will be ignored.
*/
public Builder setAdTagUri(@Nullable String adTagUri) {
this.adTagUri = adTagUri != null ? Uri.parse(adTagUri) : null;
@ -385,8 +382,8 @@ public final class MediaItem {
/**
* Sets the optional ad tag {@link Uri}.
*
* <p>If a {@link PlaybackProperties#sourceUri} is set, the ad tag URI is used to create a
* {@link PlaybackProperties} object. Otherwise it will be ignored.
* <p>If a {@link PlaybackProperties#uri} is set, the ad tag URI is used to create a {@link
* PlaybackProperties} object. Otherwise it will be ignored.
*/
public Builder setAdTagUri(@Nullable Uri adTagUri) {
this.adTagUri = adTagUri;
@ -398,7 +395,7 @@ public final class MediaItem {
* published in the {@code com.google.android.exoplayer2.Timeline} of the source as {@code
* com.google.android.exoplayer2.Timeline.Window#tag}.
*
* <p>If a {@link PlaybackProperties#sourceUri} is set, the tag is used to create a {@link
* <p>If a {@link PlaybackProperties#uri} is set, the tag is used to create a {@link
* PlaybackProperties} object. Otherwise it will be ignored.
*/
public Builder setTag(@Nullable Object tag) {
@ -418,10 +415,10 @@ public final class MediaItem {
public MediaItem build() {
Assertions.checkState(drmLicenseUri == null || drmUuid != null);
@Nullable PlaybackProperties playbackProperties = null;
if (sourceUri != null) {
if (uri != null) {
playbackProperties =
new PlaybackProperties(
sourceUri,
uri,
mimeType,
drmUuid != null
? new DrmConfiguration(
@ -438,7 +435,7 @@ public final class MediaItem {
subtitles,
adTagUri,
tag);
mediaId = mediaId != null ? mediaId : sourceUri.toString();
mediaId = mediaId != null ? mediaId : uri.toString();
}
return new MediaItem(
Assertions.checkNotNull(mediaId),
@ -540,8 +537,8 @@ public final class MediaItem {
/** Properties for local playback. */
public static final class PlaybackProperties {
/** The source {@link Uri}. */
public final Uri sourceUri;
/** The {@link Uri}. */
public final Uri uri;
/**
* The optional mime type of the item, or {@code null} if unspecified.
@ -574,7 +571,7 @@ public final class MediaItem {
@Nullable public final Object tag;
private PlaybackProperties(
Uri sourceUri,
Uri uri,
@Nullable String mimeType,
@Nullable DrmConfiguration drmConfiguration,
List<StreamKey> streamKeys,
@ -582,7 +579,7 @@ public final class MediaItem {
List<Subtitle> subtitles,
@Nullable Uri adTagUri,
@Nullable Object tag) {
this.sourceUri = sourceUri;
this.uri = uri;
this.mimeType = mimeType;
this.drmConfiguration = drmConfiguration;
this.streamKeys = streamKeys;
@ -602,7 +599,7 @@ public final class MediaItem {
}
PlaybackProperties other = (PlaybackProperties) obj;
return sourceUri.equals(other.sourceUri)
return uri.equals(other.uri)
&& Util.areEqual(mimeType, other.mimeType)
&& Util.areEqual(drmConfiguration, other.drmConfiguration)
&& streamKeys.equals(other.streamKeys)
@ -614,7 +611,7 @@ public final class MediaItem {
@Override
public int hashCode() {
int result = sourceUri.hashCode();
int result = uri.hashCode();
result = 31 * result + (mimeType == null ? 0 : mimeType.hashCode());
result = 31 * result + (drmConfiguration == null ? 0 : drmConfiguration.hashCode());
result = 31 * result + streamKeys.hashCode();

View File

@ -213,7 +213,7 @@ public final class Util {
if (mediaItem.playbackProperties == null) {
continue;
}
if (isLocalFileUri(mediaItem.playbackProperties.sourceUri)) {
if (isLocalFileUri(mediaItem.playbackProperties.uri)) {
return requestExternalStoragePermission(activity);
}
for (int i = 0; i < mediaItem.playbackProperties.subtitles.size(); i++) {
@ -241,7 +241,7 @@ public final class Util {
if (mediaItem.playbackProperties == null) {
continue;
}
if (isTrafficRestricted(mediaItem.playbackProperties.sourceUri)) {
if (isTrafficRestricted(mediaItem.playbackProperties.uri)) {
return false;
}
for (int i = 0; i < mediaItem.playbackProperties.subtitles.size(); i++) {

View File

@ -38,26 +38,26 @@ public class MediaItemTest {
private static final String URI_STRING = "http://www.google.com";
@Test
public void builder_needsSourceUriOrMediaId() {
public void builder_needsUriOrMediaId() {
assertThrows(NullPointerException.class, () -> new MediaItem.Builder().build());
}
@Test
public void builderWithUri_setsSourceUri() {
public void builderWithUri_setsUri() {
Uri uri = Uri.parse(URI_STRING);
MediaItem mediaItem = MediaItem.fromUri(uri);
assertThat(mediaItem.playbackProperties.sourceUri.toString()).isEqualTo(URI_STRING);
assertThat(mediaItem.playbackProperties.uri.toString()).isEqualTo(URI_STRING);
assertThat(mediaItem.mediaId).isEqualTo(URI_STRING);
assertThat(mediaItem.mediaMetadata).isNotNull();
}
@Test
public void builderWithUriAsString_setsSourceUri() {
public void builderWithUriAsString_setsUri() {
MediaItem mediaItem = MediaItem.fromUri(URI_STRING);
assertThat(mediaItem.playbackProperties.sourceUri.toString()).isEqualTo(URI_STRING);
assertThat(mediaItem.playbackProperties.uri.toString()).isEqualTo(URI_STRING);
assertThat(mediaItem.mediaId).isEqualTo(URI_STRING);
}
@ -71,10 +71,7 @@ public class MediaItemTest {
@Test
public void builderSetMimeType_setsMimeType() {
MediaItem mediaItem =
new MediaItem.Builder()
.setSourceUri(URI_STRING)
.setMimeType(MimeTypes.APPLICATION_MPD)
.build();
new MediaItem.Builder().setUri(URI_STRING).setMimeType(MimeTypes.APPLICATION_MPD).build();
assertThat(mediaItem.playbackProperties.mimeType).isEqualTo(MimeTypes.APPLICATION_MPD);
}
@ -82,7 +79,7 @@ public class MediaItemTest {
@Test
public void builderSetDrmConfig_isNullByDefault() {
// Null value by default.
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_STRING).build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_STRING).build();
assertThat(mediaItem.playbackProperties.drmConfiguration).isNull();
}
@ -94,7 +91,7 @@ public class MediaItemTest {
byte[] keySetId = new byte[] {1, 2, 3};
MediaItem mediaItem =
new MediaItem.Builder()
.setSourceUri(URI_STRING)
.setUri(URI_STRING)
.setDrmUuid(C.WIDEVINE_UUID)
.setDrmLicenseUri(licenseUri)
.setDrmLicenseRequestHeaders(requestHeaders)
@ -121,7 +118,7 @@ public class MediaItemTest {
Uri licenseUri = Uri.parse(URI_STRING);
MediaItem mediaItem =
new MediaItem.Builder()
.setSourceUri(URI_STRING)
.setUri(URI_STRING)
.setDrmUuid(C.WIDEVINE_UUID)
.setDrmLicenseUri(licenseUri)
.setDrmSessionForClearTypes(Arrays.asList(C.TRACK_TYPE_AUDIO))
@ -138,7 +135,7 @@ public class MediaItemTest {
IllegalStateException.class,
() ->
new MediaItem.Builder()
.setSourceUri(URI_STRING)
.setUri(URI_STRING)
// missing uuid
.setDrmLicenseUri(Uri.parse(URI_STRING))
.build());
@ -147,7 +144,7 @@ public class MediaItemTest {
@Test
public void builderSetCustomCacheKey_setsCustomCacheKey() {
MediaItem mediaItem =
new MediaItem.Builder().setSourceUri(URI_STRING).setCustomCacheKey("key").build();
new MediaItem.Builder().setUri(URI_STRING).setCustomCacheKey("key").build();
assertThat(mediaItem.playbackProperties.customCacheKey).isEqualTo("key");
}
@ -159,7 +156,7 @@ public class MediaItemTest {
streamKeys.add(new StreamKey(0, 1, 1));
MediaItem mediaItem =
new MediaItem.Builder().setSourceUri(URI_STRING).setStreamKeys(streamKeys).build();
new MediaItem.Builder().setUri(URI_STRING).setStreamKeys(streamKeys).build();
assertThat(mediaItem.playbackProperties.streamKeys).isEqualTo(streamKeys);
}
@ -177,14 +174,14 @@ public class MediaItemTest {
C.SELECTION_FLAG_DEFAULT));
MediaItem mediaItem =
new MediaItem.Builder().setSourceUri(URI_STRING).setSubtitles(subtitles).build();
new MediaItem.Builder().setUri(URI_STRING).setSubtitles(subtitles).build();
assertThat(mediaItem.playbackProperties.subtitles).isEqualTo(subtitles);
}
@Test
public void builderSetTag_isNullByDefault() {
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_STRING).build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_STRING).build();
assertThat(mediaItem.playbackProperties.tag).isNull();
}
@ -193,7 +190,7 @@ public class MediaItemTest {
public void builderSetTag_setsTag() {
Object tag = new Object();
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_STRING).setTag(tag).build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_STRING).setTag(tag).build();
assertThat(mediaItem.playbackProperties.tag).isEqualTo(tag);
}
@ -201,14 +198,14 @@ public class MediaItemTest {
@Test
public void builderSetStartPositionMs_setsStartPositionMs() {
MediaItem mediaItem =
new MediaItem.Builder().setSourceUri(URI_STRING).setClipStartPositionMs(1000L).build();
new MediaItem.Builder().setUri(URI_STRING).setClipStartPositionMs(1000L).build();
assertThat(mediaItem.clippingProperties.startPositionMs).isEqualTo(1000L);
}
@Test
public void builderSetStartPositionMs_zeroByDefault() {
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_STRING).build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_STRING).build();
assertThat(mediaItem.clippingProperties.startPositionMs).isEqualTo(0);
}
@ -223,14 +220,14 @@ public class MediaItemTest {
@Test
public void builderSetEndPositionMs_setsEndPositionMs() {
MediaItem mediaItem =
new MediaItem.Builder().setSourceUri(URI_STRING).setClipEndPositionMs(1000L).build();
new MediaItem.Builder().setUri(URI_STRING).setClipEndPositionMs(1000L).build();
assertThat(mediaItem.clippingProperties.endPositionMs).isEqualTo(1000L);
}
@Test
public void builderSetEndPositionMs_timeEndOfSourceByDefault() {
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_STRING).build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_STRING).build();
assertThat(mediaItem.clippingProperties.endPositionMs).isEqualTo(C.TIME_END_OF_SOURCE);
}
@ -239,7 +236,7 @@ public class MediaItemTest {
public void builderSetEndPositionMs_timeEndOfSource_setsEndPositionMs() {
MediaItem mediaItem =
new MediaItem.Builder()
.setSourceUri(URI_STRING)
.setUri(URI_STRING)
.setClipEndPositionMs(1000)
.setClipEndPositionMs(C.TIME_END_OF_SOURCE)
.build();
@ -258,7 +255,7 @@ public class MediaItemTest {
public void builderSetClippingFlags_setsClippingFlags() {
MediaItem mediaItem =
new MediaItem.Builder()
.setSourceUri(URI_STRING)
.setUri(URI_STRING)
.setClipRelativeToDefaultPosition(true)
.setClipRelativeToLiveWindow(true)
.setClipStartsAtKeyFrame(true)
@ -273,8 +270,7 @@ public class MediaItemTest {
public void builderSetAdTagUri_setsAdTagUri() {
Uri adTagUri = Uri.parse(URI_STRING + "/ad");
MediaItem mediaItem =
new MediaItem.Builder().setSourceUri(URI_STRING).setAdTagUri(adTagUri).build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_STRING).setAdTagUri(adTagUri).build();
assertThat(mediaItem.playbackProperties.adTagUri).isEqualTo(adTagUri);
}
@ -284,7 +280,7 @@ public class MediaItemTest {
MediaMetadata mediaMetadata = new MediaMetadata.Builder().setTitle("title").build();
MediaItem mediaItem =
new MediaItem.Builder().setSourceUri(URI_STRING).setMediaMetadata(mediaMetadata).build();
new MediaItem.Builder().setUri(URI_STRING).setMediaMetadata(mediaMetadata).build();
assertThat(mediaItem.mediaMetadata).isEqualTo(mediaMetadata);
}
@ -311,7 +307,7 @@ public class MediaItemTest {
.setMediaId("mediaId")
.setMediaMetadata(new MediaMetadata.Builder().setTitle("title").build())
.setMimeType(MimeTypes.APPLICATION_MP4)
.setSourceUri(URI_STRING)
.setUri(URI_STRING)
.setStreamKeys(Collections.singletonList(new StreamKey(1, 0, 0)))
.setSubtitles(
Collections.singletonList(

View File

@ -52,25 +52,24 @@ import java.util.Map;
* factories:
*
* <ul>
* <li>{@code DashMediaSource.Factory} if the item's {@link MediaItem.PlaybackProperties#sourceUri
* sourceUri} ends in '.mpd' or if its {@link MediaItem.PlaybackProperties#mimeType mimeType
* field} is explicitly set to {@link MimeTypes#APPLICATION_MPD} (Requires the <a
* <li>{@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
* explicitly set to {@link MimeTypes#APPLICATION_MPD} (Requires the <a
* href="https://exoplayer.dev/hello-world.html#add-exoplayer-modules">exoplayer-dash module
* to be added</a> to the app).
* <li>{@code HlsMediaSource.Factory} if the item's {@link MediaItem.PlaybackProperties#sourceUri
* sourceUri} ends in '.m3u8' or if its {@link MediaItem.PlaybackProperties#mimeType mimeType
* field} is explicitly set to {@link MimeTypes#APPLICATION_M3U8} (Requires the <a
* <li>{@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
* explicitly set to {@link MimeTypes#APPLICATION_M3U8} (Requires the <a
* href="https://exoplayer.dev/hello-world.html#add-exoplayer-modules">exoplayer-hls module to
* be added</a> to the app).
* <li>{@code SsMediaSource.Factory} if the item's {@link MediaItem.PlaybackProperties#sourceUri
* sourceUri} ends in '.ism', '.ism/Manifest' or if its {@link
* MediaItem.PlaybackProperties#mimeType mimeType field} is explicitly set to {@link
* MimeTypes#APPLICATION_SS} (Requires the <a
* <li>{@code SsMediaSource.Factory} if the item's {@link MediaItem.PlaybackProperties#uri uri}
* ends in '.ism', '.ism/Manifest' or if its {@link MediaItem.PlaybackProperties#mimeType
* mimeType field} is explicitly set to {@link MimeTypes#APPLICATION_SS} (Requires the <a
* href="https://exoplayer.dev/hello-world.html#add-exoplayer-modules">
* exoplayer-smoothstreaming module to be added</a> to the app).
* <li>{@link ProgressiveMediaSource.Factory} serves as a fallback if the item's {@link
* MediaItem.PlaybackProperties#sourceUri sourceUri} doesn't match one of the above. It tries
* to infer the required extractor by using the {@link
* MediaItem.PlaybackProperties#uri uri} doesn't match one of the above. It tries to infer the
* required extractor by using the {@link
* com.google.android.exoplayer2.extractor.DefaultExtractorsFactory}. An {@link
* UnrecognizedInputFormatException} is thrown if none of the available extractors can read
* the stream.
@ -249,7 +248,7 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory {
@C.ContentType
int type =
Util.inferContentTypeWithMimeType(
mediaItem.playbackProperties.sourceUri, mediaItem.playbackProperties.mimeType);
mediaItem.playbackProperties.uri, mediaItem.playbackProperties.mimeType);
@Nullable MediaSourceFactory mediaSourceFactory = mediaSourceFactories.get(type);
Assertions.checkNotNull(
mediaSourceFactory, "No suitable media source factory found for content type: " + type);

View File

@ -173,7 +173,7 @@ public final class ExtractorMediaSource extends CompositeMediaSource<Void> {
@Deprecated
@Override
public ExtractorMediaSource createMediaSource(Uri uri) {
return createMediaSource(new MediaItem.Builder().setSourceUri(uri).build());
return createMediaSource(new MediaItem.Builder().setUri(uri).build());
}
/**
@ -187,7 +187,7 @@ public final class ExtractorMediaSource extends CompositeMediaSource<Void> {
public ExtractorMediaSource createMediaSource(MediaItem mediaItem) {
Assertions.checkNotNull(mediaItem.playbackProperties);
return new ExtractorMediaSource(
mediaItem.playbackProperties.sourceUri,
mediaItem.playbackProperties.uri,
dataSourceFactory,
extractorsFactory,
loadErrorHandlingPolicy,

View File

@ -166,7 +166,7 @@ public final class ProgressiveMediaSource extends BaseMediaSource
@Deprecated
@Override
public ProgressiveMediaSource createMediaSource(Uri uri) {
return createMediaSource(new MediaItem.Builder().setSourceUri(uri).build());
return createMediaSource(new MediaItem.Builder().setUri(uri).build());
}
/**
@ -180,7 +180,7 @@ public final class ProgressiveMediaSource extends BaseMediaSource
public ProgressiveMediaSource createMediaSource(MediaItem mediaItem) {
Assertions.checkNotNull(mediaItem.playbackProperties);
return new ProgressiveMediaSource(
mediaItem.playbackProperties.sourceUri,
mediaItem.playbackProperties.uri,
dataSourceFactory,
extractorsFactory,
drmSessionManager,

View File

@ -46,7 +46,7 @@ public final class DefaultMediaSourceFactoryTest {
public void createMediaSource_withoutMimeType_progressiveSource() {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_MEDIA).build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_MEDIA).build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
@ -58,7 +58,7 @@ public final class DefaultMediaSourceFactoryTest {
Object tag = new Object();
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_MEDIA).setTag(tag).build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_MEDIA).setTag(tag).build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
@ -69,7 +69,7 @@ public final class DefaultMediaSourceFactoryTest {
public void createMediaSource_withPath_progressiveSource() {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_MEDIA + "/file.mp3").build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_MEDIA + "/file.mp3").build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
@ -80,7 +80,7 @@ public final class DefaultMediaSourceFactoryTest {
public void createMediaSource_withNull_usesNonNullDefaults() {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_MEDIA).build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_MEDIA).build();
MediaSource mediaSource =
defaultMediaSourceFactory
@ -101,8 +101,7 @@ public final class DefaultMediaSourceFactoryTest {
new MediaItem.Subtitle(Uri.parse(URI_TEXT), MimeTypes.APPLICATION_TTML, "en"),
new MediaItem.Subtitle(
Uri.parse(URI_TEXT), MimeTypes.APPLICATION_TTML, "de", C.SELECTION_FLAG_DEFAULT));
MediaItem mediaItem =
new MediaItem.Builder().setSourceUri(URI_MEDIA).setSubtitles(subtitles).build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_MEDIA).setSubtitles(subtitles).build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
@ -117,7 +116,7 @@ public final class DefaultMediaSourceFactoryTest {
MediaItem mediaItem =
new MediaItem.Builder()
.setTag(tag)
.setSourceUri(URI_MEDIA)
.setUri(URI_MEDIA)
.setSubtitles(
Collections.singletonList(
new MediaItem.Subtitle(Uri.parse(URI_TEXT), MimeTypes.APPLICATION_TTML, "en")))
@ -133,7 +132,7 @@ public final class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem =
new MediaItem.Builder().setSourceUri(URI_MEDIA).setClipStartPositionMs(1000L).build();
new MediaItem.Builder().setUri(URI_MEDIA).setClipStartPositionMs(1000L).build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
@ -145,7 +144,7 @@ public final class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem =
new MediaItem.Builder().setSourceUri(URI_MEDIA).setClipEndPositionMs(1000L).build();
new MediaItem.Builder().setUri(URI_MEDIA).setClipEndPositionMs(1000L).build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
@ -157,10 +156,7 @@ public final class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem =
new MediaItem.Builder()
.setSourceUri(URI_MEDIA)
.setClipRelativeToDefaultPosition(true)
.build();
new MediaItem.Builder().setUri(URI_MEDIA).setClipRelativeToDefaultPosition(true).build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
@ -173,7 +169,7 @@ public final class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem =
new MediaItem.Builder()
.setSourceUri(URI_MEDIA)
.setUri(URI_MEDIA)
.setClipEndPositionMs(C.TIME_END_OF_SOURCE)
.build();
@ -195,8 +191,7 @@ public final class DefaultMediaSourceFactoryTest {
public void createMediaSource_withAdTagUri_callsAdsLoader() {
Context applicationContext = ApplicationProvider.getApplicationContext();
Uri adTagUri = Uri.parse(URI_MEDIA);
MediaItem mediaItem =
new MediaItem.Builder().setSourceUri(URI_MEDIA).setAdTagUri(adTagUri).build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_MEDIA).setAdTagUri(adTagUri).build();
DefaultMediaSourceFactory defaultMediaSourceFactory =
new DefaultMediaSourceFactory(
applicationContext,
@ -212,7 +207,7 @@ public final class DefaultMediaSourceFactoryTest {
public void createMediaSource_withAdTagUriAdsLoaderNull_playsWithoutAdNoException() {
Context applicationContext = ApplicationProvider.getApplicationContext();
MediaItem mediaItem =
new MediaItem.Builder().setSourceUri(URI_MEDIA).setAdTagUri(Uri.parse(URI_MEDIA)).build();
new MediaItem.Builder().setUri(URI_MEDIA).setAdTagUri(Uri.parse(URI_MEDIA)).build();
DefaultMediaSourceFactory defaultMediaSourceFactory =
new DefaultMediaSourceFactory(
applicationContext,
@ -228,7 +223,7 @@ public final class DefaultMediaSourceFactoryTest {
public void createMediaSource_withAdTagUriProvidersNull_playsWithoutAdNoException() {
Context applicationContext = ApplicationProvider.getApplicationContext();
MediaItem mediaItem =
new MediaItem.Builder().setSourceUri(URI_MEDIA).setAdTagUri(Uri.parse(URI_MEDIA)).build();
new MediaItem.Builder().setUri(URI_MEDIA).setAdTagUri(Uri.parse(URI_MEDIA)).build();
MediaSource mediaSource =
DefaultMediaSourceFactory.newInstance(applicationContext).createMediaSource(mediaItem);

View File

@ -313,7 +313,7 @@ public final class DashMediaSource extends BaseMediaSource {
@Deprecated
@Override
public DashMediaSource createMediaSource(Uri uri) {
return createMediaSource(new MediaItem.Builder().setSourceUri(uri).build());
return createMediaSource(new MediaItem.Builder().setUri(uri).build());
}
/**
@ -339,7 +339,7 @@ public final class DashMediaSource extends BaseMediaSource {
}
return new DashMediaSource(
/* manifest= */ null,
mediaItem.playbackProperties.sourceUri,
mediaItem.playbackProperties.uri,
manifestDataSourceFactory,
manifestParser,
chunkSourceFactory,

View File

@ -38,10 +38,7 @@ public class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem =
new MediaItem.Builder()
.setSourceUri(URI_MEDIA)
.setMimeType(MimeTypes.APPLICATION_MPD)
.build();
new MediaItem.Builder().setUri(URI_MEDIA).setMimeType(MimeTypes.APPLICATION_MPD).build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
@ -55,7 +52,7 @@ public class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem =
new MediaItem.Builder()
.setSourceUri(URI_MEDIA)
.setUri(URI_MEDIA)
.setMimeType(MimeTypes.APPLICATION_MPD)
.setTag(tag)
.build();
@ -69,7 +66,7 @@ public class DefaultMediaSourceFactoryTest {
public void createMediaSource_withPath_dashSource() {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_MEDIA + "/file.mpd").build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_MEDIA + "/file.mpd").build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
@ -80,7 +77,7 @@ public class DefaultMediaSourceFactoryTest {
public void createMediaSource_withNull_usesNonNullDefaults() {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_MEDIA + "/file.mpd").build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_MEDIA + "/file.mpd").build();
MediaSource mediaSource =
defaultMediaSourceFactory

View File

@ -332,7 +332,7 @@ public final class HlsMediaSource extends BaseMediaSource
@Deprecated
@Override
public HlsMediaSource createMediaSource(Uri uri) {
return createMediaSource(new MediaItem.Builder().setSourceUri(uri).build());
return createMediaSource(new MediaItem.Builder().setUri(uri).build());
}
/**
@ -355,7 +355,7 @@ public final class HlsMediaSource extends BaseMediaSource
new FilteringHlsPlaylistParserFactory(playlistParserFactory, streamKeys);
}
return new HlsMediaSource(
mediaItem.playbackProperties.sourceUri,
mediaItem.playbackProperties.uri,
hlsDataSourceFactory,
extractorFactory,
compositeSequenceableLoaderFactory,

View File

@ -38,10 +38,7 @@ public class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem =
new MediaItem.Builder()
.setSourceUri(URI_MEDIA)
.setMimeType(MimeTypes.APPLICATION_M3U8)
.build();
new MediaItem.Builder().setUri(URI_MEDIA).setMimeType(MimeTypes.APPLICATION_M3U8).build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
@ -55,7 +52,7 @@ public class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem =
new MediaItem.Builder()
.setSourceUri(URI_MEDIA)
.setUri(URI_MEDIA)
.setMimeType(MimeTypes.APPLICATION_M3U8)
.setTag(tag)
.build();
@ -69,7 +66,7 @@ public class DefaultMediaSourceFactoryTest {
public void createMediaSource_withPath_hlsSource() {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_MEDIA + "/file.m3u8").build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_MEDIA + "/file.m3u8").build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
@ -80,7 +77,7 @@ public class DefaultMediaSourceFactoryTest {
public void createMediaSource_withNull_usesNonNullDefaults() {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_MEDIA + "/file.m3u8").build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_MEDIA + "/file.m3u8").build();
MediaSource mediaSource =
defaultMediaSourceFactory

View File

@ -223,7 +223,7 @@ public final class SsMediaSource extends BaseMediaSource
@Deprecated
@Override
public SsMediaSource createMediaSource(Uri uri) {
return createMediaSource(new MediaItem.Builder().setSourceUri(uri).build());
return createMediaSource(new MediaItem.Builder().setUri(uri).build());
}
/**
@ -307,7 +307,7 @@ public final class SsMediaSource extends BaseMediaSource
}
return new SsMediaSource(
/* manifest= */ null,
mediaItem.playbackProperties.sourceUri,
mediaItem.playbackProperties.uri,
manifestDataSourceFactory,
manifestParser,
chunkSourceFactory,

View File

@ -40,10 +40,7 @@ public class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem =
new MediaItem.Builder()
.setSourceUri(URI_MEDIA)
.setMimeType(MimeTypes.APPLICATION_SS)
.build();
new MediaItem.Builder().setUri(URI_MEDIA).setMimeType(MimeTypes.APPLICATION_SS).build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
assertThat(mediaSource).isInstanceOf(SsMediaSource.class);
}
@ -55,7 +52,7 @@ public class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem =
new MediaItem.Builder()
.setSourceUri(URI_MEDIA)
.setUri(URI_MEDIA)
.setMimeType(MimeTypes.APPLICATION_SS)
.setTag(tag)
.build();
@ -69,7 +66,7 @@ public class DefaultMediaSourceFactoryTest {
public void createMediaSource_withIsmPath_smoothstreamingSource() {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_MEDIA + "/file.ism").build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_MEDIA + "/file.ism").build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
@ -80,7 +77,7 @@ public class DefaultMediaSourceFactoryTest {
public void createMediaSource_withManifestPath_smoothstreamingSource() {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_MEDIA + ".ism/Manifest").build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_MEDIA + ".ism/Manifest").build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
@ -91,7 +88,7 @@ public class DefaultMediaSourceFactoryTest {
public void createMediaSource_withNull_usesNonNullDefaults() {
DefaultMediaSourceFactory defaultMediaSourceFactory =
DefaultMediaSourceFactory.newInstance(ApplicationProvider.getApplicationContext());
MediaItem mediaItem = new MediaItem.Builder().setSourceUri(URI_MEDIA + "/file.ism").build();
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_MEDIA + "/file.ism").build();
MediaSource mediaSource =
defaultMediaSourceFactory