aboutsummaryrefslogtreecommitdiff
path: root/stream
diff options
context:
space:
mode:
Diffstat (limited to 'stream')
-rw-r--r--stream/src/dash.rs6
-rw-r--r--stream/src/fragment.rs11
-rw-r--r--stream/src/fragment_index.rs2
-rw-r--r--stream/src/hls.rs19
-rw-r--r--stream/src/lib.rs2
-rw-r--r--stream/src/stream_info.rs2
-rw-r--r--stream/types/src/path.rs8
7 files changed, 24 insertions, 26 deletions
diff --git a/stream/src/dash.rs b/stream/src/dash.rs
index 9e66a0f..f9fb128 100644
--- a/stream/src/dash.rs
+++ b/stream/src/dash.rs
@@ -14,7 +14,7 @@ use std::{
};
pub fn dash(sinfo: &SMediaInfo) -> Result<Box<dyn Read + Send + Sync>> {
- let (_iinfo, info) = stream_info(&sinfo)?;
+ let (_iinfo, info) = stream_info(sinfo)?;
let mut out = String::new();
@@ -37,7 +37,7 @@ pub fn dash(sinfo: &SMediaInfo) -> Result<Box<dyn Read + Send + Sync>> {
writeln!(out, "<ServiceDescription id=\"0\"></ServiceDescription>")?;
writeln!(out, r#"<Period id="0" start="PT0.0S">"#)?;
for (as_id, track) in info.tracks.iter().enumerate() {
- let frags = fragment_index(&sinfo, as_id)?;
+ let frags = fragment_index(sinfo, as_id)?;
match track.kind {
TrackKind::Video => {
let max_width = track
@@ -170,7 +170,7 @@ fn write_segment_template(
container.file_ext(TrackKind::Video),
container.file_ext(TrackKind::Video)
)?;
- writeln!(out, "{}", Timeline(&frags))?;
+ writeln!(out, "{}", Timeline(frags))?;
writeln!(out, "</SegmentTemplate>")?;
Ok(())
}
diff --git a/stream/src/fragment.rs b/stream/src/fragment.rs
index 0ccf37d..1774e0a 100644
--- a/stream/src/fragment.rs
+++ b/stream/src/fragment.rs
@@ -28,7 +28,7 @@ pub fn fragment_init(
track_num: TrackNum,
format_num: FormatNum,
) -> Result<Segment> {
- let (iinfo, info) = stream_info(&sinfo)?;
+ let (iinfo, info) = stream_info(sinfo)?;
let (file_index, file_track_num) = *iinfo
.track_to_file
@@ -101,7 +101,7 @@ pub fn fragment_remux(
index: IndexNum,
next_kf: bool,
) -> Result<Segment> {
- let cue_stat = generate_cues(&sinfo.cache, &media_path)?;
+ let cue_stat = generate_cues(&sinfo.cache, media_path)?;
let start_cue = cue_stat
.cues
.get(index)
@@ -109,7 +109,7 @@ pub fn fragment_remux(
let cluster_offset = start_cue.position;
let (mut cluster, next_cluster) = {
- let media_file = File::open(&media_path)?;
+ let media_file = File::open(media_path)?;
let mut media = create_demuxer_autodetect(Box::new(media_file))?
.ok_or(anyhow!("media container unknown"))?;
media.seek_cluster(Some(cluster_offset))?;
@@ -141,6 +141,7 @@ pub fn fragment_remux(
})
}
+#[allow(clippy::too_many_arguments)]
pub fn fragment_transcode_full(
sinfo: &SMediaInfo,
track: &StreamTrackInfo,
@@ -168,8 +169,8 @@ pub fn fragment_transcode_full(
index,
end_pts,
|| {
- let init = fragment_init(&sinfo, track_num, input_format_num)?;
- let seg = fragment_remux(&sinfo, &media_path, file_track_num, index, true)?;
+ let init = fragment_init(sinfo, track_num, input_format_num)?;
+ let seg = fragment_remux(sinfo, media_path, file_track_num, index, true)?;
Ok(Segment {
tracks: init.tracks,
info: init.info,
diff --git a/stream/src/fragment_index.rs b/stream/src/fragment_index.rs
index e2adf41..7b8ce01 100644
--- a/stream/src/fragment_index.rs
+++ b/stream/src/fragment_index.rs
@@ -13,7 +13,7 @@ use std::{
};
pub fn fragment_index(sinfo: &SMediaInfo, track: TrackNum) -> Result<Vec<Range<f64>>> {
- let (iinfo, info) = stream_info(&sinfo)?;
+ let (iinfo, info) = stream_info(sinfo)?;
let (file_index, _) = *iinfo
.track_to_file
.get(track)
diff --git a/stream/src/hls.rs b/stream/src/hls.rs
index 759b196..cbaf69e 100644
--- a/stream/src/hls.rs
+++ b/stream/src/hls.rs
@@ -14,7 +14,7 @@ use std::{
};
pub fn hls_multivariant_stream(info: &SMediaInfo) -> Result<Box<dyn Read + Send + Sync>> {
- let (_iinfo, info) = stream_info(&info)?;
+ let (_iinfo, info) = stream_info(info)?;
let mut out = String::new();
writeln!(out, "#EXTM3U")?;
@@ -22,14 +22,11 @@ pub fn hls_multivariant_stream(info: &SMediaInfo) -> Result<Box<dyn Read + Send
// writeln!(out, "#EXT-X-INDEPENDENT-SEGMENTS")?;
for (i, t) in info.tracks.iter().enumerate() {
for (j, f) in t.formats.iter().enumerate() {
- let uri = format!(
- "{}",
- StreamSpec::HlsVariant {
- track: i,
- format: j
- }
- .to_path()
- );
+ let uri = StreamSpec::HlsVariant {
+ track: i,
+ format: j,
+ }
+ .to_path();
let r#type = match t.kind {
TrackKind::Video => "VIDEO",
TrackKind::Audio => "AUDIO",
@@ -52,8 +49,8 @@ pub fn hls_variant_stream(
track: TrackNum,
_format: FormatNum,
) -> Result<Box<dyn Read + Send + Sync>> {
- let frags = fragment_index(&info, track)?;
- let (_, info) = stream_info(&info)?;
+ let frags = fragment_index(info, track)?;
+ let (_, info) = stream_info(info)?;
let mut out = String::new();
writeln!(out, "#EXTM3U")?;
diff --git a/stream/src/lib.rs b/stream/src/lib.rs
index 6dbc646..8827aeb 100644
--- a/stream/src/lib.rs
+++ b/stream/src/lib.rs
@@ -60,7 +60,7 @@ pub fn stream_head(spec: &StreamSpec) -> StreamHead {
let range_supported = matches!(spec, Remux { .. } | Original { .. });
let content_type = match spec {
Original { .. } => "video/x-matroska",
- HlsMultiVariant { .. } => "application/vnd.apple.mpegurl",
+ HlsMultiVariant => "application/vnd.apple.mpegurl",
HlsVariant { .. } => "application/vnd.apple.mpegurl",
Info => "application/jellything-stream-info+json",
Dash => "application/dash+xml",
diff --git a/stream/src/stream_info.rs b/stream/src/stream_info.rs
index c1f09ce..0d4350f 100644
--- a/stream/src/stream_info.rs
+++ b/stream/src/stream_info.rs
@@ -191,7 +191,7 @@ fn containers_by_codec(codec: &str) -> Vec<StreamContainer> {
}
pub(crate) fn write_stream_info(info: &SMediaInfo) -> Result<Box<dyn Read + Send + Sync>> {
- let (_, info) = stream_info(&info)?;
+ let (_, info) = stream_info(info)?;
Ok(Box::new(Cursor::new(serde_json::to_vec(&info)?)))
}
diff --git a/stream/types/src/path.rs b/stream/types/src/path.rs
index 4a91457..226d6e8 100644
--- a/stream/types/src/path.rs
+++ b/stream/types/src/path.rs
@@ -9,9 +9,9 @@ use crate::{FormatNum, IndexNum, StreamContainer, StreamSpec, TrackKind, TrackNu
impl StreamSpec {
pub fn to_path(&self) -> String {
match self {
- StreamSpec::HlsMultiVariant => format!("stream.m3u8"),
- StreamSpec::Dash => format!("stream.mpd"),
- StreamSpec::Info => format!("formats.json"),
+ StreamSpec::HlsMultiVariant => "stream.m3u8".to_string(),
+ StreamSpec::Dash => "stream.mpd".to_string(),
+ StreamSpec::Info => "formats.json".to_string(),
StreamSpec::HlsVariant { track, format } => format!("{track}/{format}/variant.m3u8"),
StreamSpec::FragmentIndex { track } => format!("{track}/fragindex.json"),
StreamSpec::FragmentInit {
@@ -35,7 +35,7 @@ impl StreamSpec {
}
}
pub fn from_path(segments: &[&str]) -> Result<Self, &'static str> {
- let mut segs = segments.into_iter();
+ let mut segs = segments.iter();
match *segs.next().ok_or("no path")? {
"stream.mpd" => Ok(Self::Dash),
"stream.m3u8" => Ok(Self::HlsMultiVariant),