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

Unified Diff: media/filters/gpu_video_accelerator_factories.h

Issue 20632002: Add media::VideoEncodeAccelerator with WebRTC integration (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@git-svn
Patch Set: 7fd9dbd5 More debugging statements, some fixes Created 7 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: media/filters/gpu_video_accelerator_factories.h
diff --git a/media/filters/gpu_video_decoder_factories.h b/media/filters/gpu_video_accelerator_factories.h
similarity index 66%
rename from media/filters/gpu_video_decoder_factories.h
rename to media/filters/gpu_video_accelerator_factories.h
index 107e2de8c3b842daa6458bbb0034065cd646aa50..b13887fdf62c8c5a89945ce9b64eda788d84e30d 100644
--- a/media/filters/gpu_video_decoder_factories.h
+++ b/media/filters/gpu_video_accelerator_factories.h
@@ -2,11 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef MEDIA_FILTERS_GPU_VIDEO_DECODER_FACTORIES_H_
-#define MEDIA_FILTERS_GPU_VIDEO_DECODER_FACTORIES_H_
+#ifndef MEDIA_FILTERS_GPU_VIDEO_ACCELERATOR_FACTORIES_H_
+#define MEDIA_FILTERS_GPU_VIDEO_ACCELERATOR_FACTORIES_H_
#include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
#include "media/video/video_decode_accelerator.h"
+#include "media/video/video_encode_accelerator.h"
namespace base {
class MessageLoopProxy;
@@ -18,15 +20,19 @@ class SkBitmap;
namespace media {
// Helper interface for specifying factories needed to instantiate a hardware
-// video decoder.
-class MEDIA_EXPORT GpuVideoDecoderFactories
- : public base::RefCountedThreadSafe<GpuVideoDecoderFactories> {
+// video accelerator.
+class MEDIA_EXPORT GpuVideoAcceleratorFactories
+ : public base::RefCountedThreadSafe<GpuVideoAcceleratorFactories> {
public:
// Caller owns returned pointer.
- virtual VideoDecodeAccelerator* CreateVideoDecodeAccelerator(
+ virtual scoped_ptr<VideoDecodeAccelerator> CreateVideoDecodeAccelerator(
VideoCodecProfile profile,
VideoDecodeAccelerator::Client* client) = 0;
+ // Caller owns returned pointer.
+ virtual scoped_ptr<VideoEncodeAccelerator> CreateVideoEncodeAccelerator(
+ VideoEncodeAccelerator::Client* client) = 0;
+
// Allocate & delete native textures.
virtual uint32 CreateTextures(int32 count,
const gfx::Size& size,
@@ -47,7 +53,7 @@ class MEDIA_EXPORT GpuVideoDecoderFactories
// Close()ing the returned pointer.
virtual base::SharedMemory* CreateSharedMemory(size_t size) = 0;
- // Returns the message loop the VideoDecodeAccelerator runs on.
+ // Returns the message loop the video accelerator runs on.
virtual scoped_refptr<base::MessageLoopProxy> GetMessageLoop() = 0;
// Abort any outstanding factory operations and error any future
@@ -57,11 +63,14 @@ class MEDIA_EXPORT GpuVideoDecoderFactories
// Returns true if Abort() has been called.
virtual bool IsAborted() = 0;
+ // Makes a copy of |this|.
+ virtual scoped_refptr<GpuVideoAcceleratorFactories> Clone() = 0;
Ami GONE FROM CHROMIUM 2013/07/31 23:01:12 In the CL that added this to the subclass (without
+
protected:
- friend class base::RefCountedThreadSafe<GpuVideoDecoderFactories>;
- virtual ~GpuVideoDecoderFactories();
+ friend class base::RefCountedThreadSafe<GpuVideoAcceleratorFactories>;
+ virtual ~GpuVideoAcceleratorFactories();
};
} // namespace media
-#endif // MEDIA_FILTERS_GPU_VIDEO_DECODER_FACTORIES_H_
+#endif // MEDIA_FILTERS_GPU_VIDEO_ACCELERATOR_FACTORIES_H_

Powered by Google App Engine
This is Rietveld 408576698