diff --git a/app/src/main/java/org/nuclearfog/twidda/ui/activities/VideoViewer.java b/app/src/main/java/org/nuclearfog/twidda/ui/activities/VideoViewer.java index c3541837..28c738f0 100644 --- a/app/src/main/java/org/nuclearfog/twidda/ui/activities/VideoViewer.java +++ b/app/src/main/java/org/nuclearfog/twidda/ui/activities/VideoViewer.java @@ -7,6 +7,7 @@ import android.content.res.Configuration; import android.graphics.Color; import android.net.Uri; import android.os.Bundle; +import android.os.Handler; import android.view.Menu; import android.view.MenuItem; import android.view.View; @@ -22,16 +23,25 @@ import com.google.android.exoplayer2.ExoPlayer; import com.google.android.exoplayer2.MediaItem; import com.google.android.exoplayer2.PlaybackException; import com.google.android.exoplayer2.Player; +import com.google.android.exoplayer2.Renderer; +import com.google.android.exoplayer2.RenderersFactory; +import com.google.android.exoplayer2.audio.AudioRendererEventListener; +import com.google.android.exoplayer2.audio.MediaCodecAudioRenderer; import com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource; import com.google.android.exoplayer2.extractor.Extractor; import com.google.android.exoplayer2.extractor.ExtractorsFactory; import com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor; import com.google.android.exoplayer2.extractor.mp4.Mp4Extractor; +import com.google.android.exoplayer2.mediacodec.MediaCodecSelector; +import com.google.android.exoplayer2.metadata.MetadataOutput; import com.google.android.exoplayer2.source.MediaSource; import com.google.android.exoplayer2.source.ProgressiveMediaSource; +import com.google.android.exoplayer2.text.TextOutput; import com.google.android.exoplayer2.ui.StyledPlayerView; import com.google.android.exoplayer2.upstream.ContentDataSource; import com.google.android.exoplayer2.upstream.DataSource; +import com.google.android.exoplayer2.video.MediaCodecVideoRenderer; +import com.google.android.exoplayer2.video.VideoRendererEventListener; import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.backend.utils.AppStyles; @@ -81,12 +91,22 @@ public class VideoViewer extends AppCompatActivity implements Player.Listener { StyledPlayerView playerView = findViewById(R.id.page_video_player); toolbar = findViewById(R.id.page_video_toolbar); - player = new ExoPlayer.Builder(this).build(); - player.addListener(this); - toolbar.setTitle(""); setSupportActionBar(toolbar); + RenderersFactory renderersFactory = new RenderersFactory() { + @Override + public Renderer[] createRenderers(Handler eventHandler, VideoRendererEventListener videoRendererEventListener, + AudioRendererEventListener audioRendererEventListener, TextOutput textRendererOutput, MetadataOutput metadataRendererOutput) { + return new Renderer[] { + new MediaCodecVideoRenderer(getApplicationContext(), MediaCodecSelector.DEFAULT, 0L, eventHandler, videoRendererEventListener, 4), + new MediaCodecAudioRenderer(getApplicationContext(), MediaCodecSelector.DEFAULT, eventHandler, audioRendererEventListener) + }; + } + }; + player = new ExoPlayer.Builder(this, renderersFactory).build(); + player.addListener(this); + data = getIntent().getParcelableExtra(VIDEO_URI); boolean enableControls = getIntent().getBooleanExtra(ENABLE_VIDEO_CONTROLS, true); if (!enableControls) {