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 58d77d99c6751d4b0c1f561a879e789c59108222..b61f7cde0222d723639aa54bdc95cacfcdf5d410 100644 |
--- a/media/gpu/android_video_decode_accelerator_unittest.cc |
+++ b/media/gpu/android_video_decode_accelerator_unittest.cc |
@@ -251,14 +251,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 { |
@@ -277,14 +275,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_; |
@@ -354,6 +346,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)); |
@@ -410,6 +404,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_; |
@@ -554,7 +551,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(), |
@@ -671,7 +669,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 |