#![forbid(unsafe_code)]
#![deny(missing_docs)]
mod compose;
mod convert;
mod model;
mod parse;
mod streaming;
pub mod text;
pub use model::{
AssEvent, AssFields, AssNumber, Colour, ComposeOptions, Cue, Error, EventKind, Format, Header,
LineEnding, RawSection, Style, Subtitles, Time, VttBlock, VttBlockKind, Warning,
};
pub use streaming::{AssCues, SrtCues, VttCues};
pub fn parse(input: &[u8], format: Format) -> Result<Subtitles, Error> {
match format {
Format::Srt => parse_srt(input),
Format::Vtt => parse_vtt(input),
Format::Ass => parse_ass(input),
}
}
pub fn parse_srt(input: &[u8]) -> Result<Subtitles, Error> {
parse::parse_srt(input)
}
pub fn parse_vtt(input: &[u8]) -> Result<Subtitles, Error> {
parse::parse_vtt(input)
}
pub fn parse_ass(input: &[u8]) -> Result<Subtitles, Error> {
parse::parse_ass(input)
}