(config: &HwRamEncoderConfig, bitrate: u32)
| 253 | } |
| 254 | |
| 255 | pub fn check_bitrate_range(config: &HwRamEncoderConfig, bitrate: u32) -> u32 { |
| 256 | #[cfg(target_os = "android")] |
| 257 | if config.name.contains("mediacodec") { |
| 258 | let info = crate::android::ffi::get_codec_info(); |
| 259 | if let Some(info) = info { |
| 260 | if let Some(codec) = info |
| 261 | .codecs |
| 262 | .iter() |
| 263 | .find(|c| Some(c.name.clone()) == config.mc_name && c.is_encoder) |
| 264 | { |
| 265 | if codec.max_bitrate > codec.min_bitrate { |
| 266 | if bitrate > codec.max_bitrate { |
| 267 | return codec.max_bitrate; |
| 268 | } |
| 269 | if bitrate < codec.min_bitrate { |
| 270 | return codec.min_bitrate; |
| 271 | } |
| 272 | } |
| 273 | } |
| 274 | } |
| 275 | } |
| 276 | bitrate |
| 277 | } |
| 278 | } |
| 279 | |
| 280 | pub struct HwRamDecoder { |
nothing calls this directly
no test coverage detected