Commit 28d64810 authored by Mounir Lamouri's avatar Mounir Lamouri Committed by Commit Bot

VideoSurfaceLayer: remove SurfaceLayerMode::kOnDemand and chrome://flags.

kOnDemand mode isn't being used by default since M75. We are using the
opportunity to deprecate the chrome://flags.

SurfaceLayerMode is still needed because some targets need to disable
the feature.

Bug: 901513
Change-Id: Iaf55a1b583d080ce04379566aaf03deb0b9a9123
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1756396Reviewed-by: default avatarKhushal <khushalsagar@chromium.org>
Reviewed-by: default avatarFrank Liberato <liberato@chromium.org>
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#719631}
parent 6fef7b9d
...@@ -2600,10 +2600,6 @@ const FeatureEntry kFeatureEntries[] = { ...@@ -2600,10 +2600,6 @@ const FeatureEntry kFeatureEntries[] = {
{"fill-on-account-select", flag_descriptions::kFillOnAccountSelectName, {"fill-on-account-select", flag_descriptions::kFillOnAccountSelectName,
flag_descriptions::kFillOnAccountSelectDescription, kOsAll, flag_descriptions::kFillOnAccountSelectDescription, kOsAll,
FEATURE_VALUE_TYPE(password_manager::features::kFillOnAccountSelect)}, FEATURE_VALUE_TYPE(password_manager::features::kFillOnAccountSelect)},
{"enable-surfaces-for-videos",
flag_descriptions::kUseSurfaceLayerForVideoName,
flag_descriptions::kUseSurfaceLayerForVideoDescription, kOsAll,
FEATURE_VALUE_TYPE(media::kUseSurfaceLayerForVideo)},
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
{"arc-boot-completed-broadcast", flag_descriptions::kArcBootCompleted, {"arc-boot-completed-broadcast", flag_descriptions::kArcBootCompleted,
flag_descriptions::kArcBootCompletedDescription, kOsCrOS, flag_descriptions::kArcBootCompletedDescription, kOsCrOS,
......
...@@ -232,9 +232,6 @@ class CompositorImplBrowserTestRefreshRate ...@@ -232,9 +232,6 @@ class CompositorImplBrowserTestRefreshRate
public ui::WindowAndroid::TestHooks { public ui::WindowAndroid::TestHooks {
public: public:
std::string GetTestUrl() override { return "/media/tulip2.webm"; } std::string GetTestUrl() override { return "/media/tulip2.webm"; }
void AppendFeatures(std::vector<base::Feature>* features) override {
features->push_back(media::kUseSurfaceLayerForVideo);
}
// WindowAndroid::TestHooks impl. // WindowAndroid::TestHooks impl.
std::vector<float> GetSupportedRates() override { std::vector<float> GetSupportedRates() override {
......
...@@ -154,10 +154,7 @@ MediaFactory::GetVideoSurfaceLayerMode() { ...@@ -154,10 +154,7 @@ MediaFactory::GetVideoSurfaceLayerMode() {
return blink::WebMediaPlayer::SurfaceLayerMode::kNever; return blink::WebMediaPlayer::SurfaceLayerMode::kNever;
#endif // OS_ANDROID #endif // OS_ANDROID
if (base::FeatureList::IsEnabled(media::kUseSurfaceLayerForVideo)) return blink::WebMediaPlayer::SurfaceLayerMode::kAlways;
return blink::WebMediaPlayer::SurfaceLayerMode::kAlways;
return blink::WebMediaPlayer::SurfaceLayerMode::kOnDemand;
} }
MediaFactory::MediaFactory( MediaFactory::MediaFactory(
......
...@@ -371,11 +371,6 @@ const base::Feature kUseR16Texture{"use-r16-texture", ...@@ -371,11 +371,6 @@ const base::Feature kUseR16Texture{"use-r16-texture",
const base::Feature kUnifiedAutoplay{"UnifiedAutoplay", const base::Feature kUnifiedAutoplay{"UnifiedAutoplay",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
// If enabled, use SurfaceLayer instead of VideoLayer for all playbacks that
// aren't MediaStream.
const base::Feature kUseSurfaceLayerForVideo{"UseSurfaceLayerForVideo",
base::FEATURE_ENABLED_BY_DEFAULT};
// Enable VA-API hardware encode acceleration for H264 on AMD. // Enable VA-API hardware encode acceleration for H264 on AMD.
const base::Feature kVaapiH264AMDEncoder{"VaapiH264AMDEncoder", const base::Feature kVaapiH264AMDEncoder{"VaapiH264AMDEncoder",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
......
...@@ -154,7 +154,6 @@ MEDIA_EXPORT extern const base::Feature kUseFakeDeviceForMediaStream; ...@@ -154,7 +154,6 @@ MEDIA_EXPORT extern const base::Feature kUseFakeDeviceForMediaStream;
MEDIA_EXPORT extern const base::Feature kUseMediaHistoryStore; MEDIA_EXPORT extern const base::Feature kUseMediaHistoryStore;
MEDIA_EXPORT extern const base::Feature kUseNewMediaCache; MEDIA_EXPORT extern const base::Feature kUseNewMediaCache;
MEDIA_EXPORT extern const base::Feature kUseR16Texture; MEDIA_EXPORT extern const base::Feature kUseR16Texture;
MEDIA_EXPORT extern const base::Feature kUseSurfaceLayerForVideo;
MEDIA_EXPORT extern const base::Feature kVaapiH264AMDEncoder; MEDIA_EXPORT extern const base::Feature kVaapiH264AMDEncoder;
MEDIA_EXPORT extern const base::Feature kVaapiLowPowerEncoder; MEDIA_EXPORT extern const base::Feature kVaapiLowPowerEncoder;
MEDIA_EXPORT extern const base::Feature kVaapiVP8Encoder; MEDIA_EXPORT extern const base::Feature kVaapiVP8Encoder;
......
...@@ -1851,11 +1851,7 @@ void WebMediaPlayerImpl::OnMetadata(const PipelineMetadata& metadata) { ...@@ -1851,11 +1851,7 @@ void WebMediaPlayerImpl::OnMetadata(const PipelineMetadata& metadata) {
} }
if (surface_layer_mode_ == if (surface_layer_mode_ ==
blink::WebMediaPlayer::SurfaceLayerMode::kAlways || blink::WebMediaPlayer::SurfaceLayerMode::kAlways) {
(surface_layer_mode_ ==
blink::WebMediaPlayer::SurfaceLayerMode::kOnDemand &&
client_->DisplayType() ==
WebMediaPlayer::DisplayType::kPictureInPicture)) {
ActivateSurfaceLayerForVideo(); ActivateSurfaceLayerForVideo();
} else { } else {
DCHECK(!video_layer_); DCHECK(!video_layer_);
......
...@@ -326,13 +326,11 @@ class WebMediaPlayerImplTest : public testing::Test { ...@@ -326,13 +326,11 @@ class WebMediaPlayerImplTest : public testing::Test {
std::make_unique<NiceMock<MockSurfaceLayerBridge>>(); std::make_unique<NiceMock<MockSurfaceLayerBridge>>();
surface_layer_bridge_ptr_ = surface_layer_bridge_.get(); surface_layer_bridge_ptr_ = surface_layer_bridge_.get();
if (base::FeatureList::IsEnabled(kUseSurfaceLayerForVideo)) { EXPECT_CALL(client_, SetCcLayer(_)).Times(0);
EXPECT_CALL(client_, SetCcLayer(_)).Times(0); ON_CALL(*surface_layer_bridge_ptr_, GetSurfaceId())
ON_CALL(*surface_layer_bridge_ptr_, GetSurfaceId()) .WillByDefault(ReturnRef(surface_id_));
.WillByDefault(ReturnRef(surface_id_)); ON_CALL(*surface_layer_bridge_ptr_, GetLocalSurfaceIdAllocationTime())
ON_CALL(*surface_layer_bridge_ptr_, GetLocalSurfaceIdAllocationTime()) .WillByDefault(Return(base::TimeTicks()));
.WillByDefault(Return(base::TimeTicks()));
}
} }
void InitializeWebMediaPlayerImpl() { void InitializeWebMediaPlayerImpl() {
...@@ -389,9 +387,7 @@ class WebMediaPlayerImplTest : public testing::Test { ...@@ -389,9 +387,7 @@ class WebMediaPlayerImplTest : public testing::Test {
base::BindOnce(&WebMediaPlayerImplTest::CreateMockSurfaceLayerBridge, base::BindOnce(&WebMediaPlayerImplTest::CreateMockSurfaceLayerBridge,
base::Unretained(this)), base::Unretained(this)),
viz::TestContextProvider::Create(), viz::TestContextProvider::Create(),
base::FeatureList::IsEnabled(media::kUseSurfaceLayerForVideo) blink::WebMediaPlayer::SurfaceLayerMode::kAlways,
? blink::WebMediaPlayer::SurfaceLayerMode::kAlways
: blink::WebMediaPlayer::SurfaceLayerMode::kNever,
is_background_suspend_enabled_, is_background_video_playback_enabled_, is_background_suspend_enabled_, is_background_video_playback_enabled_,
true); true);
...@@ -1648,12 +1644,9 @@ TEST_F(WebMediaPlayerImplTest, NoStreams) { ...@@ -1648,12 +1644,9 @@ TEST_F(WebMediaPlayerImplTest, NoStreams) {
PipelineMetadata metadata; PipelineMetadata metadata;
EXPECT_CALL(client_, SetCcLayer(_)).Times(0); EXPECT_CALL(client_, SetCcLayer(_)).Times(0);
EXPECT_CALL(*surface_layer_bridge_ptr_, CreateSurfaceLayer()).Times(0);
if (base::FeatureList::IsEnabled(media::kUseSurfaceLayerForVideo)) { EXPECT_CALL(*surface_layer_bridge_ptr_, GetSurfaceId()).Times(0);
EXPECT_CALL(*surface_layer_bridge_ptr_, CreateSurfaceLayer()).Times(0); EXPECT_CALL(*compositor_, EnableSubmission(_, _, _, _)).Times(0);
EXPECT_CALL(*surface_layer_bridge_ptr_, GetSurfaceId()).Times(0);
EXPECT_CALL(*compositor_, EnableSubmission(_, _, _, _)).Times(0);
}
// Nothing should happen. In particular, no assertions should fail. // Nothing should happen. In particular, no assertions should fail.
OnMetadata(metadata); OnMetadata(metadata);
...@@ -1904,9 +1897,6 @@ TEST_F(WebMediaPlayerImplTest, InfiniteDuration) { ...@@ -1904,9 +1897,6 @@ TEST_F(WebMediaPlayerImplTest, InfiniteDuration) {
} }
TEST_F(WebMediaPlayerImplTest, SetContentsLayerGetsWebLayerFromBridge) { TEST_F(WebMediaPlayerImplTest, SetContentsLayerGetsWebLayerFromBridge) {
base::test::ScopedFeatureList feature_list;
feature_list.InitFromCommandLine(kUseSurfaceLayerForVideo.name, "");
InitializeWebMediaPlayerImpl(); InitializeWebMediaPlayerImpl();
PipelineMetadata metadata; PipelineMetadata metadata;
...@@ -1957,9 +1947,6 @@ TEST_F(WebMediaPlayerImplTest, PlaybackRateChangeMediaLogs) { ...@@ -1957,9 +1947,6 @@ TEST_F(WebMediaPlayerImplTest, PlaybackRateChangeMediaLogs) {
// Tests that updating the surface id calls OnPictureInPictureStateChange. // Tests that updating the surface id calls OnPictureInPictureStateChange.
TEST_F(WebMediaPlayerImplTest, PictureInPictureStateChange) { TEST_F(WebMediaPlayerImplTest, PictureInPictureStateChange) {
base::test::ScopedFeatureList feature_list;
feature_list.InitFromCommandLine(kUseSurfaceLayerForVideo.name, "");
InitializeWebMediaPlayerImpl(); InitializeWebMediaPlayerImpl();
EXPECT_CALL(*surface_layer_bridge_ptr_, CreateSurfaceLayer()); EXPECT_CALL(*surface_layer_bridge_ptr_, CreateSurfaceLayer());
......
...@@ -131,9 +131,6 @@ class WebMediaPlayer { ...@@ -131,9 +131,6 @@ class WebMediaPlayer {
// Always use VideoLayer // Always use VideoLayer
kNever, kNever,
// Use SurfaceLayer only when we switch to Picture-in-Picture.
kOnDemand,
// Always use SurfaceLayer for video. // Always use SurfaceLayer for video.
kAlways, kAlways,
}; };
......
...@@ -1109,12 +1109,8 @@ void WebMediaPlayerMS::OnFirstFrameReceived(media::VideoRotation video_rotation, ...@@ -1109,12 +1109,8 @@ void WebMediaPlayerMS::OnFirstFrameReceived(media::VideoRotation video_rotation,
OnRotationChanged(video_rotation); OnRotationChanged(video_rotation);
OnOpacityChanged(is_opaque); OnOpacityChanged(is_opaque);
if (surface_layer_mode_ == WebMediaPlayer::SurfaceLayerMode::kAlways || if (surface_layer_mode_ == WebMediaPlayer::SurfaceLayerMode::kAlways)
(surface_layer_mode_ == WebMediaPlayer::SurfaceLayerMode::kOnDemand &&
client_->DisplayType() ==
WebMediaPlayer::DisplayType::kPictureInPicture)) {
ActivateSurfaceLayerForVideo(); ActivateSurfaceLayerForVideo();
}
SetReadyState(WebMediaPlayer::kReadyStateHaveMetadata); SetReadyState(WebMediaPlayer::kReadyStateHaveMetadata);
SetReadyState(WebMediaPlayer::kReadyStateHaveEnoughData); SetReadyState(WebMediaPlayer::kReadyStateHaveEnoughData);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment