class EncryptedFormat

Defined at line 6170 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.

void EncryptedFormat ()
void EncryptedFormat (EncryptedFormat && other)
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 6183 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

bool has_init_vector ()

Defined at line 6187 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 6198 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

void clear_init_vector ()

Defined at line 6206 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 6232 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

void clear_subsamples ()

Defined at line 6240 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 6255 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

bool has_pattern ()

Defined at line 6259 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 6270 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

void clear_pattern ()

Defined at line 6278 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 6295 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

bool has_scheme ()

Defined at line 6299 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 6312 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

void clear_scheme ()

Defined at line 6320 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 6334 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

bool has_key_id ()

Defined at line 6338 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 6348 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

void clear_key_id ()

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

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)
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 6219 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h

bool has_subsamples ()

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

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)