Index: media/gpu/android_video_decode_accelerator_unittest.cc |
diff --git a/media/gpu/android_video_decode_accelerator_unittest.cc b/media/gpu/android_video_decode_accelerator_unittest.cc |
index 751bc54afd9a5a8b80d947da1631fb379d59548b..5ef349c730b81c5fac9715e53f386c886de56b49 100644 |
--- a/media/gpu/android_video_decode_accelerator_unittest.cc |
+++ b/media/gpu/android_video_decode_accelerator_unittest.cc |
@@ -250,14 +250,12 @@ class FakeOverlayChooser : public NiceMock<AndroidVideoSurfaceChooser> { |
void Initialize(UseOverlayCB use_overlay_cb, |
UseSurfaceTextureCB use_surface_texture_cb, |
- StopUsingOverlayImmediatelyCB stop_immediately_cb, |
AndroidOverlayFactoryCB initial_factory) override { |
MockInitialize(); |
factory_ = std::move(initial_factory); |
use_overlay_cb_ = std::move(use_overlay_cb); |
use_surface_texture_cb_ = std::move(use_surface_texture_cb); |
- stop_immediately_cb_ = std::move(stop_immediately_cb); |
} |
void ReplaceOverlayFactory(AndroidOverlayFactoryCB factory) override { |
@@ -276,14 +274,8 @@ class FakeOverlayChooser : public NiceMock<AndroidVideoSurfaceChooser> { |
base::RunLoop().RunUntilIdle(); |
} |
- void StopImmediately(AndroidOverlay* overlay) { |
- stop_immediately_cb_.Run(overlay); |
- base::RunLoop().RunUntilIdle(); |
- } |
- |
UseOverlayCB use_overlay_cb_; |
UseSurfaceTextureCB use_surface_texture_cb_; |
- StopUsingOverlayImmediatelyCB stop_immediately_cb_; |
AndroidOverlayFactoryCB factory_; |
@@ -353,6 +345,8 @@ class AndroidVideoDecodeAcceleratorTest : public testing::Test { |
// provided with that overlay. |
std::unique_ptr<MockAndroidOverlay> overlay = |
base::MakeUnique<MockAndroidOverlay>(); |
+ overlay_callbacks_ = overlay->GetCallbacks(); |
+ |
// Set the expectations first, since ProvideOverlay might cause callbacks. |
EXPECT_CALL(codec_allocator_, |
MockCreateMediaCodecAsync(overlay.get(), nullptr)); |
@@ -409,6 +403,9 @@ class AndroidVideoDecodeAcceleratorTest : public testing::Test { |
AndroidVideoDecodeAccelerator::PlatformConfig platform_config_; |
+ // Set by InitializeAVDAWithOverlay() |
+ MockAndroidOverlay::Callbacks overlay_callbacks_; |
+ |
// We maintain a weak ref to this since AVDA owns it. |
base::WeakPtr<FakeOverlayChooser> chooser_; |
@@ -553,7 +550,8 @@ TEST_F(AndroidVideoDecodeAcceleratorTest, |
EXPECT_CALL(*codec_allocator_.most_recent_codec(), SetSurface(_)) |
.WillOnce(Return(true)); |
codec_allocator_.codec_destruction_observer()->DestructionIsOptional(); |
- chooser_->StopImmediately(codec_allocator_.most_recent_overlay()); |
+ overlay_callbacks_.SurfaceDestroyed.Run(); |
+ base::RunLoop().RunUntilIdle(); |
EXPECT_CALL(codec_allocator_, |
MockReleaseMediaCodec(codec_allocator_.most_recent_codec(), |
@@ -670,7 +668,7 @@ TEST_F(AndroidVideoDecodeAcceleratorTest, |
MockReleaseMediaCodec(codec_allocator_.most_recent_codec(), |
codec_allocator_.most_recent_overlay(), nullptr)); |
codec_allocator_.codec_destruction_observer()->ExpectDestruction(); |
- chooser_->StopImmediately(codec_allocator_.most_recent_overlay()); |
+ overlay_callbacks_.SurfaceDestroyed.Run(); |
base::RunLoop().RunUntilIdle(); |
// Verify that the codec has been released, since |vda_| will be destroyed |