aboutsummaryrefslogtreecommitdiff
path: root/remuxer/src/muxers/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'remuxer/src/muxers/mod.rs')
-rw-r--r--remuxer/src/muxers/mod.rs26
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!(),
}
}