1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CONTENT_BROWSER_ANDROID_SURFACE_TEXTURE_PEER_BROWSER_IMPL_H_
6#define CONTENT_BROWSER_ANDROID_SURFACE_TEXTURE_PEER_BROWSER_IMPL_H_
7
8#include "base/compiler_specific.h"
9#include "content/common/android/surface_texture_peer.h"
10
11namespace content {
12
13// The SurfaceTexturePeer implementation for browser process.
14class SurfaceTexturePeerBrowserImpl : public SurfaceTexturePeer {
15 public:
16  // Construct a SurfaceTexturePeerBrowserImpl object. If
17  // |player_in_render_process| is true, calling EstablishSurfaceTexturePeer()
18  // will send the java surface texture object to the render process through
19  // ChildProcessService. Otherwise, it will pass the surface texture
20  // to the MediaPlayerBridge object in the browser process.
21  SurfaceTexturePeerBrowserImpl();
22  virtual ~SurfaceTexturePeerBrowserImpl();
23
24  // SurfaceTexturePeer implementation.
25  virtual void EstablishSurfaceTexturePeer(
26      base::ProcessHandle render_process_handle,
27      scoped_refptr<gfx::SurfaceTexture> surface_texture,
28      int render_frame_id,
29      int player_id) OVERRIDE;
30
31 private:
32  DISALLOW_COPY_AND_ASSIGN(SurfaceTexturePeerBrowserImpl);
33};
34
35}  // namespace content
36
37#endif  // CONTENT_BROWSER_ANDROID_SURFACE_TEXTURE_PEER_BROWSER_IMPL_H_
38