Skip to content

Commit ff3c2b1

Browse files
Simplify
1 parent 97b8c64 commit ff3c2b1

1 file changed

Lines changed: 16 additions & 17 deletions

File tree

src/record/mod.rs

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -115,27 +115,26 @@ async fn record_master_playlist(
115115
dest: &Path,
116116
recording: Arc<Mutex<RecordingFile>>,
117117
options: RecordOptions,
118-
master_playlist: MasterPlaylist,
118+
mut master_playlist: MasterPlaylist,
119119
token: CancellationToken,
120120
) -> Result<(), RecordError> {
121121
// Rewrite master playlist
122-
let mut new_master_playlist = master_playlist.clone();
123122
let rewriter = Rewriter::new(url, dest, options.keep_names);
124-
rewriter.rewrite_master_playlist(&mut new_master_playlist)?;
123+
rewriter.rewrite_master_playlist(&mut master_playlist)?;
125124

126125
// Select variant streams
127-
new_master_playlist.variants = options
126+
master_playlist.variants = options
128127
.variant_select
129-
.filter_variants(&new_master_playlist.variants)
128+
.filter_variants(&master_playlist.variants)
130129
.to_vec();
131-
if new_master_playlist.variants.is_empty() {
130+
if master_playlist.variants.is_empty() {
132131
return Err(RecordError::Config("No variant streams selected."));
133132
}
134133
// Select renditions
135-
let alternatives = &mut new_master_playlist.alternatives;
134+
let alternatives = &mut master_playlist.alternatives;
136135
alternatives.retain(|media| {
137136
// Must apply to at least one selected variant stream
138-
new_master_playlist
137+
master_playlist
139138
.variants
140139
.iter()
141140
.any(|variant| media_applies_to_variant(media, variant))
@@ -170,17 +169,17 @@ async fn record_master_playlist(
170169
let video_renditions = options.video.filter_media(&video_renditions).to_vec();
171170
let subtitle_renditions = options.subtitle.filter_media(&subtitle_renditions).to_vec();
172171

173-
new_master_playlist.alternatives = audio_renditions;
174-
new_master_playlist.alternatives.extend(video_renditions);
175-
new_master_playlist.alternatives.extend(subtitle_renditions);
176-
new_master_playlist.alternatives.extend(cc_renditions);
177-
new_master_playlist.alternatives.extend(other_renditions);
172+
master_playlist.alternatives = audio_renditions;
173+
master_playlist.alternatives.extend(video_renditions);
174+
master_playlist.alternatives.extend(subtitle_renditions);
175+
master_playlist.alternatives.extend(cc_renditions);
176+
master_playlist.alternatives.extend(other_renditions);
178177

179-
let new_master_playlist = new_master_playlist;
178+
let master_playlist = master_playlist;
180179

181180
// Start recording selected variant streams and renditions
182181
let mut join_set = JoinSet::new();
183-
for variant in &new_master_playlist.variants {
182+
for variant in &master_playlist.variants {
184183
let Some(other_attributes) = &variant.other_attributes else {
185184
continue;
186185
};
@@ -212,7 +211,7 @@ async fn record_master_playlist(
212211
.await
213212
});
214213
}
215-
for media in &new_master_playlist.alternatives {
214+
for media in &master_playlist.alternatives {
216215
let Some(media_uri) = &media.uri else {
217216
continue;
218217
};
@@ -242,7 +241,7 @@ async fn record_master_playlist(
242241
}
243242
// Write updated master playlist
244243
let master_name = "index.m3u8";
245-
write_master_playlist(&dest.join(master_name), &new_master_playlist).await?;
244+
write_master_playlist(&dest.join(master_name), &master_playlist).await?;
246245
recording
247246
.lock()
248247
.await

0 commit comments

Comments
 (0)