diff options
Diffstat (limited to 'remuxer/src/muxers/mod.rs')
-rw-r--r-- | remuxer/src/muxers/mod.rs | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/remuxer/src/muxers/mod.rs b/remuxer/src/muxers/mod.rs index 8752373..ae544eb 100644 --- a/remuxer/src/muxers/mod.rs +++ b/remuxer/src/muxers/mod.rs @@ -5,36 +5,32 @@ */ pub mod matroska; +pub mod mpeg4; use crate::{ ContainerFormat, - muxers::matroska::{MatroskaFragmentMuxer, WebmFragmentMuxer}, + muxers::{ + matroska::{MatroskaFragmentMuxer, WebmFragmentMuxer}, + mpeg4::Mpeg4FragmentMuxer, + }, }; use anyhow::Result; use std::io::Write; -use winter_matroska::{Cluster, Info, Tracks}; +use winter_matroska::Segment; pub trait FragmentMuxer { - fn write_fragment( - out: &mut dyn Write, - info: Info, - tracks: Tracks, - cluster: Cluster, - ) -> Result<()>; + fn write_fragment(out: &mut dyn Write, segment: Segment) -> Result<()>; } pub fn write_fragment( container: ContainerFormat, out: &mut dyn Write, - info: Info, - tracks: Tracks, - cluster: Cluster, + segment: Segment, ) -> Result<()> { match container { - ContainerFormat::Matroska => { - MatroskaFragmentMuxer::write_fragment(out, info, tracks, cluster) - } - ContainerFormat::Webm => WebmFragmentMuxer::write_fragment(out, info, tracks, cluster), + ContainerFormat::Matroska => MatroskaFragmentMuxer::write_fragment(out, segment), + ContainerFormat::Webm => WebmFragmentMuxer::write_fragment(out, segment), + ContainerFormat::Mpeg4 => Mpeg4FragmentMuxer::write_fragment(out, segment), _ => unimplemented!(), } } |