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

Unified Diff: media/base/video_capture_types.h

Issue 2415703002: Move files video_capture*.* from media/base to media/capture (Closed)
Patch Set: rebase Created 4 years, 2 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
« no previous file with comments | « media/base/ipc/media_param_traits_macros.h ('k') | media/base/video_capture_types.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/video_capture_types.h
diff --git a/media/base/video_capture_types.h b/media/base/video_capture_types.h
deleted file mode 100644
index 254083c6e2c2ea39e6c3084d1db79ae16a46bbf1..0000000000000000000000000000000000000000
--- a/media/base/video_capture_types.h
+++ /dev/null
@@ -1,150 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef MEDIA_BASE_VIDEO_CAPTURE_TYPES_H_
-#define MEDIA_BASE_VIDEO_CAPTURE_TYPES_H_
-
-#include <stddef.h>
-
-#include <vector>
-
-#include "build/build_config.h"
-#include "media/base/media_export.h"
-#include "media/base/video_types.h"
-#include "ui/gfx/geometry/size.h"
-
-namespace media {
-
-// TODO(wjia): this type should be defined in a common place and
-// shared with device manager.
-typedef int VideoCaptureSessionId;
-
-// Storage type for the pixels.
-// TODO(mcasas): http://crbug.com/504160 Consider making this an enum class.
-// TODO(chfremer): Extend or remove this enum.
-enum VideoPixelStorage {
- PIXEL_STORAGE_CPU,
- PIXEL_STORAGE_MAX = PIXEL_STORAGE_CPU,
-};
-
-// Policies for capture devices that have source content that varies in size.
-// It is up to the implementation how the captured content will be transformed
-// (e.g., scaling and/or letterboxing) in order to produce video frames that
-// strictly adheree to one of these policies.
-enum ResolutionChangePolicy {
- // Capture device outputs a fixed resolution all the time. The resolution of
- // the first frame is the resolution for all frames.
- RESOLUTION_POLICY_FIXED_RESOLUTION,
-
- // Capture device is allowed to output frames of varying resolutions. The
- // width and height will not exceed the maximum dimensions specified. The
- // aspect ratio of the frames will match the aspect ratio of the maximum
- // dimensions as closely as possible.
- RESOLUTION_POLICY_FIXED_ASPECT_RATIO,
-
- // Capture device is allowed to output frames of varying resolutions not
- // exceeding the maximum dimensions specified.
- RESOLUTION_POLICY_ANY_WITHIN_LIMIT,
-
- // Must always be equal to largest entry in the enum.
- RESOLUTION_POLICY_LAST = RESOLUTION_POLICY_ANY_WITHIN_LIMIT,
-};
-
-// Potential values of the googPowerLineFrequency optional constraint passed to
-// getUserMedia. Note that the numeric values are currently significant, and are
-// used to map enum values to corresponding frequency values.
-// TODO(ajose): http://crbug.com/525167 Consider making this a class.
-enum class PowerLineFrequency {
- FREQUENCY_DEFAULT = 0,
- FREQUENCY_50HZ = 50,
- FREQUENCY_60HZ = 60,
- FREQUENCY_MAX = FREQUENCY_60HZ
-};
-
-// Assert that the int:frequency mapping is correct.
-static_assert(static_cast<int>(PowerLineFrequency::FREQUENCY_DEFAULT) == 0,
- "static_cast<int>(FREQUENCY_DEFAULT) must equal 0.");
-static_assert(static_cast<int>(PowerLineFrequency::FREQUENCY_50HZ) == 50,
- "static_cast<int>(FREQUENCY_DEFAULT) must equal 50.");
-static_assert(static_cast<int>(PowerLineFrequency::FREQUENCY_60HZ) == 60,
- "static_cast<int>(FREQUENCY_DEFAULT) must equal 60.");
-
-// Some drivers use rational time per frame instead of float frame rate, this
-// constant k is used to convert between both: A fps -> [k/k*A] seconds/frame.
-const int kFrameRatePrecision = 10000;
-
-// Video capture format specification.
-// This class is used by the video capture device to specify the format of every
-// frame captured and returned to a client. It is also used to specify a
-// supported capture format by a device.
-struct MEDIA_EXPORT VideoCaptureFormat {
- VideoCaptureFormat();
- VideoCaptureFormat(const gfx::Size& frame_size,
- float frame_rate,
- VideoPixelFormat pixel_format);
- VideoCaptureFormat(const gfx::Size& frame_size,
- float frame_rate,
- VideoPixelFormat pixel_format,
- VideoPixelStorage pixel_storage);
-
- static std::string ToString(const VideoCaptureFormat& format);
- static std::string PixelStorageToString(VideoPixelStorage storage);
-
- // Compares the priority of the pixel formats. Returns true if |lhs| is the
- // preferred pixel format in comparison with |rhs|. Returns false otherwise.
- static bool ComparePixelFormatPreference(const VideoPixelFormat& lhs,
- const VideoPixelFormat& rhs);
-
- // Returns the required buffer size to hold an image of a given
- // VideoCaptureFormat with no padding and tightly packed.
- size_t ImageAllocationSize() const;
-
- // Checks that all values are in the expected range. All limits are specified
- // in media::Limits.
- bool IsValid() const;
-
- bool operator==(const VideoCaptureFormat& other) const {
- return frame_size == other.frame_size &&
- frame_rate == other.frame_rate &&
- pixel_format == other.pixel_format;
- }
-
- gfx::Size frame_size;
- float frame_rate;
- VideoPixelFormat pixel_format;
- VideoPixelStorage pixel_storage;
-};
-
-typedef std::vector<VideoCaptureFormat> VideoCaptureFormats;
-
-// Parameters for starting video capture.
-// This class is used by the client of a video capture device to specify the
-// format of frames in which the client would like to have captured frames
-// returned.
-struct MEDIA_EXPORT VideoCaptureParams {
- VideoCaptureParams();
-
- // Returns true if requested_format.IsValid() and all other values are within
- // their expected ranges.
- bool IsValid() const;
-
- bool operator==(const VideoCaptureParams& other) const {
- return requested_format == other.requested_format &&
- resolution_change_policy == other.resolution_change_policy &&
- power_line_frequency == other.power_line_frequency;
- }
-
- // Requests a resolution and format at which the capture will occur.
- VideoCaptureFormat requested_format;
-
- // Policy for resolution change.
- ResolutionChangePolicy resolution_change_policy;
-
- // User-specified power line frequency.
- PowerLineFrequency power_line_frequency;
-};
-
-} // namespace media
-
-#endif // MEDIA_BASE_VIDEO_CAPTURE_TYPES_H_
« no previous file with comments | « media/base/ipc/media_param_traits_macros.h ('k') | media/base/video_capture_types.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698