Add useful DownloadRequest to MediaItem conversion method
PiperOrigin-RevId: 329722775
This commit is contained in:
parent
b5a4dc8f36
commit
fe2fc8b73f
@ -550,17 +550,7 @@ public class PlayerActivity extends AppCompatActivity
|
|||||||
@Nullable
|
@Nullable
|
||||||
DownloadRequest downloadRequest =
|
DownloadRequest downloadRequest =
|
||||||
downloadTracker.getDownloadRequest(checkNotNull(item.playbackProperties).uri);
|
downloadTracker.getDownloadRequest(checkNotNull(item.playbackProperties).uri);
|
||||||
if (downloadRequest != null) {
|
mediaItems.add(downloadRequest != null ? downloadRequest.toMediaItem() : item);
|
||||||
MediaItem mediaItem =
|
|
||||||
item.buildUpon()
|
|
||||||
.setStreamKeys(downloadRequest.streamKeys)
|
|
||||||
.setCustomCacheKey(downloadRequest.customCacheKey)
|
|
||||||
.setDrmKeySetId(downloadRequest.keySetId)
|
|
||||||
.build();
|
|
||||||
mediaItems.add(mediaItem);
|
|
||||||
} else {
|
|
||||||
mediaItems.add(item);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return mediaItems;
|
return mediaItems;
|
||||||
}
|
}
|
||||||
|
@ -448,14 +448,7 @@ public final class DownloadHelper {
|
|||||||
DataSource.Factory dataSourceFactory,
|
DataSource.Factory dataSourceFactory,
|
||||||
@Nullable DrmSessionManager drmSessionManager) {
|
@Nullable DrmSessionManager drmSessionManager) {
|
||||||
return createMediaSourceInternal(
|
return createMediaSourceInternal(
|
||||||
new MediaItem.Builder()
|
downloadRequest.toMediaItem(), dataSourceFactory, drmSessionManager);
|
||||||
.setUri(downloadRequest.uri)
|
|
||||||
.setCustomCacheKey(downloadRequest.customCacheKey)
|
|
||||||
.setMimeType(downloadRequest.mimeType)
|
|
||||||
.setStreamKeys(downloadRequest.streamKeys)
|
|
||||||
.build(),
|
|
||||||
dataSourceFactory,
|
|
||||||
drmSessionManager);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private final MediaItem.PlaybackProperties playbackProperties;
|
private final MediaItem.PlaybackProperties playbackProperties;
|
||||||
|
@ -22,6 +22,7 @@ import android.os.Parcel;
|
|||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import com.google.android.exoplayer2.C;
|
import com.google.android.exoplayer2.C;
|
||||||
|
import com.google.android.exoplayer2.MediaItem;
|
||||||
import com.google.android.exoplayer2.util.Assertions;
|
import com.google.android.exoplayer2.util.Assertions;
|
||||||
import com.google.android.exoplayer2.util.Util;
|
import com.google.android.exoplayer2.util.Util;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
@ -220,6 +221,18 @@ public final class DownloadRequest implements Parcelable {
|
|||||||
newRequest.data);
|
newRequest.data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Returns a {@link MediaItem} for the content defined by the request. */
|
||||||
|
public MediaItem toMediaItem() {
|
||||||
|
return new MediaItem.Builder()
|
||||||
|
.setMediaId(id)
|
||||||
|
.setUri(uri)
|
||||||
|
.setCustomCacheKey(customCacheKey)
|
||||||
|
.setMimeType(mimeType)
|
||||||
|
.setStreamKeys(streamKeys)
|
||||||
|
.setDrmKeySetId(keySetId)
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return mimeType + ":" + id;
|
return mimeType + ":" + id;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user