test(lesavka): cover decoder override failures
This commit is contained in:
parent
ebe72f662d
commit
a85eb98be3
@ -342,7 +342,9 @@ mod tests {
|
|||||||
use super::{
|
use super::{
|
||||||
SOFTWARE_VIDEO_FALLBACK_ENV, adjust_effective_fps, contains_hevc_irap, contains_idr,
|
SOFTWARE_VIDEO_FALLBACK_ENV, adjust_effective_fps, contains_hevc_irap, contains_idr,
|
||||||
default_eye_fps, env_u32, env_usize, is_hardware_h264_decoder, is_hardware_hevc_decoder,
|
default_eye_fps, env_u32, env_usize, is_hardware_h264_decoder, is_hardware_hevc_decoder,
|
||||||
next_local_pts, reserve_local_pts, should_send_frame, software_video_fallback_allowed,
|
next_local_pts, pick_h264_decoder, pick_hevc_decoder, require_h264_decoder,
|
||||||
|
require_hevc_decoder, reserve_local_pts, should_send_frame,
|
||||||
|
software_video_fallback_allowed,
|
||||||
};
|
};
|
||||||
use serial_test::serial;
|
use serial_test::serial;
|
||||||
use std::sync::atomic::AtomicU64;
|
use std::sync::atomic::AtomicU64;
|
||||||
@ -467,6 +469,38 @@ mod tests {
|
|||||||
assert!(!is_hardware_hevc_decoder("libde265dec"));
|
assert!(!is_hardware_hevc_decoder("libde265dec"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[serial]
|
||||||
|
fn explicit_bad_decoder_overrides_fail_loudly_without_registry_assumptions() {
|
||||||
|
gstreamer::init().expect("initialize gstreamer registry for decoder lookup");
|
||||||
|
|
||||||
|
with_var(
|
||||||
|
"LESAVKA_H264_DECODER",
|
||||||
|
Some("definitely-not-a-decoder"),
|
||||||
|
|| {
|
||||||
|
let err = require_h264_decoder().expect_err("bogus H.264 decoder should fail");
|
||||||
|
assert!(
|
||||||
|
err.to_string().contains("not buildable"),
|
||||||
|
"unexpected H.264 override error: {err:#}"
|
||||||
|
);
|
||||||
|
assert_eq!(pick_h264_decoder(), "missing-hardware-h264dec");
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
with_var(
|
||||||
|
"LESAVKA_HEVC_DECODER",
|
||||||
|
Some("definitely-not-a-decoder"),
|
||||||
|
|| {
|
||||||
|
let err = require_hevc_decoder().expect_err("bogus HEVC decoder should fail");
|
||||||
|
assert!(
|
||||||
|
err.to_string().contains("not buildable"),
|
||||||
|
"unexpected HEVC override error: {err:#}"
|
||||||
|
);
|
||||||
|
assert_eq!(pick_hevc_decoder(), "missing-hardware-hevcdec");
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn adjust_effective_fps_keeps_current_rate_when_no_samples() {
|
fn adjust_effective_fps_keeps_current_rate_when_no_samples() {
|
||||||
assert_eq!(adjust_effective_fps(18, 12, 25, 0, 0), 18);
|
assert_eq!(adjust_effective_fps(18, 12, 25, 0, 0), 18);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user