1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
#![allow(non_upper_case_globals)] #![allow(non_camel_case_types)] #![allow(non_snake_case)] include!(concat!(env!("OUT_DIR"), "/bindings.rs")); #[cfg(test)] mod tests { use super::*; use std::ptr::null_mut; #[test] fn encode() { let mut encoder = null_mut(); let width = 32; let height = 32; unsafe { assert_eq!(WelsCreateSVCEncoder(&mut encoder), 0); assert!(!encoder.is_null()); let mut param = SEncParamBase::default(); param.iUsageType = CAMERA_VIDEO_REAL_TIME; param.fMaxFrameRate = 1.0 / 30.0; param.iPicWidth = width; param.iPicHeight = height; param.iTargetBitrate = 5000000; assert_eq!((**encoder).Initialize.unwrap()(encoder, ¶m), 0); assert_eq!((**encoder).Uninitialize.unwrap()(encoder), 0); WelsDestroySVCEncoder(encoder); } } #[test] fn decode() { let mut decoder = null_mut(); unsafe { assert_eq!(WelsCreateDecoder(&mut decoder), 0); assert!(!decoder.is_null()); let param = SDecodingParam::default(); assert_eq!((**decoder).Initialize.unwrap()(decoder, ¶m), 0); assert_eq!((**decoder).Uninitialize.unwrap()(decoder), 0); WelsDestroyDecoder(decoder); } } }