Class: shaka.msf.draft20.MessageWriter

Constructor

new MessageWriter()

Source:

Methods

createNestedWriter() → {shaka.msf.draft20.MessageWriter}

A writer of this draft for a parameter list nested inside another, as FILL_PARAMETERS carries.
Source:
Returns:
Type
shaka.msf.draft20.MessageWriter

fillCurrentGroupParam()

Draft-20 removed the Joining FETCH. A subscriber joins at the current Group with FILL_PARAMETERS instead: its LOCATION_FILTER, evaluated like a FETCH's, selects the Groups to fill, and StartGroup alone is relative to the Next Group, so 1 is the current one (draft-20 section 5.1.6). The publisher delivers them on a fill fetch stream whose FETCH_HEADER carries the SUBSCRIBE's Request ID. The value is a Parameter list of its own, counted and delta encoded like the one around it.
Source:

locationFilterParam()

Draft-20 replaced the Filter Type with a field count: the number of var ints in the LOCATION_FILTER value is what says which fields are present, and two of them are a Start Group and a Start Object, absolute and open-ended (draft-20 section 9.20.10). That is the same request draft-18 spells as AbsoluteStart, so only the encoding changes here. The one reading that is not absolute is two zeroed fields, which mean the Next Object instead; callers ask for {0, 0} by sending no filter at all, so it cannot arrive here.
Source:

locationFilterValue(fieldsnon-null) → {Uint8Array}

The value of a LOCATION_FILTER holding these fields. In draft-20 that is the fields alone: the parameter's length says how many there are.
Parameters:
Name Type Description
fields Array<bigint>
Source:
Returns:
Type
Uint8Array

marshalFetch()

Draft-20 removed the Fetch Type field along with the Joining variants, and moved the range out of the message and into the LOCATION_FILTER parameter, leaving a body shaped exactly like SUBSCRIBE. The range asked for is the same one draft-18 puts in the message, so it goes out as a filter rather than being dropped: an absent LOCATION_FILTER means an unfiltered fetch of the whole track (draft-20 section 10.2.9), which is a different request.
Source:

marshalJoiningFetch()

Draft-20 has no Joining FETCH; fillCurrentGroupParam() is what joins.
Source: