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

Side by Side Diff: content/common/gpu/media/android_copying_backing_strategy.h

Issue 1882373004: Migrate content/common/gpu/media code to media/gpu (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix several more bot-identified build issues Created 4 years, 8 months 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 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_COMMON_GPU_MEDIA_ANDROID_COPYING_BACKING_STRATEGY_H_
6 #define CONTENT_COMMON_GPU_MEDIA_ANDROID_COPYING_BACKING_STRATEGY_H_
7
8 #include <stdint.h>
9
10 #include "base/compiler_specific.h"
11 #include "content/common/content_export.h"
12 #include "content/common/gpu/media/android_video_decode_accelerator.h"
13
14 namespace gpu {
15 class CopyTextureCHROMIUMResourceManager;
16 }
17
18 namespace media {
19 class PictureBuffer;
20 }
21
22 namespace content {
23
24 class AVDAStateProvider;
25
26 // A BackingStrategy implementation that copies images to PictureBuffer
27 // textures via gpu texture copy.
28 class CONTENT_EXPORT AndroidCopyingBackingStrategy
29 : public AndroidVideoDecodeAccelerator::BackingStrategy {
30 public:
31 explicit AndroidCopyingBackingStrategy(AVDAStateProvider* state_provider);
32 ~AndroidCopyingBackingStrategy() override;
33
34 // AndroidVideoDecodeAccelerator::BackingStrategy
35 gfx::ScopedJavaSurface Initialize(int surface_view_id) override;
36 void Cleanup(bool have_context,
37 const AndroidVideoDecodeAccelerator::OutputBufferMap&) override;
38 scoped_refptr<gfx::SurfaceTexture> GetSurfaceTexture() const override;
39 uint32_t GetTextureTarget() const override;
40 gfx::Size GetPictureBufferSize() const override;
41 void UseCodecBufferForPictureBuffer(int32_t codec_buffer_index,
42 const media::PictureBuffer&) override;
43 void CodecChanged(
44 media::VideoCodecBridge*,
45 const AndroidVideoDecodeAccelerator::OutputBufferMap&) override;
46 void OnFrameAvailable() override;
47 bool ArePicturesOverlayable() override;
48 void UpdatePictureBufferSize(media::PictureBuffer* picture_buffer,
49 const gfx::Size& new_size) override;
50
51 private:
52 // Used for copy the texture from surface texture to picture buffers.
53 std::unique_ptr<gpu::CopyTextureCHROMIUMResourceManager> copier_;
54
55 AVDAStateProvider* state_provider_;
56
57 // A container of texture. Used to set a texture to |media_codec_|.
58 scoped_refptr<gfx::SurfaceTexture> surface_texture_;
59
60 // The texture id which is set to |surface_texture_|.
61 uint32_t surface_texture_id_;
62
63 media::VideoCodecBridge* media_codec_;
64 };
65
66 } // namespace content
67
68 #endif // CONTENT_COMMON_GPU_MEDIA_ANDROID_COPYING_BACKING_STRATEGY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698