| Index: content/renderer/media/android/stream_texture_factory.h
|
| diff --git a/content/renderer/media/android/stream_texture_factory.h b/content/renderer/media/android/stream_texture_factory.h
|
| index 7ba8cbd134974f2f98a42d2bf89d2db8e0e66159..a474d245814e367bacedb816cfe8f624d8faef0f 100644
|
| --- a/content/renderer/media/android/stream_texture_factory.h
|
| +++ b/content/renderer/media/android/stream_texture_factory.h
|
| @@ -41,13 +41,27 @@ class StreamTextureProxy : public StreamTextureHost::Listener {
|
| // provided callback will be run on. This can be called on any thread, but
|
| // must be called with the same |task_runner| every time.
|
| void BindToTaskRunner(
|
| - int32_t stream_id,
|
| const base::Closure& received_frame_cb,
|
| scoped_refptr<base::SingleThreadTaskRunner> task_runner);
|
|
|
| // StreamTextureHost::Listener implementation:
|
| void OnFrameAvailable() override;
|
|
|
| + // Set the streamTexture size.
|
| + void SetStreamTextureSize(const gfx::Size& size);
|
| +
|
| + // Send an IPC message to the browser process to request a java surface
|
| + // object for the given route_id. After the the surface is created,
|
| + // it will be passed back to the WebMediaPlayerAndroid object identified by
|
| + // the player_id.
|
| + void EstablishPeer(int player_id, int frame_id);
|
| +
|
| + // Sends an IPC to the GPU process.
|
| + // Asks the StreamTexture to forward its SurfaceTexture to the
|
| + // ScopedSurfaceRequestManager, using the gpu::ScopedSurfaceRequestConduit.
|
| + void ForwardStreamTextureForSurfaceRequest(
|
| + const base::UnguessableToken& request_token);
|
| +
|
| struct Deleter {
|
| inline void operator()(StreamTextureProxy* ptr) const { ptr->Release(); }
|
| };
|
| @@ -55,7 +69,7 @@ class StreamTextureProxy : public StreamTextureHost::Listener {
|
| friend class StreamTextureFactory;
|
| explicit StreamTextureProxy(StreamTextureHost* host);
|
|
|
| - void BindOnThread(int32_t stream_id);
|
| + void BindOnThread();
|
| void Release();
|
|
|
| const std::unique_ptr<StreamTextureHost> host_;
|
| @@ -78,31 +92,17 @@ class CONTENT_EXPORT StreamTextureFactory
|
| static scoped_refptr<StreamTextureFactory> Create(
|
| scoped_refptr<ContextProviderCommandBuffer> context_provider);
|
|
|
| - // Create the StreamTextureProxy object.
|
| - StreamTextureProxy* CreateProxy();
|
| -
|
| - // Send an IPC message to the browser process to request a java surface
|
| - // object for the given stream_id. After the the surface is created,
|
| - // it will be passed back to the WebMediaPlayerAndroid object identified by
|
| - // the player_id.
|
| - void EstablishPeer(int32_t stream_id, int player_id, int frame_id);
|
| -
|
| - // Sends an IPC to the GPU process.
|
| - // Asks the StreamTexture to forward its SurfaceTexture to the
|
| - // ScopedSurfaceRequestManager, using the gpu::ScopedSurfaceRequestConduit.
|
| - void ForwardStreamTextureForSurfaceRequest(
|
| - int32_t stream_id,
|
| - const base::UnguessableToken& request_token);
|
| -
|
| - // Creates a gpu::StreamTexture and returns its id. Sets |*texture_id| to the
|
| - // client-side id of the gpu::StreamTexture. The texture is produced into
|
| - // a mailbox so it can be shipped in a VideoFrame.
|
| - unsigned CreateStreamTexture(unsigned texture_target,
|
| - unsigned* texture_id,
|
| - gpu::Mailbox* texture_mailbox);
|
| -
|
| - // Set the streamTexture size for the given stream Id.
|
| - void SetStreamTextureSize(int32_t texture_id, const gfx::Size& size);
|
| + // Create the StreamTextureProxy object. This internally calls
|
| + // CreateSteamTexture with the recieved arguments. CreateSteamTexture
|
| + // generates a texture and stores it in *texture_id, the texture is produced
|
| + // into a mailbox so it can be shipped in a VideoFrame, it creates a
|
| + // gpu::StreamTexture and returns its route_id. If this route_id is invalid
|
| + // nullptr is returned and *texture_id will be set to 0. If the route_id is
|
| + // valid it returns StreamTextureProxy object. The caller needs to take care
|
| + // of cleaning up the texture_id.
|
| + StreamTextureProxy* CreateProxy(unsigned texture_target,
|
| + unsigned* texture_id,
|
| + gpu::Mailbox* texture_mailbox);
|
|
|
| gpu::gles2::GLES2Interface* ContextGL();
|
|
|
| @@ -111,6 +111,12 @@ class CONTENT_EXPORT StreamTextureFactory
|
| StreamTextureFactory(
|
| scoped_refptr<ContextProviderCommandBuffer> context_provider);
|
| ~StreamTextureFactory();
|
| + // Creates a gpu::StreamTexture and returns its id. Sets |*texture_id| to the
|
| + // client-side id of the gpu::StreamTexture. The texture is produced into
|
| + // a mailbox so it can be shipped in a VideoFrame.
|
| + unsigned CreateStreamTexture(unsigned texture_target,
|
| + unsigned* texture_id,
|
| + gpu::Mailbox* texture_mailbox);
|
|
|
| scoped_refptr<ContextProviderCommandBuffer> context_provider_;
|
| scoped_refptr<gpu::GpuChannelHost> channel_;
|
|
|