Apple HLS stack supports switching to failover/backup streams if it cannot retrieve any streams of the primary set. For Apple HLS devices, to facilitate failover, you can signal manifest server to treat primary and failover streams identified in the master playlist as disjoined sets (with their own UUIDs).
To facilitate switching to failover or backup streams on Apple HLS devices, you can specify the
ptfailover parameter in the Bootstrap URL. If you provide this parameter, manifest server will create separate playback sessions (which determine the ads stitched) for each failover set.
How SSAI Handles HLS switching to failover/backup when you include
ptfailover=true in the Bootstrap request:
When a master playlist contains primary and backup sets:
BANDWIDTHattribute and the parse order of AV stream URLs. It creates separate internal playback sessions (identified by separate UUIDs), and creates stream URLs pointing to manifest servers with the different UUIDs identifying different playback sessions.
RESOLUTIONattribute and the parse order of I-Frame stream URLs. SSAI uses the UUIDs identifying the associated AV streams for I-Frame stream URLs pointing to SSAI.
EXT-X-MEDIAgroups without URI attributes in the master playlist.
X-Object-Too-Old: trueheader, and preserves the status code and the header when sending that response to the player.
Pre-roll ads are only added to the primary set; they are completely disabled in the failover sets to avoid any erroneous and/or duplicated pre-roll ads when the player switches to failover streams.