Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @SuppressLint("SwitchIntDef")
- private MediaSource buildMediaSource(Uri uri, DefaultDataSource.Factory dataSourceFactory) {
- MediaItem mMediaItem = MediaItem.fromUri(Uri.parse(String.valueOf(uri)));
- int type = TextUtils.isEmpty(null) ? Util.inferContentType(uri) : Util.inferContentType("." + null);
- switch (type) {
- case C.TYPE_DASH:
- return new DashMediaSource.Factory(dataSourceFactory)
- .createMediaSource(mMediaItem);
- case C.TYPE_HLS:
- return new HlsMediaSource.Factory(dataSourceFactory)
- .setAllowChunklessPreparation(true)
- .createMediaSource(mMediaItem);
- case C.TYPE_OTHER:
- if (uri.toString().contains(".m3u8")) {
- return new HlsMediaSource.Factory(dataSourceFactory)
- .setAllowChunklessPreparation(true)
- .createMediaSource(mMediaItem);
- } else {
- return new ProgressiveMediaSource.Factory(dataSourceFactory, new DefaultExtractorsFactory())
- .createMediaSource(mMediaItem);
- }
- case C.TYPE_RTSP:
- return new RtspMediaSource.Factory()
- .createMediaSource(MediaItem.fromUri(uri));
- default: {
- throw new IllegalStateException("Unsupported type: " + type);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement