ace_player/decoder/mod.rs
1//! Media decoding — video + audio streams.
2pub mod video;
3pub mod audio;
4
5use anyhow::Result;
6use crate::MediaInfo;
7
8/// Probe a media source to extract metadata without full decode.
9pub async fn probe(source: &str) -> Result<MediaInfo> {
10 use std::path::Path;
11
12 // TODO: use symphonia probe for full format detection
13 // For now, return a stub — replace with symphonia::probe in Phase 1
14 tracing::info!("Probing source: {source}");
15
16 Ok(MediaInfo {
17 duration_secs: 0.0,
18 width: 1920,
19 height: 1080,
20 has_video: true,
21 has_audio: true,
22 codec_video: Some("h264".to_string()),
23 codec_audio: Some("aac".to_string()),
24 fps: 30.0,
25 })
26}