Skip to content

Commit 749e030

Browse files
committed
mitm: fix DPI changing: dynamically obtain service with video_configs
1 parent 1c1254f commit 749e030

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

src/mitm.rs

+18-16
Original file line numberDiff line numberDiff line change
@@ -287,22 +287,24 @@ pub async fn pkt_modify_hook(
287287

288288
// DPI
289289
if let Some(new_dpi) = dpi {
290-
// get previous/original value
291-
let prev_val = msg.services[0].media_sink_service.video_configs[0].density();
292-
// set new value
293-
msg.services[0]
294-
.media_sink_service
295-
.as_mut()
296-
.unwrap()
297-
.video_configs[0]
298-
.set_density(new_dpi.into());
299-
info!(
300-
"{} <yellow>{:?}</>: replacing DPI value: from <b>{}</> to <b>{}</>",
301-
get_name(proxy_type),
302-
control.unwrap(),
303-
prev_val,
304-
new_dpi
305-
);
290+
if let Some(svc) = msg
291+
.services
292+
.iter_mut()
293+
.find(|svc| !svc.media_sink_service.video_configs.is_empty())
294+
{
295+
// get previous/original value
296+
let prev_val = svc.media_sink_service.video_configs[0].density();
297+
// set new value
298+
svc.media_sink_service.as_mut().unwrap().video_configs[0]
299+
.set_density(new_dpi.into());
300+
info!(
301+
"{} <yellow>{:?}</>: replacing DPI value: from <b>{}</> to <b>{}</>",
302+
get_name(proxy_type),
303+
control.unwrap(),
304+
prev_val,
305+
new_dpi
306+
);
307+
}
306308
}
307309

308310
// disable tts sink

0 commit comments

Comments
 (0)