template <typename BuilderImpl>

class WireTableBaseBuilder

Defined at line 1392 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/wire_types.h

Public Methods

::fuchsia_media::wire::EncryptedFormat Build ()

Build and return the table. The builder should not be used after this.

bool has_init_vector ()
void clear_init_vector ()

Clears the init_vector field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView<uint8_t> & init_vector ()

`init_vector` is used in combination with a key and a block of content

to create the first cipher block in a chain and derive subsequent cipher

blocks in a cipher block chain.

Usage:

- It is required to be set prior to the delivery of input packets to a

decryptor.

- This may be changed multiple times during a data stream.

BuilderImpl & init_vector (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView<uint8_t>>> elem)

`init_vector` is used in combination with a key and a block of content

to create the first cipher block in a chain and derive subsequent cipher

blocks in a cipher block chain.

Usage:

- It is required to be set prior to the delivery of input packets to a

decryptor.

- This may be changed multiple times during a data stream.

bool has_subsamples ()
void clear_subsamples ()

Clears the subsamples field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView< ::fuchsia_media::wire::SubsampleEntry> & subsamples ()

`subsamples` is used to identify the clear and encrypted portions of a

subsample.

Usage:

- For whole sample encryption, this parameter should not be sent.

- This may be changed multiple times during a data stream.

BuilderImpl & subsamples (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_media::wire::SubsampleEntry>>> elem)

`subsamples` is used to identify the clear and encrypted portions of a

subsample.

Usage:

- For whole sample encryption, this parameter should not be sent.

- This may be changed multiple times during a data stream.

bool has_pattern ()
void clear_pattern ()

Clears the pattern field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_media::wire::EncryptionPattern & pattern ()

`pattern` is used to identify the clear and encrypted blocks for pattern

based encryption.

Usage:

- This is not allowed for CENC and CBC1 and required for CENS and CBCS.

- If required, it must be set prior to the delivery of input packets to

a decryptor.

- This may be changed multiple times during a data stream.

BuilderImpl & pattern (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_media::wire::EncryptionPattern>> elem)

`pattern` is used to identify the clear and encrypted blocks for pattern

based encryption.

Usage:

- This is not allowed for CENC and CBC1 and required for CENS and CBCS.

- If required, it must be set prior to the delivery of input packets to

a decryptor.

- This may be changed multiple times during a data stream.

bool has_scheme ()
void clear_scheme ()

Clears the scheme field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::StringView & scheme ()

`scheme` specifies which encryption scheme to use, such as

`fuchsia.media.ENCRYPTION_SCHEME_CENC`.

Usage:

- It is required to be set prior to delivery of input packets.

- Changing the scheme mid-stream is only permitted in some scenarios.

Once an encrypted scheme is selected for a stream, the scheme may

only be set to `fuchsia.media.ENCRYPTION_SCHEME_UNENCRYPTED` or that

same initial encrypted scheme. The scheme may be set to

`fuchsia.media.ENCRYPTION_SCHEME_UNENCRYPTED` at any point.

BuilderImpl & scheme (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)

`scheme` specifies which encryption scheme to use, such as

`fuchsia.media.ENCRYPTION_SCHEME_CENC`.

Usage:

- It is required to be set prior to delivery of input packets.

- Changing the scheme mid-stream is only permitted in some scenarios.

Once an encrypted scheme is selected for a stream, the scheme may

only be set to `fuchsia.media.ENCRYPTION_SCHEME_UNENCRYPTED` or that

same initial encrypted scheme. The scheme may be set to

`fuchsia.media.ENCRYPTION_SCHEME_UNENCRYPTED` at any point.

bool has_key_id ()
void clear_key_id ()

Clears the key_id field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView<uint8_t> & key_id ()

`key_id` identifies the key that should be used for decrypting

subsequent data.

Usage:

- It is required to be set prior to delivery of input packets to a

decryptor.

- This may be changed multiple times during a data stream.

BuilderImpl & key_id (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView<uint8_t>>> elem)

`key_id` identifies the key that should be used for decrypting

subsequent data.

Usage:

- It is required to be set prior to delivery of input packets to a

decryptor.

- This may be changed multiple times during a data stream.

Protected Methods

void WireTableBaseBuilder< ::fuchsia_media::wire::EncryptedFormat, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_media::wire::EncryptedFormat>> && frame)

Records