Gaps, colour and moving images

iCouldPlay HLS gap inspection: a GAP tag is not black video

Build a three-segment timeline and distinguish a declared missing segment from duration removal, black frames and observed errors.

English translation of the Chinese original, translated on . Original publication dates, attribution, code and version notes are retained.

Inspect a playlist’s declaration about missing media without deleting segments. Read a specific public work-in-progress draft, inspect an original three-entry excerpt and separately document real sources. Example names host no media and establish no playback or automatic repair; black output alone cannot prove a GAP tag.

1. Fix the exact reference version

Use HTTP Live Streaming second-edition draft 22. It is work in progress dated May 1, 2026 with a November 2 expiry stated in its text, not a newly published RFC or a tag in old RFC 8216. Retain version/access date and separate document status, format semantics and actual implementation.

2. Retain real playlist provenance

Inspect authorized copies and record URL, time, source and media availability. Without real files, use the excerpt and mark actual fields unavailable rather than guessing from a player error. Filenames distinguish positions; “missing” in a filename is not the tag. Do not overwrite server files, delete sources or diagnose networking by repeatedly requesting nonexistent teaching URLs.

3. Attach the tag only to the next segment

In this excerpt GAP applies to the next segment, missing.ts: the draft describes no media data and says clients should not load it. Draw one arrow, neither backward to a.ts nor indefinitely forward. A declaration does not establish a server response or an encoded black clip. Keep tag semantics and actual object evidence separate.

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXTINF:4.0,
a.ts
#EXTINF:4.0,
#EXT-X-GAP
missing.ts
#EXTINF:4.0,
c.ts
#EXT-X-ENDLIST

4. Retain the declared twelve-second ledger

Draw 0–4, 4–8 and 8–12, marking the middle declared gap. The listed EXTINF sum remains twelve seconds. This ledger does not promise a UI duration or a fixed wait/skip/display response. Deleting four seconds and retiming later content creates a different edited model. Keep relative timing, segment identity and availability separate.

5. Compare the concept of encoded black video

An actually encoded four-second black clip contains media and may contain sound, unlike the declaration about missing media. This is a conceptual control, not a supplied playback experiment. For real black output, record timing, sound and source without inferring GAP. Neither the tag nor filename edits promise black rendering or create absent media bytes.

6. Record reproducible iCouldPlay observations

Play a real source from an available point before the suspected gap and record visible timing, sound, waits/errors and recognizable later content. Without the playlist, describe observations only. Public notes do not certify every draft extension, and one result is not comprehensive compatibility. Retain available media/fallbacks and report established entries rather than promising reconstruction of absent content.

7. Separate declared gaps from request failures

A failed request without GAP remains a request result; adding a tag afterward does not establish original evidence. Recheck next-segment scope and duration arithmetic separately from UI progress. Correct one reading at a time and retain originals. Save updated sources with new acquisition times instead of combining different sessions or changing remote configuration without authority.

8. Reopen an available source and deliver limits

Reopen an owned complete source and ensure the teaching excerpt has not replaced daily media. Deliver reference version, ledger, scope arrow, black-frame comparison and observation status. Distinguish declared missing media, encoded black images and failed requests. Reinspect new playlists and keep unperformed device/resource/deployment checks unresolved.

Regular segment ledger, I-frame playlists.

Checked on November 14, 2026 against the official iCouldPlay App Store listing and Apple public lookup: version 1.1.1, requiring iOS / iPadOS 15.0 or later. The public 1.1.1 release notes list Kodi, OpenList / AList and S3-compatible storage, with improvements to source switching and captions after seeking. The tasks use this public scope and existing playback capabilities. Check controls in your installed version. Self-made samples, manual records and external file preparation are workflows, not newly promised automatic features. No physical-device or private-server test is claimed.