aboutsummaryrefslogtreecommitdiff
path: root/matroska/src
diff options
context:
space:
mode:
Diffstat (limited to 'matroska/src')
-rw-r--r--matroska/src/bin/experiment.rs17
-rw-r--r--matroska/src/bin/mkvdump.rs2
-rw-r--r--matroska/src/read.rs2
-rw-r--r--matroska/src/unflatten.rs4
-rw-r--r--matroska/src/write.rs21
5 files changed, 24 insertions, 22 deletions
diff --git a/matroska/src/bin/experiment.rs b/matroska/src/bin/experiment.rs
index 7787f4f..fe3096e 100644
--- a/matroska/src/bin/experiment.rs
+++ b/matroska/src/bin/experiment.rs
@@ -3,7 +3,9 @@
which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
Copyright (C) 2023 metamuffin <metamuffin.org>
*/
-use jellymatroska::{matroska::MatroskaTag, read::EbmlReader, write::EbmlWriter, unflatten::IterWithPos};
+use jellymatroska::{
+ matroska::MatroskaTag, read::EbmlReader, unflatten::IterWithPos, write::EbmlWriter,
+};
use std::{
fs::File,
io::{stdout, BufReader, BufWriter},
@@ -11,7 +13,7 @@ use std::{
fn main() -> anyhow::Result<()> {
env_logger::init_from_env("LOG");
- let path = std::env::args().skip(1).next().unwrap();
+ let path = std::env::args().nth(1).unwrap();
let mut r = EbmlReader::new(BufReader::new(File::open(path)?));
let mut w = EbmlWriter::new(BufWriter::new(stdout()), 0);
@@ -23,15 +25,10 @@ fn main() -> anyhow::Result<()> {
while let Some(tag) = r.next() {
let tag = tag?;
- // println!("{} {tag:?}", r.position);
- match tag {
- tag => {
- if MatroskaTag::is_master(tag.id())? {
- eprintln!("{tag:?}");
- }
- w.write_tag(&tag)?;
- }
+ if MatroskaTag::is_master(tag.id())? {
+ eprintln!("{tag:?}");
}
+ w.write_tag(&tag)?;
}
Ok(())
}
diff --git a/matroska/src/bin/mkvdump.rs b/matroska/src/bin/mkvdump.rs
index ba05c19..ead6ece 100644
--- a/matroska/src/bin/mkvdump.rs
+++ b/matroska/src/bin/mkvdump.rs
@@ -8,7 +8,7 @@ use std::{fs::File, io::BufReader};
fn main() -> anyhow::Result<()> {
env_logger::init_from_env("LOG");
- let path = std::env::args().skip(1).next().unwrap();
+ let path = std::env::args().nth(1).unwrap();
let mut r = EbmlReader::new(BufReader::new(File::open(path)?));
while let Some(tag) = r.next() {
diff --git a/matroska/src/read.rs b/matroska/src/read.rs
index c99f304..e2bf15c 100644
--- a/matroska/src/read.rs
+++ b/matroska/src/read.rs
@@ -87,7 +87,7 @@ impl EbmlReader {
Ok(EbmlSize::from_vint(self.read_vint_len()?))
}
pub fn read_stuff(&mut self) -> Result<()> {
- while let Some(e) = self.stack.last().map(|e| *e) {
+ while let Some(e) = self.stack.last().copied() {
if let Some(end) = e.end {
if self.position >= end {
if self.position != end {
diff --git a/matroska/src/unflatten.rs b/matroska/src/unflatten.rs
index 663eebc..57fd35b 100644
--- a/matroska/src/unflatten.rs
+++ b/matroska/src/unflatten.rs
@@ -46,7 +46,7 @@ impl<'a> Unflatten<'a> {
self.inner.position()
}
- pub fn next(&mut self) -> Option<Result<Unflat>> {
+ pub fn n(&mut self) -> Option<Result<Unflat>> {
if self.stop {
return None;
}
@@ -84,6 +84,6 @@ impl<'a> Unflatten<'a> {
impl Drop for Unflatten<'_> {
fn drop(&mut self) {
- while let Some(_) = self.next() {}
+ while self.n().is_some() {}
}
}
diff --git a/matroska/src/write.rs b/matroska/src/write.rs
index 8c1e7bb..6f8aad4 100644
--- a/matroska/src/write.rs
+++ b/matroska/src/write.rs
@@ -82,7 +82,7 @@ impl EbmlWriter {
let mut bytes = i.to_be_bytes();
let trunc = &mut bytes[(8 - len)..];
trunc[0] |= 1 << (8 - len);
- self.write(&trunc)
+ self.write(trunc)
}
}
@@ -103,7 +103,7 @@ pub trait WriteValue {
impl WriteValue for i64 {
fn write_to(&self, w: &mut Vec<u8>) -> Result<()> {
- Ok(match 64 - self.leading_zeros() {
+ match 64 - self.leading_zeros() {
x if x <= 8 => {
w.push(0x81);
w.extend_from_slice(&(*self as i8).to_be_bytes());
@@ -120,12 +120,13 @@ impl WriteValue for i64 {
w.push(0x88);
w.extend_from_slice(&self.to_be_bytes());
}
- })
+ };
+ Ok(())
}
}
impl WriteValue for u64 {
fn write_to(&self, w: &mut Vec<u8>) -> Result<()> {
- Ok(match 64 - self.leading_zeros() {
+ match 64 - self.leading_zeros() {
x if x <= 8 => {
w.push(0x81);
w.extend_from_slice(&(*self as u8).to_be_bytes());
@@ -142,7 +143,8 @@ impl WriteValue for u64 {
w.push(0x88);
w.extend_from_slice(&self.to_be_bytes());
}
- })
+ };
+ Ok(())
}
}
impl WriteValue for f64 {
@@ -155,7 +157,7 @@ impl WriteValue for f64 {
impl WriteValue for Vec<u8> {
fn write_to(&self, w: &mut Vec<u8>) -> Result<(), anyhow::Error> {
write_vint(w, self.len() as u64)?;
- w.extend_from_slice(&self);
+ w.extend_from_slice(self);
Ok(())
}
}
@@ -181,7 +183,10 @@ impl WriteValue for Master {
fn write_to(&self, w: &mut Vec<u8>) -> Result<()> {
match self {
Master::Start => EbmlSize::Unknown.write_to(w),
- Master::End => Ok(w.clear()),
+ Master::End => {
+ w.clear();
+ Ok(())
+ }
Master::Collected(c) => {
let mut ib = vec![];
for c in c {
@@ -203,6 +208,6 @@ pub fn write_vint(w: &mut Vec<u8>, i: u64) -> Result<()> {
let mut bytes = i.to_be_bytes();
let trunc = &mut bytes[(8 - len)..];
trunc[0] |= 1 << (8 - len);
- w.extend_from_slice(&trunc);
+ w.extend_from_slice(trunc);
Ok(())
}