Skip to main content

Crate alpha2_engine

Crate alpha2_engine 

Source
Expand description

Player and exporter public API.

§wgpu interop

The API names no wgpu type by default: a host lends source frames as alpha2_render::SourceViews through FrameProvider, and frames come back as alpha2_render::RenderedTextures and readbacks. Rendering straight into a hardware encoder’s NV12 planes takes wgpu textures and is interop, documented with the wgpu-interop feature and following wgpu’s major version. Without the feature those items are hidden.

Re-exports§

pub use exporter::ExportAudioWindow;
pub use exporter::ExportFrameNeeds;
pub use exporter::ExportProgress;
pub use exporter::ExportStep;
pub use exporter::ExportStepTimings;
pub use exporter::ExportTextureStep;
pub use exporter::Exporter;
pub use exporter::MAX_EXPORT_FRAMES;
pub use exporter::export_audio_window;
pub use frame::FrameGraph;
pub use frame::FrameProvider;
pub use frame::FrameRender;
pub use frame::FrameRenderer;
pub use frame::FrameYuv420pRender;
pub use frame::RenderReport;

Structs§

AudioNeed
A source interval a host decodes before a render reads it.
AudioRenderStatus
Outcome of mixing one block.
AudioRenderer
Mixes a project’s audio tracks into one project-rate block.
CapabilityReport
What a runtime can do.
ClockStep
What the clock asks for at one moment.
ColorReport
How color is handled.
EngineProject
An immutable project snapshot and its reusable evaluation index.
ExportAudioWindow
The project-rate samples an export’s audio covers.
ExportFrameNeeds
Decode requirements for one scheduled export frame.
ExportProgress
Completed and total frame counts for deterministic export.
ExportStepTimings
Where one Exporter::render_next_timed step spent its time.
Exporter
Deterministic, retryable frame-sequence runner.
Feature
One feature: whether it is available, and why not.
FrameGraph
One evaluated frame compiled into a render graph, not yet submitted.
FrameRender
Result of attempting to render one evaluated timeline frame.
FrameYuv420pRender
Result of rendering and scheduling one frame for planar YUV420 readback.
FramesWithText
A host’s frame provider together with its text store: frames come from the one and text from the other.
GpuReport
The GPU the renderer drives.
PassthroughPlan
What an export range copies: its segments in timeline order, and its audio.
PassthroughSegment
One clip’s share of a copied range.
PlaybackClock
The playback clock of one run of playback: asked each display refresh which timeline time to show.
PlaybackFrame
Result of one real-time presentation attempt.
PlaybackReport
How real-time playback behaves.
Player
Stateful real-time runner.
QualityProfile
Runtime quality controls shared by real-time playback and export.
RenderReport
Outcome of one render attempt when sources may arrive asynchronously.
TextTexture
One prepared text: its texture, pixel size, and where its layout box lies in it.
TextTextures
Fonts and the texts rasterized with them, keyed by content and render size.

Enums§

AudioContinuity
What AudioRenderer::render does with a block that does not start where the previous one ended.
EngineError
Failure produced by an engine runner.
ErrorCode
A failure’s protocol code.
ExportStep
Outcome of one non-blocking exporter step.
ExportTextureStep
One step of an export that leaves its picture as a rendered texture.
MissingFramePolicy
The action a host should take after its renderer reports missing frames.
PassthroughAudio
What an export’s audio is over a copied range. The picture decides whether a range can be copied; the audio only decides whether it is copied too or encoded from the mix beside the copied video.
PlaybackPolicy
Which frame real-time playback shows, and whether sound plays.
Runtime
Where the engine runs.
TextError
Why text could not be prepared.

Constants§

CAPABILITY_SCHEMA
The report’s schema name.
CAPABILITY_VERSION
The report’s schema version.
MAX_AUDIO_BLOCK
Largest block a renderer will mix in one call.
MAX_EXPORT_FRAMES
Largest frame schedule accepted by one export operation.
MAX_SETTLING_SECONDS
Longest a stage replays to settle before a seek target, in seconds.

Traits§

FrameProvider
Supplies decoded source frames as GPU textures to the renderer.
FrameRenderer
Timeline-frame rendering on top of a Renderer.

Functions§

color_policy
The renderer’s color policy for a project’s color pipeline: tone-map HDR sources from its peak, or refuse them.
export_audio_window
The samples an export over range writes as audio: both ends are the samples nearest the range’s ends, half a sample rounding up.
gpu_error_of
The class of error the GPU reported when it rejected a frame’s work (RenderError::Gpu), for the first such error in error’s source chain. Out of memory and validation have no protocol code of their own; this is the evidence a failure report classifies them by.
gpu_fault_of
What the platform’s status for a failed GPU call said about the device, for the first error in error’s source chain that carries one: a native synchronization the renderer met, or a decoder’s or encoder’s GPU call. A memory fault has no protocol code of its own; this is the evidence a failure report classifies it by.
passthrough_plan
Whether range of project shows its sources untouched.
text_key
A text’s identity at a render size: the text, its style, and the size, hashed (FNV-1a). Never zero.