|
|
|
|
@ -1,5 +1,9 @@ |
|
|
|
|
package com.fongmi.android.tv.player.exo; |
|
|
|
|
|
|
|
|
|
import static androidx.media3.extractor.ts.DefaultTsPayloadReaderFactory.FLAG_ALLOW_NON_IDR_KEYFRAMES; |
|
|
|
|
import static androidx.media3.extractor.ts.DefaultTsPayloadReaderFactory.FLAG_DETECT_ACCESS_UNITS; |
|
|
|
|
import static androidx.media3.extractor.ts.DefaultTsPayloadReaderFactory.FLAG_ENABLE_HDMV_DTS_AUDIO_STREAMS; |
|
|
|
|
|
|
|
|
|
import android.net.Uri; |
|
|
|
|
|
|
|
|
|
import androidx.annotation.NonNull; |
|
|
|
|
@ -17,7 +21,6 @@ import androidx.media3.exoplayer.source.MediaSource; |
|
|
|
|
import androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy; |
|
|
|
|
import androidx.media3.extractor.DefaultExtractorsFactory; |
|
|
|
|
import androidx.media3.extractor.ExtractorsFactory; |
|
|
|
|
import androidx.media3.extractor.ts.DefaultTsPayloadReaderFactory; |
|
|
|
|
import androidx.media3.extractor.ts.TsExtractor; |
|
|
|
|
|
|
|
|
|
import com.fongmi.android.tv.App; |
|
|
|
|
@ -82,7 +85,7 @@ public class MediaSourceFactory implements MediaSource.Factory { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private ExtractorsFactory getExtractorsFactory() { |
|
|
|
|
if (extractorsFactory == null) extractorsFactory = new DefaultExtractorsFactory().setTsExtractorFlags(DefaultTsPayloadReaderFactory.FLAG_DETECT_ACCESS_UNITS | DefaultTsPayloadReaderFactory.FLAG_ENABLE_HDMV_DTS_AUDIO_STREAMS).setTsExtractorTimestampSearchBytes(TsExtractor.DEFAULT_TIMESTAMP_SEARCH_BYTES * 3); |
|
|
|
|
if (extractorsFactory == null) extractorsFactory = new DefaultExtractorsFactory().setTsExtractorFlags(FLAG_ALLOW_NON_IDR_KEYFRAMES & FLAG_DETECT_ACCESS_UNITS & FLAG_ENABLE_HDMV_DTS_AUDIO_STREAMS).setTsExtractorTimestampSearchBytes(TsExtractor.DEFAULT_TIMESTAMP_SEARCH_BYTES * 3); |
|
|
|
|
return extractorsFactory; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|