| Index: media/capture/video/shared_memory_buffer_tracker.h
|
| diff --git a/content/browser/renderer_host/media/shared_memory_buffer_handle.h b/media/capture/video/shared_memory_buffer_tracker.h
|
| similarity index 46%
|
| rename from content/browser/renderer_host/media/shared_memory_buffer_handle.h
|
| rename to media/capture/video/shared_memory_buffer_tracker.h
|
| index eaa00917ecaf6a346996aa551f6deb4a5831cd4b..1b6ceb9a6a65e286663bac142d0af9c77e2a7189 100644
|
| --- a/content/browser/renderer_host/media/shared_memory_buffer_handle.h
|
| +++ b/media/capture/video/shared_memory_buffer_tracker.h
|
| @@ -2,18 +2,39 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CONTENT_BROWSER_RENDERER_HOST_MEDIA_SHARED_MEMORY_BUFFER_HANDLE_H_
|
| -#define CONTENT_BROWSER_RENDERER_HOST_MEDIA_SHARED_MEMORY_BUFFER_HANDLE_H_
|
| +#ifndef MEDIA_CAPTURE_VIDEO_SHARED_MEMORY_BUFFER_TRACKER_H_
|
| +#define MEDIA_CAPTURE_VIDEO_SHARED_MEMORY_BUFFER_TRACKER_H_
|
|
|
| -#include "media/capture/video/video_capture_buffer_handle.h"
|
| +#include "media/capture/video/video_capture_buffer_tracker.h"
|
|
|
| -namespace content {
|
| +namespace media {
|
|
|
| -class SharedMemoryBufferTracker;
|
| +class SharedMemoryBufferHandle;
|
| +
|
| +// Tracker specifics for SharedMemory.
|
| +class SharedMemoryBufferTracker final : public VideoCaptureBufferTracker {
|
| + public:
|
| + SharedMemoryBufferTracker();
|
| +
|
| + bool Init(const gfx::Size& dimensions,
|
| + VideoPixelFormat format,
|
| + VideoPixelStorage storage_type,
|
| + base::Lock* lock) override;
|
| +
|
| + std::unique_ptr<VideoCaptureBufferHandle> GetBufferHandle() override;
|
| + mojo::ScopedSharedBufferHandle GetHandleForTransit() override;
|
| +
|
| + private:
|
| + friend class SharedMemoryBufferHandle;
|
| +
|
| + // The memory created to be shared with renderer processes.
|
| + base::SharedMemory shared_memory_;
|
| + size_t mapped_size_;
|
| +};
|
|
|
| // A simple proxy that implements the BufferHandle interface, providing
|
| // accessors to SharedMemTracker's memory and properties.
|
| -class SharedMemoryBufferHandle : public media::VideoCaptureBufferHandle {
|
| +class SharedMemoryBufferHandle : public VideoCaptureBufferHandle {
|
| public:
|
| // |tracker| must outlive SimpleBufferHandle. This is ensured since a
|
| // tracker is pinned until ownership of this SimpleBufferHandle is returned
|
| @@ -28,12 +49,12 @@ class SharedMemoryBufferHandle : public media::VideoCaptureBufferHandle {
|
| base::FileDescriptor AsPlatformFile() override;
|
| #endif
|
| bool IsBackedByVideoFrame() const override;
|
| - scoped_refptr<media::VideoFrame> GetVideoFrame() override;
|
| + scoped_refptr<VideoFrame> GetVideoFrame() override;
|
|
|
| private:
|
| SharedMemoryBufferTracker* const tracker_;
|
| };
|
|
|
| -} // namespace content
|
| +} // namespace media
|
|
|
| -#endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_SHARED_MEMORY_BUFFER_HANDLE_H_
|
| +#endif // MEDIA_CAPTURE_VIDEO_SHARED_MEMORY_BUFFER_TRACKER_H_
|
|
|