mirror of
https://github.com/androidx/media.git
synced 2025-05-06 23:20:42 +08:00
HLS: Fix issue where new init segment would not be loaded
Issue: #9004 PiperOrigin-RevId: 379516815
This commit is contained in:
parent
08dbfd5c5a
commit
c269a62fe0
@ -19,6 +19,11 @@
|
|||||||
is set incorrectly
|
is set incorrectly
|
||||||
([#4083](https://github.com/google/ExoPlayer/issues/4083)). Such content
|
([#4083](https://github.com/google/ExoPlayer/issues/4083)). Such content
|
||||||
is malformed and should be re-encoded.
|
is malformed and should be re-encoded.
|
||||||
|
* HLS:
|
||||||
|
* Fix issue where a new initialization segment, as specified by an
|
||||||
|
`EXT-X-MAP` tag in a media playlist, would not be loaded when
|
||||||
|
encountered during playback
|
||||||
|
([#9004](https://github.com/google/ExoPlayer/issues/9004)).
|
||||||
* UI:
|
* UI:
|
||||||
* Add `PendingIntent.FLAG_IMMUTABLE` flag when creating a broadcast intent
|
* Add `PendingIntent.FLAG_IMMUTABLE` flag when creating a broadcast intent
|
||||||
in `PlayerNotificationManager`. This is required to avoid an error on
|
in `PlayerNotificationManager`. This is required to avoid an error on
|
||||||
|
@ -139,12 +139,19 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
|||||||
ParsableByteArray scratchId3Data;
|
ParsableByteArray scratchId3Data;
|
||||||
|
|
||||||
if (previousChunk != null) {
|
if (previousChunk != null) {
|
||||||
|
boolean isSameInitData =
|
||||||
|
initDataSpec == previousChunk.initDataSpec
|
||||||
|
|| (initDataSpec != null
|
||||||
|
&& previousChunk.initDataSpec != null
|
||||||
|
&& initDataSpec.uri.equals(previousChunk.initDataSpec.uri)
|
||||||
|
&& initDataSpec.position == previousChunk.initDataSpec.position);
|
||||||
boolean isFollowingChunk =
|
boolean isFollowingChunk =
|
||||||
playlistUrl.equals(previousChunk.playlistUrl) && previousChunk.loadCompleted;
|
playlistUrl.equals(previousChunk.playlistUrl) && previousChunk.loadCompleted;
|
||||||
id3Decoder = previousChunk.id3Decoder;
|
id3Decoder = previousChunk.id3Decoder;
|
||||||
scratchId3Data = previousChunk.scratchId3Data;
|
scratchId3Data = previousChunk.scratchId3Data;
|
||||||
previousExtractor =
|
previousExtractor =
|
||||||
isFollowingChunk
|
isSameInitData
|
||||||
|
&& isFollowingChunk
|
||||||
&& !previousChunk.extractorInvalidated
|
&& !previousChunk.extractorInvalidated
|
||||||
&& previousChunk.discontinuitySequenceNumber == discontinuitySequenceNumber
|
&& previousChunk.discontinuitySequenceNumber == discontinuitySequenceNumber
|
||||||
? previousChunk.extractor
|
? previousChunk.extractor
|
||||||
|
Loading…
x
Reference in New Issue
Block a user