OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_RENDERER_MEDIA_ANDROID_MEDIA_PLAYER_RENDERER_CLIENT_H_ | 5 #ifndef CONTENT_RENDERER_MEDIA_ANDROID_MEDIA_PLAYER_RENDERER_CLIENT_H_ |
6 #define CONTENT_RENDERER_MEDIA_ANDROID_MEDIA_PLAYER_RENDERER_CLIENT_H_ | 6 #define CONTENT_RENDERER_MEDIA_ANDROID_MEDIA_PLAYER_RENDERER_CLIENT_H_ |
7 | 7 |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/memory/weak_ptr.h" | 10 #include "base/memory/weak_ptr.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 | 70 |
71 // Called on |compositor_task_runner_| whenever |stream_texture_wrapper_| has | 71 // Called on |compositor_task_runner_| whenever |stream_texture_wrapper_| has |
72 // a new frame. | 72 // a new frame. |
73 void OnFrameAvailable(); | 73 void OnFrameAvailable(); |
74 | 74 |
75 private: | 75 private: |
76 void InitializeRemoteRenderer( | 76 void InitializeRemoteRenderer( |
77 media::DemuxerStreamProvider* demuxer_stream_provider); | 77 media::DemuxerStreamProvider* demuxer_stream_provider); |
78 void CompleteInitialization(media::PipelineStatus status); | 78 void CompleteInitialization(media::PipelineStatus status); |
79 | 79 |
| 80 void OnScopedSurfaceRequested(bool supported, |
| 81 const base::Nonce& request_token); |
| 82 |
80 // Used to forward calls to the MediaPlayerRenderer living in the Browser. | 83 // Used to forward calls to the MediaPlayerRenderer living in the Browser. |
81 std::unique_ptr<media::MojoRenderer> mojo_renderer_; | 84 std::unique_ptr<media::MojoRenderer> mojo_renderer_; |
82 | 85 |
83 // Owns the StreamTexture whose surface is used by MediaPlayerRenderer. | 86 // Owns the StreamTexture whose surface is used by MediaPlayerRenderer. |
84 // Provides the VideoFrames to |sink_|. | 87 // Provides the VideoFrames to |sink_|. |
85 media::ScopedStreamTextureWrapper stream_texture_wrapper_; | 88 media::ScopedStreamTextureWrapper stream_texture_wrapper_; |
86 | 89 |
87 media::RendererClient* client_; | 90 media::RendererClient* client_; |
88 | 91 |
89 media::VideoRendererSink* sink_; | 92 media::VideoRendererSink* sink_; |
90 | 93 |
91 scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_; | 94 scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_; |
92 | 95 |
93 // Used by |stream_texture_wrapper_| to signal OnFrameAvailable() and to send | 96 // Used by |stream_texture_wrapper_| to signal OnFrameAvailable() and to send |
94 // VideoFrames to |sink_| on the right thread. | 97 // VideoFrames to |sink_| on the right thread. |
95 scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_; | 98 scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_; |
96 | 99 |
97 media::PipelineStatusCB init_cb_; | 100 media::PipelineStatusCB init_cb_; |
98 | 101 |
99 // NOTE: Weak pointers must be invalidated before all other member variables. | 102 // NOTE: Weak pointers must be invalidated before all other member variables. |
100 base::WeakPtrFactory<MediaPlayerRendererClient> weak_factory_; | 103 base::WeakPtrFactory<MediaPlayerRendererClient> weak_factory_; |
101 | 104 |
102 DISALLOW_COPY_AND_ASSIGN(MediaPlayerRendererClient); | 105 DISALLOW_COPY_AND_ASSIGN(MediaPlayerRendererClient); |
103 }; | 106 }; |
104 | 107 |
105 } // namespace content | 108 } // namespace content |
106 | 109 |
107 #endif // CONTENT_RENDERER_MEDIA_ANDROID_MEDIA_PLAYER_RENDERER_CLIENT_H_ | 110 #endif // CONTENT_RENDERER_MEDIA_ANDROID_MEDIA_PLAYER_RENDERER_CLIENT_H_ |
OLD | NEW |