From e475348d3912b917ca22c735dac8fff3bea9370c Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 29 Dec 2020 09:55:15 +0100 Subject: [PATCH] Some fixes --- .../fedilab/fedilabtube/PeertubeActivity.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/app/fedilab/fedilabtube/PeertubeActivity.java b/app/src/main/java/app/fedilab/fedilabtube/PeertubeActivity.java index 6005620..c88164e 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/PeertubeActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/PeertubeActivity.java @@ -100,7 +100,9 @@ import com.google.android.exoplayer2.ui.AspectRatioFrameLayout; import com.google.android.exoplayer2.ui.DefaultTimeBar; import com.google.android.exoplayer2.ui.PlayerControlView; import com.google.android.exoplayer2.upstream.DataSource; +import com.google.android.exoplayer2.upstream.DataSpec; import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory; +import com.google.android.exoplayer2.upstream.FileDataSource; import com.google.android.exoplayer2.util.MimeTypes; import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.video.VideoListener; @@ -251,6 +253,7 @@ public class PeertubeActivity extends AppCompatActivity implements CommentListAd @Override public void onStreamProgress(Torrent torrent, StreamStatus status) { + } @Override @@ -1339,9 +1342,22 @@ public class PeertubeActivity extends AppCompatActivity implements CommentListAd ProgressiveMediaSource videoSource = null; HlsMediaSource hlsMediaSource = null; SingleSampleMediaSource subtitleSource = null; - if (video_cache == 0) { - DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(PeertubeActivity.this, - Util.getUserAgent(PeertubeActivity.this, null), null); + DataSource.Factory dataSourceFactory = null; + if (localTorrentUrl != null) { + DataSpec dataSpec = new DataSpec(Uri.fromFile(new java.io.File(localTorrentUrl))); + FileDataSource fileDataSource = new FileDataSource(); + try { + fileDataSource.open(dataSpec); + } catch (FileDataSource.FileDataSourceException e) { + e.printStackTrace(); + } + dataSourceFactory = () -> fileDataSource; + } + if (video_cache == 0 || dataSourceFactory != null) { + if (dataSourceFactory == null) { + dataSourceFactory = new DefaultDataSourceFactory(PeertubeActivity.this, + Util.getUserAgent(PeertubeActivity.this, null), null); + } if (subtitles != null) { MediaItem.Subtitle mediaSubtitle = new MediaItem.Subtitle(subtitles, MimeTypes.TEXT_VTT, lang);