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

Unified Diff: content/renderer/media/webmediaplayer_ms.h

Issue 2472273002: Move passing of WebRTC rendering frames from main thread to compositor thread (Closed)
Patch Set: wez@ nits. 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/webmediaplayer_ms.h
diff --git a/content/renderer/media/webmediaplayer_ms.h b/content/renderer/media/webmediaplayer_ms.h
index ba92086059b4a0febb21298d2fe64109e2172b5f..0adacb2b382be2f9bc7918bc891ebf3b7322ec79 100644
--- a/content/renderer/media/webmediaplayer_ms.h
+++ b/content/renderer/media/webmediaplayer_ms.h
@@ -160,9 +160,10 @@ class CONTENT_EXPORT WebMediaPlayerMS
private:
friend class WebMediaPlayerMSTest;
- // The callback for MediaStreamVideoRenderer to signal a new frame is
- // available.
- void OnFrameAvailable(const scoped_refptr<media::VideoFrame>& frame);
+ void OnFirstFrameReceived(media::VideoRotation video_rotation,
+ bool is_opaque);
+ void OnOpacityChanged(bool is_opaque);
+
// Need repaint due to state change.
void RepaintInternal();
@@ -193,6 +194,11 @@ class CONTENT_EXPORT WebMediaPlayerMS
const base::WeakPtr<media::WebMediaPlayerDelegate> delegate_;
int delegate_id_;
+ // Inner class used for transfering frames on compositor thread to
+ // |compositor_|.
+ class FrameDeliverer;
+ std::unique_ptr<FrameDeliverer> frame_deliverer_;
+
scoped_refptr<MediaStreamVideoRenderer> video_frame_provider_; // Weak
std::unique_ptr<cc_blink::WebLayerImpl> video_weblayer_;
@@ -200,10 +206,7 @@ class CONTENT_EXPORT WebMediaPlayerMS
scoped_refptr<MediaStreamAudioRenderer> audio_renderer_; // Weak
media::SkCanvasVideoRenderer video_renderer_;
- bool last_frame_opaque_;
bool paused_;
- bool render_frame_suspended_;
- bool received_first_frame_;
media::VideoRotation video_rotation_;
scoped_refptr<media::MediaLog> media_log_;

Powered by Google App Engine
This is Rietveld 408576698