v0.4: STAP-A IDR detection in keyframe cache #18

Closed
opened 2026-05-10 13:18:14 -04:00 by zgaetano · 0 comments
Owner

Implemented in commits 8266ca7 (production) and 38d75b1 (tests).

isH264IDRStart now handles all three RFC 6184 packetisation modes:

  • Single NAL (type 5) — existing
  • FU-A start (type 28, start bit, inner type 5) — existing
  • STAP-A (type 24): len(p) >= 4 && p[3]&0x1F == 5 — new

Four new test functions: TestIsH264IDRStart_STAPA_LeadingIDR, TestIsH264IDRStart_STAPA_LeadingNonIDR, TestIsH264IDRStart_STAPA_Truncated (3 subtests), TestKeyFrameCache_STAPA_IDR_ResetsCache. All 38 tests in core/webrtc pass under -race.

Implemented in commits `8266ca7` (production) and `38d75b1` (tests). `isH264IDRStart` now handles all three RFC 6184 packetisation modes: - Single NAL (type 5) — existing - FU-A start (type 28, start bit, inner type 5) — existing - **STAP-A (type 24): `len(p) >= 4 && p[3]&0x1F == 5`** — new Four new test functions: `TestIsH264IDRStart_STAPA_LeadingIDR`, `TestIsH264IDRStart_STAPA_LeadingNonIDR`, `TestIsH264IDRStart_STAPA_Truncated` (3 subtests), `TestKeyFrameCache_STAPA_IDR_ResetsCache`. All 38 tests in `core/webrtc` pass under `-race`.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: zgaetano/datarhei-dragonfork-core#18
No description provided.