Constructor
new MessageWriter(codecnon-null, initialSizeopt)
Parameters:
- Source:
Members
Parameter :number
The parameter types this player sends on a SUBSCRIBE or a FETCH.
Draft-20 renamed 0x21 from SUBSCRIPTION_FILTER to LOCATION_FILTER and
changed what its value holds, but the code point is the same in both, so
there is one constant rather than one per draft.
Type:
Properties:
| Name |
Value |
Type |
Description |
FORWARD |
16
|
number
|
|
SUBSCRIBER_PRIORITY |
32
|
number
|
|
LOCATION_FILTER |
33
|
number
|
|
- Source:
Methods
The Location range a FETCH covers, filling in the default the callers that
do not care rely on. Shared with draft-20, which carries the same range in
a parameter instead of in the message.
Parameters:
- Source:
Returns:
-
Type
-
{start: shaka.msf.Utils.Location, end: shaka.msf.Utils.Location}
encodeVarIntField(valuesnon-null) → {Uint8Array}
Encodes a sequence of var ints into a standalone byte field, for the
parameters whose value is itself a var int structure rather than a single
integer.
Parameters:
| Name |
Type |
Description |
values |
Array<bigint>
|
|
- Source:
Returns:
-
Type
-
Uint8Array
getBytes() → {Uint8Array}
- Source:
Returns:
-
Type
-
Uint8Array
The parameter that makes a SUBSCRIBE start at a given Location rather than
at the live edge, which is what seeking into already-published content
needs.
Draft-18 spells it SUBSCRIPTION_FILTER (0x21): a Filter Type followed by
the fields that type takes. AbsoluteStart takes a Start Location and no
end, so the subscription runs from there to the live edge and onwards, and
the draft says outright that the Start Location MAY be smaller than the
publisher's Largest Object (section 5.1.2). Draft-20 keeps the parameter
type and changes its contents, so the draft-20 writer overrides this.
Parameters:
- Source:
Returns:
-
Type
-
shaka.msf.Utils.KeyValuePair
A standalone FETCH. Start and End are Location structures rather than the
four loose var ints draft-16 used, and the range is a field of the message
rather than a parameter, which is what draft-20 changed.
The range is an inclusive pair of absolute Locations, so the zeroed pair
the caller may leave out asks for exactly the Object at {0, 0}, not for
the whole track. Draft-20 says the same thing with a LOCATION_FILTER.
Parameters:
- Source:
Returns:
-
Type
-
shaka.msf.draft18.MessageWriter
REQUEST_OK answers PUBLISH_NAMESPACE, SUBSCRIBE_NAMESPACE, TRACK_STATUS
and the rest. It carries no Request ID: it goes back on the request's own
bidirectional stream.
Parameters:
- Source:
Returns:
-
Type
-
shaka.msf.draft18.MessageWriter
Draft-17 collapsed CLIENT_SETUP and SERVER_SETUP into one message whose
payload is nothing but Setup Options, uncounted and bounded by the
message length.
Parameters:
- Source:
Returns:
-
Type
-
shaka.msf.draft18.MessageWriter
reset()
Resets the buffer to start writing from the beginning.
- Source:
writeKeyValuePairs(pairsnon-null)
Writes delta-encoded Key-Value-Pairs without a count prefix, which is how
Setup Options are framed: they span the whole message payload and are
bounded by the message length.
Parameters:
- Source:
writeLocation(location)
Parameters:
- Source:
writeNamespace(namespace)
A Track Namespace is a count of fields followed by each length-prefixed
field.
Parameters:
| Name |
Type |
Description |
namespace |
Array<string>
|
|
- Source:
writeParameters(pairs)
Writes a count-prefixed parameter list, which is how every message other
than SETUP frames its parameters.
Parameters:
- Source:
writeString(str)
Parameters:
| Name |
Type |
Description |
str |
string
|
|
- Source:
writeVarInt(value)
Parameters:
| Name |
Type |
Description |
value |
bigint
|
number
|
|
- Source: