in mp4parse_capi/src/lib.rs [1583:1637]
fn arg_validation() {
unsafe {
let rv = mp4parse_new(std::ptr::null(), std::ptr::null_mut());
assert_eq!(rv, Mp4parseStatus::BadArg);
// Passing a null Mp4parseIo is an error.
let mut parser = std::ptr::null_mut();
let rv = mp4parse_new(std::ptr::null(), &mut parser);
assert_eq!(rv, Mp4parseStatus::BadArg);
assert!(parser.is_null());
let null_mut: *mut std::os::raw::c_void = std::ptr::null_mut();
// Passing an Mp4parseIo with null members is an error.
let io = Mp4parseIo {
read: None,
userdata: null_mut,
};
let mut parser = std::ptr::null_mut();
let rv = mp4parse_new(&io, &mut parser);
assert_eq!(rv, Mp4parseStatus::BadArg);
assert!(parser.is_null());
let mut dummy_value = 42;
let io = Mp4parseIo {
read: None,
userdata: &mut dummy_value as *mut _ as *mut std::os::raw::c_void,
};
let mut parser = std::ptr::null_mut();
let rv = mp4parse_new(&io, &mut parser);
assert_eq!(rv, Mp4parseStatus::BadArg);
assert!(parser.is_null());
let mut dummy_info = Mp4parseTrackInfo {
track_type: Mp4parseTrackType::Video,
..Default::default()
};
assert_eq!(
Mp4parseStatus::BadArg,
mp4parse_get_track_info(std::ptr::null_mut(), 0, &mut dummy_info)
);
let mut dummy_video = Default::default();
assert_eq!(
Mp4parseStatus::BadArg,
mp4parse_get_track_video_info(std::ptr::null_mut(), 0, &mut dummy_video)
);
let mut dummy_audio = Default::default();
assert_eq!(
Mp4parseStatus::BadArg,
mp4parse_get_track_audio_info(std::ptr::null_mut(), 0, &mut dummy_audio)
);
}
}