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

Unified Diff: content/common/gpu/media/v4l2_video_device.h

Issue 813693006: Add accelerated video decoder interface, VP8 and H.264 implementations and hook up to V4L2SVDA (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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: content/common/gpu/media/v4l2_video_device.h
diff --git a/content/common/gpu/media/v4l2_video_device.h b/content/common/gpu/media/v4l2_video_device.h
index 7bab5366f48bd9ecb0275fa1597392b677bea93d..461b8bc1216291f5d63998d6afdc4eaa9ac5dcdc 100644
--- a/content/common/gpu/media/v4l2_video_device.h
+++ b/content/common/gpu/media/v4l2_video_device.h
@@ -9,6 +9,7 @@
#ifndef CONTENT_COMMON_GPU_MEDIA_V4L2_VIDEO_DEVICE_H_
#define CONTENT_COMMON_GPU_MEDIA_V4L2_VIDEO_DEVICE_H_
+#include "base/memory/ref_counted.h"
#include "media/base/video_decoder_config.h"
#include "media/base/video_frame.h"
#include "ui/gfx/geometry/size.h"
@@ -16,18 +17,17 @@
namespace content {
-class V4L2Device {
+class V4L2Device : public base::RefCountedThreadSafe<V4L2Device> {
public:
// Utility format conversion functions
static media::VideoFrame::Format V4L2PixFmtToVideoFrameFormat(uint32 format);
static uint32 VideoFrameFormatToV4L2PixFmt(media::VideoFrame::Format format);
- static uint32 VideoCodecProfileToV4L2PixFmt(media::VideoCodecProfile profile);
+ static uint32 VideoCodecProfileToV4L2PixFmt(media::VideoCodecProfile profile,
+ bool slice_based);
static uint32_t V4L2PixFmtToDrmFormat(uint32_t format);
// Convert format requirements requested by a V4L2 device to gfx::Size.
static gfx::Size CodedSizeFromV4L2Format(struct v4l2_format format);
- virtual ~V4L2Device();
-
enum Type {
kDecoder,
kEncoder,
@@ -36,7 +36,7 @@ class V4L2Device {
// Creates and initializes an appropriate V4L2Device of |type| for the
// current platform and returns a scoped_ptr<V4L2Device> on success, or NULL.
- static scoped_ptr<V4L2Device> Create(Type type);
+ static scoped_refptr<V4L2Device> Create(Type type);
// Parameters and return value are the same as for the standard ioctl() system
// call.
@@ -98,6 +98,10 @@ class V4L2Device {
// Returns the preferred V4L2 input format or 0 if don't care.
virtual uint32 PreferredInputFormat() = 0;
+
+ protected:
+ friend class base::RefCountedThreadSafe<V4L2Device>;
+ virtual ~V4L2Device();
};
} // namespace content
« no previous file with comments | « content/common/gpu/media/v4l2_video_decode_accelerator.cc ('k') | content/common/gpu/media/v4l2_video_device.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698