(&self)
| 237 | } |
| 238 | |
| 239 | pub fn request_keyframe(&self) { |
| 240 | let now = now_ms(); |
| 241 | let previous = self.inner.last_keyframe_ms.load(Ordering::Relaxed); |
| 242 | if now.saturating_sub(previous) < MIN_KEYFRAME_INTERVAL_MS { |
| 243 | self.request_refresh(); |
| 244 | return; |
| 245 | } |
| 246 | self.inner.last_keyframe_ms.store(now, Ordering::Relaxed); |
| 247 | self.inner |
| 248 | .last_refresh_us |
| 249 | .store(now_us(), Ordering::Relaxed); |
| 250 | self.inner |
| 251 | .metrics |
| 252 | .keyframe_requests |
| 253 | .fetch_add(1, Ordering::Relaxed); |
| 254 | self.inner.native.request_keyframe(); |
| 255 | } |
| 256 | |
| 257 | fn request_keyframe_immediate(&self) { |
| 258 | let now = now_ms(); |
no test coverage detected