aboutsummaryrefslogtreecommitdiff
path: root/remuxer/src
diff options
context:
space:
mode:
Diffstat (limited to 'remuxer/src')
-rw-r--r--remuxer/src/lib.rs135
1 files changed, 65 insertions, 70 deletions
diff --git a/remuxer/src/lib.rs b/remuxer/src/lib.rs
index aa22b3b..749e04f 100644
--- a/remuxer/src/lib.rs
+++ b/remuxer/src/lib.rs
@@ -1,10 +1,5 @@
use jellycommon::ItemInfo;
-use log::{debug, info};
-use std::{fs::File, io::Write, path::PathBuf, sync::Arc};
-use webm_iterable::{
- matroska_spec::{Block, Master, MatroskaSpec},
- WebmIterator, WebmWriter,
-};
+use std::{io::Write, path::PathBuf, sync::Arc};
pub struct RemuxerContext {}
@@ -21,73 +16,73 @@ impl RemuxerContext {
item: ItemInfo,
selection: Vec<u64>,
) -> anyhow::Result<()> {
- let source_path = path_base.join(item.source.path);
- info!("remuxing {source_path:?} to have tracks {selection:?}");
- let mut input = File::open(source_path)?;
+ // let source_path = path_base.join(item.source.path);
+ // info!("remuxing {source_path:?} to have tracks {selection:?}");
+ // let mut input = File::open(source_path)?;
- let tags = WebmIterator::new(&mut input, &[MatroskaSpec::TrackEntry(Master::Start)]);
- let mut output = WebmWriter::new(writer);
+ // let tags = WebmIterator::new(&mut input, &[MatroskaSpec::TrackEntry(Master::Start)]);
+ // let mut output = WebmWriter::new(writer);
- let mut tscale = None;
- let mut duration = None;
- let mut ignore = false;
+ // let mut tscale = None;
+ // let mut duration = None;
+ // let mut ignore = false;
- for tag in tags {
- let tag = tag.unwrap();
- match tag {
- MatroskaSpec::SeekHead(Master::Start) | MatroskaSpec::Cues(Master::Start) => {
- ignore = true
- }
- MatroskaSpec::SeekHead(Master::End) | MatroskaSpec::Cues(Master::End) => {
- ignore = false
- }
- MatroskaSpec::TrackEntry(master) => {
- let children = master.get_children();
- let mut number = None;
- for c in &children {
- if let MatroskaSpec::TrackNumber(n) = c {
- number = Some(*n)
- }
- }
- let number = number.unwrap();
- if selection.contains(&number) {
- output.write(&MatroskaSpec::TrackEntry(Master::Full(children)))?;
- }
- }
- MatroskaSpec::Block(ref data) => {
- let data: &[u8] = &data;
- let block: Block = data.try_into()?;
- if selection.contains(&block.track) {
- output.write(&tag)?;
- }
- }
- MatroskaSpec::SimpleBlock(ref data) => {
- let data: &[u8] = &data;
- let block: Block = data.try_into()?;
- if selection.contains(&block.track) {
- output.write(&tag)?;
- }
- }
- MatroskaSpec::Info(Master::Start) => (),
- MatroskaSpec::TimestampScale(n) => tscale = Some(n),
- MatroskaSpec::Duration(n) => duration = Some(n),
- MatroskaSpec::Info(Master::End) => {
- output.write(&MatroskaSpec::Info(Master::Full(vec![
- MatroskaSpec::TimestampScale(tscale.unwrap()),
- MatroskaSpec::Title(item.title.clone()),
- MatroskaSpec::Duration(duration.unwrap()),
- MatroskaSpec::MuxingApp("jellyremux".to_string()),
- MatroskaSpec::WritingApp("jellything".to_string()),
- ])))?;
- }
- x => {
- if !ignore {
- debug!("{x:?}");
- output.write(&x)?;
- }
- }
- }
- }
+ // for tag in tags {
+ // let tag = tag.unwrap();
+ // match tag {
+ // MatroskaSpec::SeekHead(Master::Start) | MatroskaSpec::Cues(Master::Start) => {
+ // ignore = true
+ // }
+ // MatroskaSpec::SeekHead(Master::End) | MatroskaSpec::Cues(Master::End) => {
+ // ignore = false
+ // }
+ // MatroskaSpec::TrackEntry(master) => {
+ // let children = master.get_children();
+ // let mut number = None;
+ // for c in &children {
+ // if let MatroskaSpec::TrackNumber(n) = c {
+ // number = Some(*n)
+ // }
+ // }
+ // let number = number.unwrap();
+ // if selection.contains(&number) {
+ // output.write(&MatroskaSpec::TrackEntry(Master::Full(children)))?;
+ // }
+ // }
+ // MatroskaSpec::Block(ref data) => {
+ // let data: &[u8] = &data;
+ // let block: Block = data.try_into()?;
+ // if selection.contains(&block.track) {
+ // output.write(&tag)?;
+ // }
+ // }
+ // MatroskaSpec::SimpleBlock(ref data) => {
+ // let data: &[u8] = &data;
+ // let block: Block = data.try_into()?;
+ // if selection.contains(&block.track) {
+ // output.write(&tag)?;
+ // }
+ // }
+ // MatroskaSpec::Info(Master::Start) => (),
+ // MatroskaSpec::TimestampScale(n) => tscale = Some(n),
+ // MatroskaSpec::Duration(n) => duration = Some(n),
+ // MatroskaSpec::Info(Master::End) => {
+ // output.write(&MatroskaSpec::Info(Master::Full(vec![
+ // MatroskaSpec::TimestampScale(tscale.unwrap()),
+ // MatroskaSpec::Title(item.title.clone()),
+ // MatroskaSpec::Duration(duration.unwrap()),
+ // MatroskaSpec::MuxingApp("jellyremux".to_string()),
+ // MatroskaSpec::WritingApp("jellything".to_string()),
+ // ])))?;
+ // }
+ // x => {
+ // if !ignore {
+ // debug!("{x:?}");
+ // output.write(&x)?;
+ // }
+ // }
+ // }
+ // }
Ok(())
}
}