class EncryptedFormat

Defined at line 6096 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

EncryptedFormat

The stream format details payload of a decrypting stream processor. This is

a sparsely populated table to specify parameters necessary for decryption

other than the data stream. It is only necessary to update fields if they

changed, but not an error if the same value is repeated.

Public Members

static const fidl_type_t * FidlType

Public Methods

bool IsEmpty ()

Returns whether no field is set.

EncryptedFormat & set_init_vector (::std::vector<uint8_t> _value)
EncryptedFormat & set_subsamples (::std::vector< ::fuchsia::media::SubsampleEntry> _value)
EncryptedFormat & set_pattern (::fuchsia::media::EncryptionPattern _value)
EncryptedFormat & set_scheme (::std::string _value)
EncryptedFormat & set_key_id (::std::vector<uint8_t> _value)
void EncryptedFormat ()
void EncryptedFormat (EncryptedFormat && other)
void ~EncryptedFormat ()
EncryptedFormat & operator= (EncryptedFormat && other)
::std::unique_ptr<EncryptedFormat> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, EncryptedFormat * _value, size_t _offset)
zx_status_t Clone (EncryptedFormat * _result)
const ::std::vector<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.

Defined at line 6109 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

bool has_init_vector ()

Defined at line 6113 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

::std::vector<uint8_t> * mutable_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.

Defined at line 6124 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

void clear_init_vector ()

Defined at line 6132 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

const ::std::vector< ::fuchsia::media::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.

Defined at line 6145 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

bool has_subsamples ()

Defined at line 6149 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

::std::vector< ::fuchsia::media::SubsampleEntry> * mutable_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.

Defined at line 6158 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

void clear_subsamples ()

Defined at line 6166 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

const ::fuchsia::media::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.

Defined at line 6181 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

bool has_pattern ()

Defined at line 6185 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

::fuchsia::media::EncryptionPattern * mutable_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.

Defined at line 6196 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

void clear_pattern ()

Defined at line 6204 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

const ::std::string & 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.

Defined at line 6221 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

bool has_scheme ()

Defined at line 6225 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

::std::string * mutable_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.

Defined at line 6238 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

void clear_scheme ()

Defined at line 6246 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

const ::std::vector<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.

Defined at line 6260 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

bool has_key_id ()

Defined at line 6264 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

::std::vector<uint8_t> * mutable_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.

Defined at line 6274 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

void clear_key_id ()

Defined at line 6282 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h