Skip to content

Commit f08db95

Browse files
authored
fix: detect access units for YouTube HLS AVC1 (InfinityLoop1308#24)
1 parent 3250ef9 commit f08db95

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

app/src/main/java/org/schabi/newpipe/player/helper/PlayerDataSource.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@
99
import com.google.android.exoplayer2.source.dash.DashMediaSource;
1010
import com.google.android.exoplayer2.source.dash.DefaultDashChunkSource;
1111
import com.google.android.exoplayer2.source.hls.HlsMediaSource;
12+
import com.google.android.exoplayer2.source.hls.DefaultHlsExtractorFactory;
1213
import com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker;
1314
import com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource;
1415
import com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource;
16+
import com.google.android.exoplayer2.extractor.ts.DefaultTsPayloadReaderFactory;
1517
import com.google.android.exoplayer2.upstream.DataSource;
1618
import com.google.android.exoplayer2.upstream.DefaultDataSource;
1719
import com.google.android.exoplayer2.upstream.DefaultHttpDataSource;
@@ -183,7 +185,9 @@ public DashMediaSource.Factory getYoutubeDashMediaSourceFactory() {
183185
public HlsMediaSource.Factory getYoutubeHlsMediaSourceFactory() {
184186
cacheDataSourceFactoryBuilder.setUpstreamDataSourceFactory(
185187
getYoutubeHttpDataSourceFactory(false, false));
186-
return new HlsMediaSource.Factory(cacheDataSourceFactoryBuilder.build());
188+
final int payloadReaderFlags = DefaultTsPayloadReaderFactory.FLAG_DETECT_ACCESS_UNITS;
189+
return new HlsMediaSource.Factory(cacheDataSourceFactoryBuilder.build())
190+
.setExtractorFactory(new DefaultHlsExtractorFactory(payloadReaderFlags, true));
187191
}
188192

189193
public ProgressiveMediaSource.Factory getYoutubeProgressiveMediaSourceFactory() {

0 commit comments

Comments
 (0)