use std::path::PathBuf;
use thiserror::Error;
pub type Result<T> = std::result::Result<T, AppError>;
#[derive(Debug, Error)]
pub enum AppError {
#[error("未找到 ffmpeg,请安装并加入 PATH,或通过 --ffmpeg 指定路径")]
FfmpegNotFound,
#[error("ffmpeg 执行失败 (退出码 {code:?}): {stderr}")]
FfmpegFailed {
code: Option<i32>,
stderr: String,
},
#[error("IO 错误: {0}")]
Io(#[from] std::io::Error),
#[error("Whisper 错误: {0}")]
Whisper(#[from] whisper_rs::WhisperError),
#[error("音频读取错误: {0}")]
Audio(String),
#[error("路径无效: {0}")]
InvalidPath(PathBuf),
#[error("{0}")]
Other(String),
}