#![forbid(unsafe_code)]
#![allow(
clippy::redundant_pub_crate,
unreachable_pub,
reason = "sw_opus is pub for the crate-root `pub use` re-export below; the `audio` \
module itself stays private, same pattern as `windows::wmf`"
)]
pub mod sw_opus;
#[cfg(test)]
mod sw_opus_tests;
use crate::error::DecodeError;
use mediaway_common::{AudioFrame, Packet, StreamInfo};
pub trait AudioDecoder {
fn stream_info(&self) -> &StreamInfo;
fn push_packet(&mut self, packet: &Packet) -> Result<(), DecodeError>;
fn poll_frame(&mut self) -> Result<Option<AudioFrame>, DecodeError>;
fn flush(&mut self) -> Result<(), DecodeError>;
}