Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(407)

Unified Diff: content/renderer/media/android/stream_texture_wrapper_impl.cc

Issue 2480523006: Enable texture copy for webiew (Closed)
Patch Set: Addressed comments. Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/android/stream_texture_wrapper_impl.cc
diff --git a/content/renderer/media/android/stream_texture_wrapper_impl.cc b/content/renderer/media/android/stream_texture_wrapper_impl.cc
index db0428d10bd3166364f6b0478b62b405efea6ff8..14156a71bbdb921834aad1cf1253a8211c9863af 100644
--- a/content/renderer/media/android/stream_texture_wrapper_impl.cc
+++ b/content/renderer/media/android/stream_texture_wrapper_impl.cc
@@ -30,9 +30,11 @@ void OnReleaseTexture(scoped_refptr<content::StreamTextureFactory> factories,
namespace content {
StreamTextureWrapperImpl::StreamTextureWrapperImpl(
+ bool enable_texture_copy,
scoped_refptr<StreamTextureFactory> factory,
scoped_refptr<base::SingleThreadTaskRunner> main_task_runner)
- : texture_id_(0),
+ : enable_texture_copy_(enable_texture_copy),
+ texture_id_(0),
factory_(factory),
main_task_runner_(main_task_runner),
weak_factory_(this) {}
@@ -51,10 +53,11 @@ StreamTextureWrapperImpl::~StreamTextureWrapperImpl() {
}
media::ScopedStreamTextureWrapper StreamTextureWrapperImpl::Create(
+ bool enable_texture_copy,
scoped_refptr<StreamTextureFactory> factory,
scoped_refptr<base::SingleThreadTaskRunner> main_task_runner) {
- return media::ScopedStreamTextureWrapper(
- new StreamTextureWrapperImpl(factory, main_task_runner));
+ return media::ScopedStreamTextureWrapper(new StreamTextureWrapperImpl(
+ enable_texture_copy, factory, main_task_runner));
}
scoped_refptr<media::VideoFrame> StreamTextureWrapperImpl::GetCurrentFrame() {
@@ -97,8 +100,10 @@ void StreamTextureWrapperImpl::ReallocateVideoFrame(
natural_size, gfx::Rect(natural_size), natural_size,
base::TimeDelta());
- // TODO(tguilbert): Create and pipe the enable_texture_copy_ flag for Webview
- // scenarios. See crbug.com/628066.
+ if (enable_texture_copy_) {
+ new_frame->metadata()->SetBoolean(media::VideoFrameMetadata::COPY_REQUIRED,
+ true);
+ }
SetCurrentFrameInternal(new_frame);
}

Powered by Google App Engine
This is Rietveld 408576698