From dbec03b5435f446bfb4ddd9fa9c5771d21b31748 Mon Sep 17 00:00:00 2001 From: kimvde Date: Fri, 26 Nov 2021 12:23:38 +0000 Subject: [PATCH] Fix inconsistency with spec in H.265 SPS nal units parsing Issue: google/ExoPlayer#9719 #minor-release PiperOrigin-RevId: 412424558 --- RELEASENOTES.md | 3 +++ .../java/com/google/android/exoplayer2/util/NalUnitUtil.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index bb68a80e80..b317217030 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -5,6 +5,9 @@ * Core library: * Support preferred video role flags in track selection ((#9402)[https://github.com/google/ExoPlayer/issues/9402]). +* Extractors: + * Fix inconsistency with spec in H.265 SPS nal units parsing + ((#9719)[https://github.com/google/ExoPlayer/issues/9719]). * DRM: * Remove `playbackLooper` from `DrmSessionManager.(pre)acquireSession`. When a `DrmSessionManager` is used by an app in a custom `MediaSource`, diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/util/NalUnitUtil.java b/library/extractor/src/main/java/com/google/android/exoplayer2/util/NalUnitUtil.java index f53cee7254..44014bda8e 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/util/NalUnitUtil.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/util/NalUnitUtil.java @@ -779,7 +779,7 @@ public final class NalUnitUtil { bitArray.skipBit(); // delta_rps_sign bitArray.readUnsignedExpGolombCodedInt(); // abs_delta_rps_minus1 for (int j = 0; j <= previousNumDeltaPocs; j++) { - if (bitArray.readBit()) { // used_by_curr_pic_flag[j] + if (!bitArray.readBit()) { // used_by_curr_pic_flag[j] bitArray.skipBit(); // use_delta_flag[j] } }