6#include "../archetype_utils.hpp"
7#include "../collection.hpp"
8#include "../component_batch.hpp"
9#include "../component_column.hpp"
10#include "../components/blob.hpp"
11#include "../components/media_type.hpp"
12#include "../result.hpp"
132 std::optional<ComponentBatch>
blob;
145 static constexpr const char ArchetypeName[] =
"rerun.archetypes.AssetVideo";
172 std::optional<rerun::components::MediaType>
media_type = {}
177 return std::move(asset).with_media_type(
media_type.value());
188 [[deprecated(
"Renamed to `read_frame_timestamps_nanos`"
218 return std::move(*
this);
227 return std::move(*
this);
240 return std::move(*
this);
251 return std::move(*
this);
263 return detail::partition_batches({&
blob, &
media_type}, lengths_).value_or_throw();
271 return detail::partition_batches_of_unit_length({&
blob, &
media_type}).value_or_throw();
279 template <
typename T>
284 struct AsComponents<archetypes::AssetVideo> {
286 static Result<Collection<ComponentBatch>> as_batches(
const archetypes::AssetVideo& archetype
288 return detail::collect_batches({&archetype.blob, &archetype.media_type});
Generic collection of elements that are roughly contiguous in memory.
Definition collection.hpp:49
A class for representing either a usable value, or an error.
Definition result.hpp:14
All built-in archetypes. See Types in the Rerun manual.
Definition rerun.hpp:90
All Rerun C++ types and functions are in the rerun namespace or one of its nested namespaces.
Definition rerun.hpp:26
Arrow-encoded data of a single batch of components together with a component descriptor.
Definition component_batch.hpp:28
static Result< ComponentBatch > from_loggable(const rerun::Collection< T > &components, const ComponentDescriptor &descriptor)
Creates a new component batch from a collection of component instances.
Definition component_batch.hpp:46
A ComponentDescriptor fully describes the semantics of a column of data.
Definition component_descriptor.hpp:16
The Loggable trait is used by all built-in implementation of rerun::AsComponents to serialize a colle...
Definition loggable.hpp:11
Archetype: A video binary.
Definition asset_video.hpp:130
static constexpr auto Descriptor_media_type
ComponentDescriptor for the media_type field.
Definition asset_video.hpp:152
static AssetVideo clear_fields()
Clear all the fields of a AssetVideo.
AssetVideo with_many_blob(const Collection< rerun::components::Blob > &_blob) &&
This method makes it possible to pack multiple blob in a single component batch.
Definition asset_video.hpp:225
std::optional< ComponentBatch > media_type
The Media Type of the asset.
Definition asset_video.hpp:141
Collection< ComponentColumn > columns(const Collection< uint32_t > &lengths_)
Partitions the component data into multiple sub-batches.
Definition asset_video.hpp:262
static AssetVideo from_bytes(rerun::Collection< uint8_t > bytes, std::optional< rerun::components::MediaType > media_type={})
Creates a new AssetVideo from the given bytes.
Definition asset_video.hpp:170
static Result< AssetVideo > from_file(const std::filesystem::path &path)
Creates a new AssetVideo from the file contents at path.
AssetVideo with_media_type(const rerun::components::MediaType &_media_type) &&
The Media Type of the asset.
Definition asset_video.hpp:237
static AssetVideo update_fields()
Update only some specific fields of a AssetVideo.
Definition asset_video.hpp:208
static constexpr auto Descriptor_blob
ComponentDescriptor for the blob field.
Definition asset_video.hpp:148
AssetVideo with_blob(const rerun::components::Blob &_blob) &&
The asset's bytes.
Definition asset_video.hpp:216
Collection< ComponentColumn > columns()
Partitions the component data into unit-length sub-batches.
Definition asset_video.hpp:270
static constexpr const char ArchetypeName[]
The name of the archetype as used in ComponentDescriptors.
Definition asset_video.hpp:145
Result< std::vector< std::chrono::nanoseconds > > read_frame_timestamps_nanos() const
Determines the presentation timestamps of all frames inside the video.
AssetVideo with_many_media_type(const Collection< rerun::components::MediaType > &_media_type) &&
This method makes it possible to pack multiple media_type in a single component batch.
Definition asset_video.hpp:247
std::optional< ComponentBatch > blob
The asset's bytes.
Definition asset_video.hpp:132
Result< std::vector< std::chrono::nanoseconds > > read_frame_timestamps_ns() const
DEPRECATED: Use read_frame_timestamps_nanos instead.
Definition asset_video.hpp:190
Component: A binary blob of data.
Definition blob.hpp:16