class StreamBufferPartialSettings
Defined at line 8834 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
Public Members
static const fidl_type_t * FidlType
Public Methods
bool IsEmpty ()
Returns whether no field is set.
void StreamBufferPartialSettings ()
void StreamBufferPartialSettings (StreamBufferPartialSettings && other)
const uint64_t & buffer_lifetime_ordinal ()
Each buffer is associated with a `buffer_lifetime_ordinal` value.
There is a separate buffer_lifetime_ordinal for input vs. output.
Values must be odd. Values must only increase (increasing by more than 2
is permitted).
When using `SetInputBufferPartialSettings` or
`SetOutputBufferPartialSettings`, re-use of the same value (considering
input and output separately) for the new message is not allowed. Using
these messages, all the buffers of a given buffer_lifetime_ordinal value
are allocated as one sysmem buffer collection.
When a new buffer_lifetime_ordinal starts, that also automatically
starts un-registering and releasing any buffers associated with prior
buffer_lifetime_ordinal values, but does not force them to complete
un-registration (or release) if they're still used by the codec for
reference purposes (VP9 can do this across a mid-stream dimensions
switch). A buffer can still be output by the server (as indicated by an
output packet) until un-registration completes.
If the client wants the server to drop all buffers quickly, the client
can send `CloseCurrentStream` with `release_input_buffers` and/or
`release_output_buffers` set. This of course also stops decode of the
current stream. Closing the `StreamProcessor` client end is another
option.
Defined at line 8866 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
bool has_buffer_lifetime_ordinal ()
Defined at line 8870 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
uint64_t * mutable_buffer_lifetime_ordinal ()
Each buffer is associated with a `buffer_lifetime_ordinal` value.
There is a separate buffer_lifetime_ordinal for input vs. output.
Values must be odd. Values must only increase (increasing by more than 2
is permitted).
When using `SetInputBufferPartialSettings` or
`SetOutputBufferPartialSettings`, re-use of the same value (considering
input and output separately) for the new message is not allowed. Using
these messages, all the buffers of a given buffer_lifetime_ordinal value
are allocated as one sysmem buffer collection.
When a new buffer_lifetime_ordinal starts, that also automatically
starts un-registering and releasing any buffers associated with prior
buffer_lifetime_ordinal values, but does not force them to complete
un-registration (or release) if they're still used by the codec for
reference purposes (VP9 can do this across a mid-stream dimensions
switch). A buffer can still be output by the server (as indicated by an
output packet) until un-registration completes.
If the client wants the server to drop all buffers quickly, the client
can send `CloseCurrentStream` with `release_input_buffers` and/or
`release_output_buffers` set. This of course also stops decode of the
current stream. Closing the `StreamProcessor` client end is another
option.
Defined at line 8900 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
void clear_buffer_lifetime_ordinal ()
Defined at line 8908 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
const uint64_t & buffer_constraints_version_ordinal ()
This value indicates which version of constraints the client is/was
aware of so far.
For input, this must always be 0 because constraints don't change for
input (settings can change, but there's no settings vs current
constraints synchronization issue on input).
For output, this allows the server to know when the client is
sufficiently caught up before the server will generate any more output.
When there is no active stream, a client is permitted to re-configure
buffers again using the same buffer_constraints_version_ordinal.
Defined at line 8928 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
bool has_buffer_constraints_version_ordinal ()
Defined at line 8932 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
uint64_t * mutable_buffer_constraints_version_ordinal ()
This value indicates which version of constraints the client is/was
aware of so far.
For input, this must always be 0 because constraints don't change for
input (settings can change, but there's no settings vs current
constraints synchronization issue on input).
For output, this allows the server to know when the client is
sufficiently caught up before the server will generate any more output.
When there is no active stream, a client is permitted to re-configure
buffers again using the same buffer_constraints_version_ordinal.
Defined at line 8948 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
void clear_buffer_constraints_version_ordinal ()
Defined at line 8956 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
bool has_packet_count_for_client ()
Defined at line 9016 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
uint32_t * mutable_packet_count_for_client ()
Defined at line 9020 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
void clear_packet_count_for_client ()
Defined at line 9028 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
bool has_sysmem_token ()
Defined at line 9040 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
::fidl::InterfaceHandle< ::fuchsia::sysmem::BufferCollectionToken> * mutable_sysmem_token ()
Defined at line 9044 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
void clear_sysmem_token ()
Defined at line 9052 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
::fidl::InterfaceHandle< ::fuchsia::sysmem2::BufferCollectionToken> * mutable_sysmem2_token ()
The client end of a BufferCollectionToken channel, which the
StreamProcessor will use to deliver constraints to sysmem and learn of
buffers allocated by sysmem.
The client guarantees that the token is already known to sysmem (via
BufferCollectionToken.Sync(), BufferCollection.Sync(), or
BufferCollectionEvents.OnDuplicatedTokensKnownByServer()).
Defined at line 9082 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
void clear_sysmem2_token ()
Defined at line 9090 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
StreamBufferPartialSettings & set_buffer_lifetime_ordinal (uint64_t _value)
StreamBufferPartialSettings & set_buffer_constraints_version_ordinal (uint64_t _value)
StreamBufferPartialSettings & set_packet_count_for_client (uint32_t _value)
StreamBufferPartialSettings & set_sysmem_token (::fidl::InterfaceHandle< ::fuchsia::sysmem::BufferCollectionToken> _value)
StreamBufferPartialSettings & set_sysmem2_token (::fidl::InterfaceHandle< ::fuchsia::sysmem2::BufferCollectionToken> _value)
const bool & single_buffer_mode ()
Defined at line 8964 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
bool has_single_buffer_mode ()
Defined at line 8968 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
bool * mutable_single_buffer_mode ()
Defined at line 8972 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
void clear_single_buffer_mode ()
Defined at line 8980 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
const uint32_t & packet_count_for_server ()
Defined at line 8988 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
bool has_packet_count_for_server ()
Defined at line 8992 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
uint32_t * mutable_packet_count_for_server ()
Defined at line 8996 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
void clear_packet_count_for_server ()
Defined at line 9004 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
const uint32_t & packet_count_for_client ()
Defined at line 9012 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
StreamBufferPartialSettings & set_single_buffer_mode (bool _value)
StreamBufferPartialSettings & set_packet_count_for_server (uint32_t _value)
const ::fidl::InterfaceHandle< ::fuchsia::sysmem::BufferCollectionToken> & sysmem_token ()
Defined at line 9036 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
const ::fidl::InterfaceHandle< ::fuchsia::sysmem2::BufferCollectionToken> & sysmem2_token ()
The client end of a BufferCollectionToken channel, which the
StreamProcessor will use to deliver constraints to sysmem and learn of
buffers allocated by sysmem.
The client guarantees that the token is already known to sysmem (via
BufferCollectionToken.Sync(), BufferCollection.Sync(), or
BufferCollectionEvents.OnDuplicatedTokensKnownByServer()).
Defined at line 9067 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
bool has_sysmem2_token ()
Defined at line 9071 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/hlcpp/fuchsia/media/cpp/fidl.h
void ~StreamBufferPartialSettings ()
StreamBufferPartialSettings & operator= (StreamBufferPartialSettings && other)
::std::unique_ptr<StreamBufferPartialSettings> New ()
void Encode (::fidl::Encoder *_encoder,size_t_offset,std::optional< ::fidl::HandleInformation>maybe_handle_info)
void Decode (::fidl::Decoder *_decoder,StreamBufferPartialSettings *_value,size_t_offset)
zx_status_t Clone (StreamBufferPartialSettings * _result)