[go: nahoru, domu]

Migrate base::CancelableCallback -> Once/Repeating for migrated dirs

Use of base::CancelableCallback is deprecated in favor of the more
explicit base::Cancelable{Once,Repeating}Callback. The uses were often
missed when converting directories from base::Bind/Callback to the Once/
Repeating versions. This cl completes this conversion for directories
already marked as fixed.

A follow-up cl (crrev.com/c/2506350) will enforce a presubmit for this
deprecation on converted directories.

Bug: 1142629
Change-Id: I0453280104339d359b4a9dfa90507104d154b283
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2505963
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Chrome Cunningham <chcunningham@chromium.org>
Commit-Queue: Alex Turner <alexmt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#831014}
diff --git a/media/renderers/renderer_impl.h b/media/renderers/renderer_impl.h
index c33d290..dd5fe59 100644
--- a/media/renderers/renderer_impl.h
+++ b/media/renderers/renderer_impl.h
@@ -246,10 +246,11 @@
   bool clockless_video_playback_enabled_for_testing_;
 
   // Used to defer underflow for video when audio is present.
-  base::CancelableClosure deferred_video_underflow_cb_;
+  base::CancelableOnceClosure deferred_video_underflow_cb_;
 
-  // Used to defer underflow for audio when restarting audio playback.
-  base::CancelableClosure deferred_audio_restart_underflow_cb_;
+  // We cannot use `!deferred_video_underflow_cb_.IsCancelled()` as that changes
+  // when the callback is run, even if not explicitly cancelled.
+  bool has_deferred_buffering_state_change_ = false;
 
   // The amount of time to wait before declaring underflow if the video renderer
   // runs out of data but the audio renderer still has enough.