ace_player/output/mod.rs
1//! Output module — native + WebAssembly rendering targets.
2use crate::decoder::{audio::AudioFrame, video::VideoFrame};
3
4/// Render a video frame to the active output target.
5pub async fn render_frame(frame: &VideoFrame) {
6 // Phase 1: log frame metadata
7 // Phase 2: wgpu render pass (native) or Canvas2D (wasm)
8 tracing::trace!("Render frame: pts={}ms {}x{}", frame.pts_ms, frame.width, frame.height);
9}
10
11/// Send audio samples to the active audio output.
12pub async fn play_audio(samples: &AudioFrame) {
13 // Phase 1: stub
14 // Phase 2: cpal (cross-platform audio) for native, Web Audio API for wasm
15 tracing::trace!("Audio: {} samples", samples.len());
16}